我跟蹤一個網站,刊載我的一個項目,這個代碼在下載按鈕點擊:跟蹤下載按鈕點擊與分析利用事件
function trackDownload(link) {
try {
_gaq.push(['_trackEvent', 'Downloads', 'Click', 'Setup executable']);
setTimeout('document.location = "' + link.href + '"', 100);
} catch (err) {}
return false;
}
而且按鈕的東西爲:
<a href="files/setup.exe" onclick="return trackDownload(this);">Download</a>
因此,當用戶點擊它時,會將事件推送到Google Analytics,然後用戶被重定向到該文件。
這也適用於外部鏈接跟蹤,沒有區別。
現在我的問題。 我可以確定在用戶重定向之前,Analytics事件是「已處理」的嗎?如果不是,那麼重定向會導致事件丟失?目前正在跟蹤事件,但我無法確定它們是全部是。
我讀書,我也可以嘗試的東西有點不同,推重定向功能到分析隊列:
_gaq.push(function() { document.location = link.href; });
但是,如果這個工程現在還不清楚,或者如果它只是相當於以前的一個。實際上,here據說「調用_gaq.push [...]執行命令,因爲它們被按下」「。
也許我可以在我發佈的'_gaq'中推送重定向,然後在'catch'塊中重複一遍,並在更遲的'setTimeout'(一兩秒)中重複。所以如果'_gaq'出現問題,我可以肯定用戶遲早會被重定向。 –
我同意延遲的setTimeout是處理不分析案例的方式。但是,我認爲一兩秒鐘可能會快一點。另外,我只注意到catch塊是不需要的 - 我會更新我的答案。 –
事實上,我不記得爲什麼我把這個'try..catch'塊:)關於超時:我可以設置一個更長的一個(5秒)和點擊時按鈕上的微調。所以更快的用戶不會有這種感覺,沒有什麼事情發生...... –