Google Analytics推出異步追蹤(Asynchronous Tracking)已經(jīng)有一陣子了,并且現(xiàn)在對(duì)于新創(chuàng)建的賬戶和配置文件都只提供最新的異步追蹤代碼。有傳言說(shuō)這是因?yàn)镚oogle將把網(wǎng)頁(yè)加載速度加入到網(wǎng)站搜索排名的算法中。而新的追蹤代碼將以異步的方式加載,相對(duì)于傳統(tǒng)的追蹤代碼,實(shí)施了異步追蹤的網(wǎng)頁(yè)加載速度會(huì)更快。 藍(lán)鯨網(wǎng)站分析筆記 Original Source
異步追蹤的優(yōu)勢(shì)
頁(yè)面加載速度快
異步追蹤使用異步的方式加載代碼,提高了JavaScript的加載速度,并且不會(huì)對(duì)頁(yè)面中的其他內(nèi)容產(chǎn)生影響。
追蹤數(shù)據(jù)更準(zhǔn)確
異步追蹤代碼放在頁(yè)面的頂部,</head>之前。與傳統(tǒng)追蹤代碼相比減少了因?yàn)樽粉櫞a沒(méi)有被及時(shí)加載而丟失訪客記錄的可能。
傳統(tǒng)的追蹤代碼中,如果定制追蹤的事件在ga.js文件加載前被觸發(fā),這個(gè)事件可能無(wú)法被記錄到。使用異步追蹤將可以記錄到。
異步追蹤的定制和實(shí)施
異步追蹤代碼不能和傳統(tǒng)的追蹤代碼在一個(gè)頁(yè)面中同時(shí)使用,但可以在不同的頁(yè)面中分別使用。例如在網(wǎng)站的一部分頁(yè)面中使用傳統(tǒng)追蹤代碼,在另一部分網(wǎng)頁(yè)中使用異步追蹤代碼。Google官方建議將異步追蹤代碼放置在頁(yè)面頂部的</head>之前,不過(guò)你也可以按照原來(lái)的方式依然將代碼放置在頁(yè)面尾部</body>前。甚至可以將代碼分割開,分別放置在頁(yè)面頂部和尾部。
<html>
<head>
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
</script>
</head>
<body>
<p>bluewhale.cc </p>
<script> ?(function() {
var ga = document.createElement(’script’); ? ? ga.type = ‘text/javascript’; ga.async = true;
ga.src = ‘ http://bluewhale.cc/ga.js’;
var s = document.getElementsByTagName(’script’)[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>
同樣異步追蹤代碼也可以通過(guò)簡(jiǎn)單的定制來(lái)提高效率。在上面標(biāo)紅的部分中減少了對(duì)頁(yè)面類型的判斷過(guò)程,同時(shí)從本地調(diào)用ga.js文件。如果你的網(wǎng)站是第一次添加Google Analytics,直接在頁(yè)面中相應(yīng)的位置粘帖代碼就可以了。如果之前使用的是傳統(tǒng)追蹤,并且進(jìn)行過(guò)代碼定制,要遷移到異步追蹤就比較復(fù)雜了。
異步追蹤代碼的遷移
異步追蹤代碼和傳統(tǒng)的追蹤代碼在語(yǔ)法上有很多差異,在遷移時(shí)除了替換主要的追蹤代碼外,還要對(duì)定制的部分一一修改。下面以我的博客為例說(shuō)明下具體過(guò)程。
遷移前的準(zhǔn)備工作
首先,將頁(yè)面中的傳統(tǒng)追蹤代碼復(fù)制到一個(gè)txt文件中。并對(duì)追蹤代碼和網(wǎng)站中所有的定制內(nèi)容進(jìn)行記錄。
然后,將異步追蹤中相對(duì)應(yīng)的定制語(yǔ)法保存在另一個(gè)txt文件中。并按照傳統(tǒng)代碼的內(nèi)容進(jìn)行定制修改。
傳統(tǒng)追蹤代碼,其中藍(lán)色部分是定制內(nèi)容。
<!–GA tracking code begin–>
<script type=”text/javascript” src=”http://www.google-analytics.com/ga.js”></script>
<script type=”text/javascript”>
var pageTracker = _gat._getTracker(“UA-12347890-1″);
pageTracker._addOrganic(“soso”, “w”);
pageTracker._addOrganic(“sogou”, “query”);
pageTracker._addOrganic(“yodao”, “q”);
pageTracker._trackPageview();
</script>
<!–GA tracking code end–>
異步追蹤中相對(duì)應(yīng)的定制語(yǔ)法
_gaq.push(['_addOrganic', 'soso', 'w']);
_gaq.push(['_addOrganic', 'yodao', 'q']);
_gaq.push(['_addOrganic', 'sogou', 'query']);
異步追蹤代碼遷移
異步追蹤代碼遷移前,先刪除網(wǎng)站頁(yè)面代碼中所有的傳統(tǒng)追蹤代碼,然后粘帖新的異步追蹤代碼。同時(shí)用新的異步追蹤定制追蹤逐一替換傳統(tǒng)的定制追蹤。
遷移后的異步追蹤代碼
<!–GA tracking code begin–>
<script type=”text/javascript”>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-12347890-1']);
_gaq.push(['_addOrganic', 'soso', 'w']);
_gaq.push(['_addOrganic', 'yodao', 'q']);
_gaq.push(['_addOrganic', 'sogou', 'query']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement(’script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = ‘http://www.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(’script’)[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<!–GA tracking code end–>
常用定制追蹤方法對(duì)比
以下是一些常用的定制追蹤方法。在進(jìn)行代碼遷移時(shí)非常有用。前面的是傳統(tǒng)追蹤代碼,后面是相對(duì)應(yīng)的異步追蹤代碼。
虛擬頁(yè)面:
<a href=”http://bluewhale.cc”onClick=”javascript:pageTracker._trackPageview(‘/go/bluewhale.cc’);”>藍(lán)鯨網(wǎng)站分析筆記</a>
<a href=” http://bluewhale.cc”onClick=”javascript: _gaq.push(['_trackPageview', ‘/go/bluewhale.cc’]);”>藍(lán)鯨網(wǎng)站分析筆記</a>
跨域追蹤:
pageTracker._setDomainName(‘none’);
pageTracker._setAllowLinker(true);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);
事件追蹤:
<a onclick=”pageTracker._trackEvent(‘category’, ‘a(chǎn)ction’, ‘opt_label’, opt_value);”> 藍(lán)鯨網(wǎng)站分析筆記</a>
<a onclick=”_gaq.push(['_trackEvent', 'category', 'action', 'opt_label', opt_value]);”> 藍(lán)鯨網(wǎng)站分析筆記</a>
搜索引擎,關(guān)鍵詞,推介:
pageTracker._addIgnoredOrganic(‘藍(lán)鯨網(wǎng)站分析筆記’); //將搜索關(guān)鍵字歸為直接訪問(wèn)
pageTracker._addIgnoredRef(‘bluewhale.cc’); //將推介流量歸為直接流量
pageTracker._addOrganic(’sogou’, ‘query’); //增加新的搜索引擎
_gaq.push(['_addIgnoredOrganic', '藍(lán)鯨網(wǎng)站分析筆記']);
_gaq.push(['_addIgnoredRef', ''bluewhale.cc ']);
_gaq.push(['_addOrganic', 'sogou', 'query']);
訪問(wèn)有效時(shí)間:
pageTracker._setSessionCookieTimeout(3600000);
_gaq.push(['_setSessionCookieTimeout', 3600000]);
電子商務(wù)追蹤:
var pageTracker = _gat._getTracker(‘ UA-12347890-1′);
pageTracker._trackPageview();
pageTracker._addTrans(”, ”, ”, ”, ”, ”, ”, ” );
pageTracker._addItem(”,”,”,”,”,”);
pageTracker._trackTrans();
_gaq.push(['_setAccount', ' UA-12347890-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['_addTrans', ('', '', '', '', '', '', '', '' ]);
_gaq.push(['_addItem', '','','','','','']);
_gaq.push(['_trackTrans']);