Google Analytics 异步代码详解
Google Analytics 的异步代码发布很久了,大家都听说过。可是真正用的人,或者花点时间了解的人不多。的确当标准的代码已经能够满足监测需求,而且已经部署到位了,再换成异步纯粹是折腾和浪费精力。
当什么情况下,你必须开始了解异步代码,甚至是使用它呢?
1、Google Analytics 代码放在底部。
用 HTTPWatch 测试你的网站,如果页面的 Google Analytics GIF 请求很晚(个人觉得30秒就很晚了)。这种情况,说明你的网页的 Google Analytics 的监测部署其实已经不太理想。
或者你页面的 JS 写了很多,难免有错误的 JS,影响了 Google Analytics 代码的执行。
2、Google Analytics 代码放在顶部。
按 Google Analytics 的官方建议,所有的电子商务网站的监测,Google Analytics 的代码应放在 <head></head> 之间。处理监测请求一定程度会导致影响了网页的加载速度。
如果是以上两种情况,使用异步代码就能够得到有效的改进。
第一步:准备代码并部署。
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_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>
自行替换 UA-XXXXX-X 为你的帐户 ID。并复制粘贴到 <head></head> 之间。
第二步:检查是否数据接收正常,以及效果。
用 HTTPWatch 检查一下即可。你会发现,传统的监测代码,ga.js 与 GIF 请求非常的相近(文章上方的截图为例)。而异步代码的特点是:ga.js 的请求与 GIF 的请求不在一起了。
第三步:高阶的说明与应用:
Google Analytics 有两个通用对象,分别是 _gat 与 _gaq 。 _gaq 就是主要服务于新的异步代码的。举例详说:
var pageTracker = _gat._getTracker('UA-XXXXX-X'); pageTracker._trackPageview();
在 _gat 对象下,有一个 _getTracker 的方法,创建一个基于 UA-ID 的新对象:pageTracker。然后通过调用 pageTracker 下的大量方法,如 _trackPageview()、_trackEvent() 等等,实现网页的监测。
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_trackPageview']);
异步则不尽相同。在 _gaq 对象下,只有一个 push 的方法,通过这个 push 的方法,将所有的监测请求当成数组传送,实现网页的监测。例如,上方通过 push 方法,实现了 trackPageview。
我尽可能通俗地解释了,如果你理解了我这么不专业的解释之后,我们开始实例应用:
_gaq.push( ['_setAccount', 'UA-XXXXX-X'], ['_setDomainName', 'example.com'], ['_setCustomVar', 1, 'Section', 'Life & Style', 3], ['_trackPageview'] );
第一个例子是实现了两个自定义监测,分别是自定义cookie的域名,自定义了一个变量。
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-65432-1']); _gaq.push(['_trackPageview']); _gaq.push(['t2._setAccount', 'UA-65432-2']); _gaq.push(['t2._trackPageview']);
第二个例子是实现了两个 UA-ID 的监测。注意到第二个,使用了 t2点 开头。t2 是任意命名的,你可以命名为 a1点,也可以命名为 b点。第一个为什么没有点呢?可以这样理解,第一个为“空点”。
最后总结:
我个人建议,只要你的网站加载 Google Analytics GIF 请求时间小于30秒,就不需要使用异步代码,否则最好使用异步代码。所有的学习资料链接如下:
- 异步代码的基本说明:http://code.google.com/intl/zh-CN/apis/analytics/docs/tracking/asyncTracking.html
- 异步代码的函数说明:http://code.google.com/intl/zh-CN/apis/analytics/docs/gaJS/gaJSApi_gaq.html#_gaq.push
最最后,给大家一个预告,一个Google Analytics的新功能即将与大家网页:
Google Analytics Tag Validatoin,帮助你检查代码是否添加完整正确。
http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=179348
建议继续学习:
- 怎样用好Google进行搜索 (阅读:14670)
- 关于IO的同步,异步,阻塞,非阻塞 (阅读:14482)
- Google怎么用linux (阅读:11098)
- fsockopen 异步处理 (阅读:9032)
- 配合jquery实现异步加载页面元素 (阅读:5375)
- Google短网址的API (阅读:5146)
- 使用django+celery+RabbitMQ实现异步执行 (阅读:5023)
- PHP 性能优化技巧-google (阅读:4423)
- SteveY对Amazon和Google平台的长篇大论 (阅读:3996)
- 异步编程与响应式框架 (阅读:3913)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Tenly 来源: Tenly 的互联网哲学
- 标签: Google 异步
- 发布时间:2010-12-09 23:00:16
- [52] IOS安全–浅谈关于IOS加固的几种方法
- [51] android 开发入门
- [50] 如何拿下简短的域名
- [49] Oracle MTS模式下 进程地址与会话信
- [48] 图书馆的世界纪录
- [47] 【社会化设计】自我(self)部分――欢迎区
- [46] Go Reflect 性能
- [43] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 视觉调整-设计师 vs. 逻辑
- [35] 程序员技术练级攻略