2012-03-25 66 views
2

我想通過Google Analytics跟蹤導致404的路徑。Google Analytics - Track 404 referer

我的谷歌Analytics(分析)JS:

<script type="text/javascript"> 
    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-11111111-1']); 
    _gaq.push(['_setDomainName', 'example.com']); 
    _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); 
    })(); 
</script> 

引薦JS:在我的分析概覽

<script type="text/javascript"> 
try{ 
var pageTracker = _gat._getTracker("UA-11111111-1"); 
pageTracker._trackPageview("/404.html?page=" + document.location.pathname + document.location.search + "&from=" + document.referrer); 
} catch(err) {} 
</script> 

即使4天后等待什麼也不顯示。 (我自己造成了一些404錯誤) 是否有任何worng與代碼?

回答

7

您正在混合異步和非異步GA代碼,這可能會導致不可預知的結果。

整個後者腳本塊可以被替換爲:

_gaq.push(["_trackPageview", "/404.html?page=" + document.location.pathname +  document.location.search + "&from=" + document.referrer]); 

然而,你可能要考慮使用事件跟蹤,並沒有超載瀏覽量資料,因爲該格式可以是難讀,難分析,並表示因爲你發送了兩次網頁的404,沒有404將永遠被記錄爲反彈(這是不太可能是這種情況)。

_gaq.push(["_trackEvent", "404", location.pathname + location.search, document.referrer, 0, true]); 

這將發送非互動事件,所以它不僅會讓你弄清楚你的404s在哪裏是,它不會影響您的跳出率,並且它可以讓您通過引薦來源和404'ed着陸頁對數據進行分組。

+0

在我的活動中,只有「404」沒有顯示「路徑名」。是否需要設置爲** document.location.pathname的** **不是** location.pathname還是什麼原因造成的?謝謝。 – Tom 2012-03-29 12:45:57