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
GA4Typecho里,把UA-XXXXX-X 换成
'. Typecho_Widget::widget('Widget_Options')->plugin('GoogleAnalyticsHelper')->GAID .'
就可以了吗?
因为一直使用GG AD,所以总是不敢用ANALYTICS,用了几天赶紧撤掉了,感觉还是留点秘密好。另外,感觉载入速度更多还是依赖服务器性能,JS差异并不大,因为代码需要的信息无非那么多。
采用异步的话,对载入速度提高还是很明显的
在未载入ga.js之前,_gaq是个全局数组,所有预加载的函数信息都保存在_gaq里,等ga.js加在之后,_gaq里的函数被执行,然后_gaq被重写为如下形式var _gaq={push:function(){
//里面的函数会立即执行.
}};
感谢CUTE同学释疑
今晚没去泡妞啊