2013-06-20 50 views
0

在我正在處理的網站上,跟蹤代碼的主要部分位於頁面的底部(不是我選擇的展示位置,但這是在哪兒)。該代碼是主要的:Google Analytics(分析) - 單獨的<script>中的事件跟蹤代碼,比頁面跟蹤代碼

var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']); 
    _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); 
})(); 

在一個特定的頁面上,我想跟蹤頁面加載時自動啓動的事件。我有代碼的頁面(因此比上面的代碼的單獨標籤)的頂部是:

function getFile() 
{ 
    if("<%= getFileURL()%>".length>0){ 
    window.location.href = "<%=getFileURL() %>"; 
    var _gaq = _gaq || []; 
    _gaq.push(['_trackEvent', 'Downloads', '<%= getFileURL()%>']); 
    } 
} 

它似乎並不雖然被跟蹤的事件。我確信我在這裏做錯了事,我可以猜測一下,但是我不清楚我需要改變什麼。

+0

您需要延遲重定向。否則,在事件被跟蹤之前頁面被卸載。 – datasage

回答

1

兩個問題與您的代碼:

  1. 您跟蹤事件之前要重定向。爲了獲得最佳結果(如提到的@EkoostikMartin),您需要在事件跟蹤和重定向之間稍稍延遲。
  2. 您在getFile()中定義了本地_gaq,因此您並未與實際的Google分析代碼進行對話。

嘗試:

function getFile() { 
    var href = "<%=getFileURL() %>"; 
    if (href.length > 0) { 
    _gaq.push(['_trackEvent', 'Downloads', href]); 
    setTimeout(function(){window.location.href = href}, 100); 
    } 
} 
+0

我正在給這個鏡頭。這將是一段時間,直到我會知道它是否有效。 – Kurt

+0

一天後又修復了這個問題。謝謝! – Kurt

1

您需要延遲重定向。事情是這樣的下方在過去爲我工作:

function getFile() { 
    var href = "<%=getFileURL() %>"; 

    if(href){  
    _gaq.push(['_trackEvent', 'Downloads', href]); 
    setTimeout("gotoUrl('" + href + "')", 100); 
    } 
}; 

function gotoUrl(href) { 
    window.location.href = href; 
}; 
相關問題