2010-12-14 80 views
2

我正在嘗試在跟蹤表單提交成功的聯繫表單上設置自定義變量。但是,在我的谷歌分析頁面中,自定義變量未顯示在訪問者 - >自定義變量中。我知道它需要幾個小時才能刷新,但已經過了一個星期。所以,我的基本假設是它不起作用。我正在使用async _gaq.push()來實現此目的。基本上,我設置自定義變量我的ajax函數調用後提交的聯繫方式,並在回調函數,如果成功,我設置如下:Google Analytics - 設置自定義變量失敗!

_gaq.push(['_setCustomVar', 1, 'contact', 'success', 3]); 

這是我的谷歌分析代碼的頭部。

var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-xxxxx-x']); //my google analytic api key 
_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); 
})(); 

其實一個更好的問題是,沒有一個_gaq.push(['_trackPageview']);需要爲它「註冊」的_setCustomVar呼叫被一個_gaq.push(['_setCustomVar', 1, 'contact', 'success', 3]);後調用,併爲它確定爲我DOM是通過加載之後調用不止一次_gaq.push(['_trackPageview']);更多JavaScript(天氣它關閉事件或回調ajax函數)。多謝你們。

回答

4

setCustomVar必須被髮送到谷歌的請求之前設定。它沒有設置它自己的請求;它只是將該變量隨時在該頁面會話中隨時發送。

如果設置後的瀏覽量,以及任何請求之前的頁面更改發送到谷歌分析(如製作網頁瀏覽或事件跟蹤調用),那麼谷歌將永遠不會收到您的自定義變量中的數據。

因此,如果您在初始瀏覽量之前無法設置變量,則需要生成第二個瀏覽量。或者,您可以進行Google Analytics事件跟蹤調用,該調用也可以將自定義變量帶到Google Analytics中。

所以,你需要做的是直接在setCustomVar設置後再次調用做這樣的事情:

_gaq.push(['_setCustomVar', 1, 'contact', 'success', 3]); 
_gaq.push(['_trackEvent', 'contact', 'success',"", 0, true]); 
+0

我可以做_gaq.push(['_ setCustomVar',1,'contact','success',3],['_trackEvent','contact','success']); – kjy112 2010-12-14 19:39:26

+0

是的,那有效。 – Yahel 2010-12-14 19:50:36

+0

也從我讀的谷歌解析他們提出_gaq.push()聽起來像一個Ajax調用服務器,因此,我認爲它會每次更新_gaq.push(); – kjy112 2010-12-14 19:51:24

0

您是否試過_setVar?我們仍在使用跟蹤的老方法,但是這是我們使用的代碼:

try { 
var pageTracker = _gat._getTracker("UA-xxxxxxx-x"); 
pageTracker._setVar('custom value goes here'); 
pageTracker._trackPageview(); 
} catch(err) {} 
+0

_setVar的作品,但我想用setCustomVar。實際上可以調用pageTracker._trackPageview();不止一次? – kjy112 2010-12-14 18:11:49

相關問題