2013-04-15 79 views
8

我創建了我的谷歌分析帳戶。並複製粘貼到我的index.php文件提供的代碼。在我看來,它可以正常工作,因爲我可以通過螢火蟲看到對www.google-analytics.com的呼叫。如何在Google Analytics中設置AJAX呼叫跟蹤?

現在我想跟蹤通過索引文件中的ajax調用'functions.php'多少次。

我試圖用_gaq.push(['_trackPageview', 'functions.php']);,但它給了我Uncaught ReferenceError: _gaq is not defined。所以我添加了var _gaq = _gaq || [];到我的代碼。錯誤消失了,但在ajax完成後,我看不到任何對www.google-analytics.com的調用。

有人可以幫我設置它,所以分析會跟蹤Ajax調用嗎?

我的代碼看起來像

<script type='text/javascript'> 
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
     m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
     })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

      ga('create', 'UA-1234556-1', 'domain.com'); 
      ga('send', 'pageview'); 

     var _gaq = _gaq || []; 

     function submit_data(){ 

       var text_area=$('#textarea').val(); 
       var url ="functions.php"; 
       jQuery.ajax({ 
        type: "get", 
        dataType: "text", 
        url: url, 
        data: { 
         what : "generate", 
         text_area: text_area, 
         t: Math.random() 
        }, 
         success: function(data, textStatus){ 
         $('#textarea').val(data); 
//      _gaq.push(['_setAccount', 'UA-12345-1']); 
         _gaq.push(['_trackPageview', 'functions.php']); 
         } 
       }); 
     } 

     </script> 
+0

您有混合的異步和普遍分析語法。你需要使用或不使用兩者。 – Eduardo

回答

3

你看上去混合異步分析(ga.js_gaq.push())通用Analytics(analytics.jsga()通話),但我沒有看到任何代碼初始化ga.js

嘗試改變

var _gaq = _gaq || []; 

var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-12345-1']); 
_gaq.push(['_trackPageview']); 

(function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
})(); 
+0

現在工作。謝謝。 – Radek

1

是的,你的谷歌Analytics(分析)腳本之後,只需添加此定義_gaq陣列:

var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-65432-1']); 
_gaq.push(['_trackPageview']); 
6

如果您使用通用分析(analytics.js)然後切換此:

_gaq.push(['_trackPageview', 'functions.php']); 

這樣:

ga('send', 'pageview', 'functions.php'); 
13

我認爲,在谷歌Analytics(分析)檢查您選擇「通用Analytics(分析)」,它採用了全新的代碼計數器。 在瀏覽器DOM中查看,沒有對象「_gaq」 - 因此是一個錯誤。您試圖用空數組(_gaq)修復它。
舊代碼:

var _gaq = _gaq | | [];
_gaq.push(['_setAccount','UA-XXXXXX-1']);

不要使用舊的代碼! (你不能使用多個代碼反 'UA-XXXXXX-1' - 這是錯誤的)
新代碼:

GA( '創造', 'UA-XXXXXXX-1', 'mysite.com' );
ga('send','pageview');

新計數器Google有一個新的語法。
文檔上使用事件:https://developers.google.com/analytics/devguides/collection/analyticsjs/events
使用示例:
我頁面上的計算器,我想通過它按一個鍵來跟蹤事件。
類別 - 「使用計算器」;
事件 - 「計算成本」。
舊代碼:

_gaq.push([ '_ trackEvent', '使用計算器', '計算成本');

新代碼:

GA( '發送', '事件', '使用計算器', '計算成本');

類別和事件 - 是必需的!
P.S.:Sorry。我的英語很差,我用谷歌翻譯:)

UPD:

<script type='text/javascript'> 

    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
     m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
     })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 
//Use once per page 
     ga('create', 'UA-1234556-1', 'domain.com'); 
     ga('send', 'pageview'); 
     // 
     function submit_data(){ 

       var text_area=$('#textarea').val(); 
       var url ="functions.php"; 
       jQuery.ajax({ 
        type: "get", 
        dataType: "text", 
        url: url, 
        data: { 
         what : "generate", 
         text_area: text_area, 
         t: Math.random() 
        }, 
         success: function(data, textStatus){ 
         $('#textarea').val(data); 
         ga('send', 'event', 'MyCategory', 'functions.php'); 
         } 
       }); 
     } 

</script> 
相關問題