技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> JavaScript --> Google Analytics 异步代码详解

Google Analytics 异步代码详解

浏览:3025次  出处信息

Google Analytics 的异步代码发布很久了,大家都听说过。可是真正用的人,或者花点时间了解的人不多。的确当标准的代码已经能够满足监测需求,而且已经部署到位了,再换成异步纯粹是折腾和浪费精力。

当什么情况下,你必须开始了解异步代码,甚至是使用它呢?

1、Google Analytics 代码放在底部。

用 HTTPWatch 测试你的网站,如果页面的 Google Analytics GIF 请求很晚(个人觉得30秒就很晚了)。这种情况,说明你的网页的 Google Analytics 的监测部署其实已经不太理想。
HttpWatch Tracking GA GIF Request Delay 或者你页面的 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 的请求不在一起了。

image

第三步:高阶的说明与应用:

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秒,就不需要使用异步代码,否则最好使用异步代码。所有的学习资料链接如下:

最最后,给大家一个预告,一个Google Analytics的新功能即将与大家网页:

Google Analytics Tag Validatoin,帮助你检查代码是否添加完整正确。

http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=179348

建议继续学习:

  1. 怎样用好Google进行搜索    (阅读:14400)
  2. 关于IO的同步,异步,阻塞,非阻塞    (阅读:14301)
  3. Google怎么用linux    (阅读:10915)
  4. fsockopen 异步处理    (阅读:8908)
  5. 配合jquery实现异步加载页面元素    (阅读:5292)
  6. Google短网址的API    (阅读:4997)
  7. 使用django+celery+RabbitMQ实现异步执行    (阅读:4900)
  8. PHP 性能优化技巧-google    (阅读:4194)
  9. SteveY对Amazon和Google平台的长篇大论    (阅读:3799)
  10. 异步编程与响应式框架    (阅读:3780)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1