GA域哈希值的介绍
**域哈希值是GA用来代表你的网站的固定长度的数值。Google Analytics哈希值算法的运作机制,请见:
http://www.google.com/support/forum/p/Google+Analytics/thread?tid=626b0e277aaedc3c&hl=en
默认情况下(未使用setDomainName()的情况下),GA会为每一个二级域名指定不同的域哈希值。如果使用setDomainName()的话,域哈希值会发生变化,
**GA跨域跟踪的最佳实践
假如你的网站有多个子域,比如www.cloga.info和bbs.cloga.info,如果你使用一个网络资源ID来跟踪这两个子域。默认情况下,GA会将这两个网站单独设置Cookie,每一个网站的访问数会单独计数,两个子域之间的链接会显示为引荐来源。
比如,访问者A从百度来到了www.cloga.info,GA会记录到来自百度的一次访问,访问者A随后从www.cloga.info的链接来到了bbs.cloga.info,GA会记录到来自www.cloga.info的一次引荐访问(两个域的哈希值不同)。本来的一次访问会记录为两次访问。
如果你希望将cloga.info这个主域作为一个整体。则需要使用GA的跨域跟踪。GA跨域跟踪代码的实例如下:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-18159656-1']);
_gaq.push(['_setDomainName','.cloga.info']);
_gaq.push(['_setAllowHash',false]);
_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>
这里比默认的跟踪代码多使用了两个函数:
setDomainName(“.cloga.info”):设置主域名,主域名下的所有子域都可能共享cookie
setAllowHash(false):关闭域哈希值,将域哈希值强制设置为1
GA跨域跟踪官方文档:
http://code.google.com/intl/zh-CN/apis/analytics/docs/tracking/gaTrackingSite.html
这里有个比较邪恶的想法:可以通过在页面中进行使用setDomainName()与不使用setDomainName()的混搭来使GA跟踪到流量翻N倍,N决定于你的平均页面浏览深度。
**GA多跟踪器的使用
**异步的GA代码使用push数组的方式向GA服务器发送跟踪器对象方法名称及参数。其实其中包含一个名称为””的跟踪器(Tracker)。默认情况下,GA代码仅包含一个跟踪器。当需要为一个使用网站使用多个跟踪器(即使用多个网络资源ID收集同一个网站的数据)时,需要按照GA多跟踪器来部署GA。
仅使用默认单独GA代码跟踪单一二级域的流量信息时,可以简单将两段GA代码粘贴到网页源码中,也可以将两个跟踪器写在一个JS中,不需要为每个跟踪器单独指定名称。
但是当使用了进行了自定义设置(比如设定主域名称、虚拟综合浏览量和电子商务跟踪等)的GA代码跟踪时,需要为每个跟踪器指定名称。
因为不指定跟踪器名称,则JS会将最后一个push数据里的网络资源ID作为跟踪器的网络资源ID。使用虚拟页面浏览时,这个页面浏览的信息只会发送给最后一个网络资源ID。