Google Analytics发布异步跟踪
Google Analytics 为网站统计提供了一个新的跟踪代码方式。这种方式可以理解为使用一个独立的通道处理网页统计,以减少网页载入的时间。大量使用js和富媒体内容的用站效果尤其明显,当然轻量级的站点也有改善。
新的代码提供了以下等新特性:
1、代码载入速度更快
2、增强数据采集和准确度
3、解决当js没有完全载入时产生的依赖性问题
异步跟踪代码正处于beta的状态,如果想改善网页载入时间和数据采集准确性,确实值得一试。
使用这个新功能需要更改加载在页面中的代码和不同的API调用语法。如果页面已经使用了Google Analytics统计,为了减少错误,官方的建议是先移除所有的代码及自定义内容,然后将下面这段在head中载入,它不会影响到其他JS的加载:
也可以分开放,在head放,如:
然后在/body前放:
异步代码语法的部署,传统型代码这么写:
var pageTracker = _gat._getTracker('UA-XXXXX-X');
pageTracker._trackPageview();
异步就要这么写:
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
如果部署多个ID:
_gaq.push(['_setAccount', 'UA-XXXXX-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['t2._setAccount', 'UA-XXXXX-2']);
_gaq.push(['t2._trackPageview']);
_gaq.push(['t3._setAccount', 'UA-XXXXX-3']);
_gaq.push(['t3._trackPageview']);
这里的t2、t3是可以随便定义的。
HTML事件处理:
定义函数:
_gaq.push(['myTracker._setAccount', 'UA-XXXXX-X']);
_gaq.push(function() {
var pageTracker = _gaq._getAsyncTracker('myTracker');
var link = document.getElementById('my-link-id');
link.href = pageTracker._getLinkerUrl('http://example.com/');
});
关于_gaq这个对象,更详细的介绍请看google的文档:
http://code.google.com/apis/analytics/docs/gaJS/gaJSApi_gaq.html
异步代码详细部署请看:
http://code.google.com/apis/analytics/docs/tracking/asyncMigrationExamples.html
欢迎twitter进行交流,@sluke520