Google Analytics的另类部署方式

Posted on 三月 29, 2010
Filed Under 分析工具 | Leave a Comment

原创文章,转载请注明: 转载自网站分析 Web Analytics
本文链接地址: Google Analytics的另类部署方式

Google Analytics在部署的时候,通常会采用下面的部署的方式:
<script type=”text/javascript”>
var gaJsHost = ((”https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(”%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>
<script type=”text/javascript”>
try {
var pageTracker = _gat._getTracker(”UA-8982891-2″);
pageTracker._addOrganic(”soso”,”w”);
pageTracker._trackPageview(”");
} catch(err) {}</script>

这种部署方式在大部分情况当然是最优的选择。不过,有些极端条件下可能就不适用了。比如,手机页面跟踪。目前的手机大部分都不支持JavaScript,所以即使部署了常规的Google Analytics的代码,这些代码也不会被执行,也就不会跟踪到数据了。

要解决这个问题,还要从Google Analytics代码的工作原理说起。在之前的一篇文章《脚本型网站分析工具工作原理》中,有介绍过象Google Analytics这种的在网页中嵌入标签的网站分析工具是如何抓取到用户访问的信息。基本上,Google Analytics会提供一段JavaScript代码,需要按照一定的规范加入到页面上。当页面被浏览器加载的时候,这些JavaScript代码会被执行。这些代码会收集用户访问的信息和浏览器客户端的信息。然后,最关键的,会在HTML中增加一个1×1的图片。这个图片的源地址是Google Analytics的数据服务器,图片地址后面的参数是拼接好的采集到的信息。浏览器自然会去加载这个图片,那么当这条图片加载的请求发出的时候,这些信息也就发到了Google Analytics的数据服务器。至于最后数据服务器返回的一个透明图片的数据,只是为了对用户透明,其实对于数据的采集已经不重要了。

再回到我们刚开始的问题。当有些情况下JavaScript不能被执行,而又希望能够跟踪到用户的访问信息,应该如何做呢?那就需要跳过前面的部分,自己来处理JavaScript处理的内容,拼接那个图片的请求。这个图片的请求应该怎么拼接呢,让我们来看一个例子:
<img src=”http://www.google-analytics.com/__utm.gif?utmwv=4.6.5&utmn=451113762&utmhn=www.webanalytics.org.cn&utmcs=UTF-8&utmsr=1152×864&utmsc=32-bit&utmul=zh-cn&utmje=1&utmfl=10.0%20r22&utmdt=%E7%BD%91%E7%AB%99%E5%88%86%E6%9E%90-%E4%B8%93%E6%B3%A8%E7%BD%91%E7%AB%99%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%8A%80%E6%9C%AF&utmhid=1887594027&utmr=-&utmp=%2F&utmac=UA-8982891-2&utmcc=__utma%3D66084008.1210065981.1255914740.1269832632.1269843904.288%3B%2B__utmz%3D66084008.1268098054.275.37.utmcsr%3Dgoogle%7Cutmccn%3D(organic)%7Cutmcmd%3Dorganic%7Cutmctr%3D%25E7%25BD%2591%25E7%25AB%2599%25E5%2588%2586%25E6%259E%2590%3B%2B__utmv%3D66084008.200%2520-%2520500%2520ms%3B%2B__utmx%3D66084008.00007688461911432602%3A2%3A1%3B” width=”1″ height=”1″ border=”0″ />
哇,这是些什么啊!不要担心,我们一点一点解释。在URL的规范中,问号?以后的部分是参数,每个参数之间用&符号间隔。让我们加上回车,把版面排得好看些。另外再加上注解。
/__utm.gif?
utmwv=4.6.5 //跟踪代码版本号
&utmn=93127920 //随机数,防止缓存影响数据准确
&utmhn=www.webanalytics.org.cn //域名
&utmcs=UTF-8 //编码方式
&utmsr=1152×864 //屏幕分辨率
&utmsc=32-bit //屏幕颜色深度
&utmul=zh-cn //语言
&utmje=1 //是否安装Java
&utmfl=10.0%20r22 //Flash版本号
&utmdt=%E7%BD%91%E7%AB%99%E5%88%86%E6%9E%90-%E4%B8%93%E6%B3%A8%E7%BD%91%E7%AB%99%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%8A%89C%AF //标题,URL中的中文都是经过URL编码处理的
&utmhid=208132060 //随机数
&utmr=- //Referrer
&utmp=%2F //页面URL
&utmac=UA-8982891-2 //Google Analytics帐号ID
&utmcc=__utma%3D66084008.1210065981.1255914740.1269481984.1269567813.286%3B%2B__utmz%3D66084008.1268098054.275.37.utmcsr%3Dgoogle%7Cutmccn%3D(organic)%7Cutmcmd%3Dorganic%7Cutmctr%3D%25E7%25BD%2591%25E7%25AB%2599%25E5%2588%2586%25E6%259E%2590%3B%2B__utmv%3D66084008.200%2520-%2520500%2520ms%3B%2B__utmx%3D66084008.00007688461911432602%3A2%3A1%3B //Cookie中的信息

好了,都清楚每个变量的用处了吧。当在手机浏览器中,不能使用Cookie和JavaScript的时候,那么我们可以跟踪最简单的页面查看的数据。下面是个例子:
<img src=”http://www.google-analytics.com/__utm.gif?utmwv=4.6.5&utmn=451113822&utmhn=www.webanalytics.org.cn&utmcs=UTF-8&utmdt=abcd&utmhid=1837594037&utmr=-&utmp=%2F123&utmac=UA-8982891-2″ width=”1″ height=”1″ border=”0″ />

怎么样,明白了其中的奥妙吧?

您也许还对以下内容有兴趣:

评论

Leave a Reply