2011-03-23 75 views
0

您好iam使用下面的ga代碼來修改在谷歌分析顯示的網址,但它不起作用。試圖修改在谷歌分析顯示的網址

<script type="text/javascript">  
var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-22140531-1']); 
_gaq.push(['_trackPageview']); 

var pageTracker = _gat._getTracker("UA-22140531-1"); 
pageTracker._trackPageview("change_password"); 

(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); 
})(); 
</script> 

當我看到我的谷歌分析代碼的頂部內容訪問的頁面的網址,以獲取顯示,但我想,這是我在pageTracker._trackPageview使用的名稱()應該得到顯示方法。 上面的代碼不適用於我。上述代碼中的問題是什麼?

回答

3

您正在使用跟蹤代碼的異步版本,然後嘗試從_gat對象獲取pageTracker。但是,它在運行時不存在,因爲ga.js腳本尚未加載。這就是異步代碼使用名爲_gaq的對象的原因。這是當ga.js完成加載時要執行的操作隊列。你需要給它添加如下跟蹤來電:

<script type="text/javascript"> 

    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']); 
    _gaq.push(['_trackPageview', 'change_password']); 


    (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); 
    })(); 

</script> 

可以從此,原來pageTracker._trackPageview("change_password");電話已經更改爲_gaq.push(['_trackPageview', 'change_password']);看到。您將要調用的方法名稱作爲數組的第一個元素,並將參數放入後續部分。

注意:我已將帳號更改爲UA-XXXXXXXX-X,因此它不是公開可見的。您需要將其更改回原始。

您可以在以下地址瞭解有關使用異步跟蹤代碼的更多信息:http://code.google.com/apis/analytics/docs/tracking/asyncUsageGuide.html

+0

是正確的。 ** _ gaq.push(['_ trackPageview','change_password'])**是異步跟蹤器的正確語法。 ** pageTracker._trackPageview **是舊版跟蹤器的語法。 – Ciaran 2011-03-23 10:08:18