Google分析的数据收集与处理
图3-1描述了"Google分析"是如何收集,处理,显示数据的。"Google分析"使用一个常用的数据收集技术--页面标签。一个页面标签即是一段JavaScript代码,你得将其放在你希望被追踪到的网站页面里。我们称之为谷歌分析追踪代码,或者简称为GATC。如果你没有把这段代码放在页面里,"Google分析"是不会追踪此页面的。
数据收集过程从访问者向web服务器发出针对某个页面的请求开始。服务器通过向访问者的浏览器(图3-1中的步骤1)发送响应页面来对前述的请求进行响应。当浏览器处理数据时,它还可能会联系其它的服务器,这些服务器含有响应页面中所需要的数据,比如图片,视频,或者脚本文件。这就是GATC如何处理的例子。
图3-1 "Google分析"流程图
当访问者的浏览器到达GATC时,追踪代码开始工作。代码执行期间,GATC会识别访问者及其浏览环境的属性,比如她访问了多少次这个站点,她从哪来,她用的什么操作系统,她用的什么浏览器,等等等等。
收集到适当的数据后,GATC设置(或更新,取决于具体的情况)一些第三方的cookies(步骤2),这部分我们在后面来讨论。cookies存储有访问者的信息.在访问者的机器上创建完这些cookies之后,追踪代码将把这些数据发至"Google分析"服务器。
当数据收集完成,cookies也被设置好了以后,浏览器被激活从"Google分析"服务器上(还在步骤2)下载一个叫做ga.js的文件.所有"Google分析"需要的功能代码都包含在这个ga.js文件里
一旦ga.js文件下载完成,收集到的数据会被以页面视图的格式发送给Google。页面视图意味着访问者已经浏览了网站上的一些页面。还有其它的数据,比如事件和电子商务数据,这些信息也可以发送给"Google分析"(我们后面会讨论这个)。页面视图通过对一个名为__utm.gif的隐藏GIF文件的请求(步骤4)来传递给Google分析服务器。GATC收集到的每个信息片段都作为query-string的参数存在于对__utm.gif的请求中,如下所示:
http://www.google-analytics.com/__utm.gif?utmwv=4.6.5&utmn=1881501226&utmhn=cutroni.com&utmcs=UTF-8&utmsr=1152x720&utmsc=24-bit&utmul=en- s&utmje=1&utmfl=10.0%20r42&utmdt=Analytics%20Talk%20by%20Justin%20Cutroni&utmhid=465405990&utmr=-&utmp=%2Fblog%2F&utmac=UA-XXXX-1&utmcc=__utma%3D32856364.1914824586.1269919681.1269919681.1269919681.1%3B%2B__utmz%3D32856364.1269919681.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B&gaq=1
当Google分析服务器收到这个页面视图后,将其存储在某种类型的临时数据仓库当中。Google没有说明这些数据确切的存储格式,但是我们知道一些针对原始数据的存储格式。假设一下这些数据存储为大文本文件或者日志文件(步骤5).日志文件中的每一行都包含页面视图的多个属性。包括有:
•收集数据的时间(日期和时间)
•访问者来自哪(比如网站,搜索引擎等)
•访问者来过几次了(访问次数)
•访问者的位置(地理信息)
•访问者是谁(IP地址)
页面视图存储在日志文件中后,数据收集过程至此完成了。Google分析中的数据收集和数据处理组件是独立的。这确保Google分析总是能够收集数据,即便数据处理引擎处于维护状态。
下一步就是数据处理了。以一定的间隔周期,大约每3个小时,Google分析处理日志文件中的数据。数据处理花的时间是波动的。Google分析并不对数据进行实时的处理。虽然每3小时处理一次数据,但是通常数据收集后24小时才能完成处理。这是因为一整天的数据收集完成后,会重新处理一次。
因为这些处理行为可能导致不精确的当天指标,所以最好是避免使用Google分析来作实时或者一天内的报告。
在处理时,日志文件中的每一行都被切分成不同的片段,一个片段对应页面视图的一个属性。下面是个日志文件的例子;这不是来自Google分析中的实际数据,不过还是可以用来示意一下:
65.57.245.11 www.cutroni.com - [21/Jan/2010:19:05:06 −0600]
"GET __utm.gif?utmwv=4.6.5&utmn=1881501226&utmhn=cutroni.com&utmcs=UTF-8&utmsr
=1152x720&utmsc=24-bit&utmul=en-us&utmje=1&utmfl=10.0%20r42&utmdt
=Analytics%20Talk%20by%20Justin%20Cutroni&utmhid=465405990&utmr
=-&utmp=%2Fblog%2F&utmac=UA-XXXX-11&utmcc
=__utma%3D32856364.1914824586.1269919681.1269919681.1269919681.1%3B%2B
__utmz%3D32856364.1269919681.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)
%7Cutmcmd%3D(none)%3B&gaq=1"__utma
=32856364.1914824586.1269919681.1269919681.1269919681.1; __utmb
=100957269; __utmc=100957269; __utmz=100957269.1164157501.1.1.utmccn
=(direct)|utmcsr=(direct)|utmcmd=(none)"
当然,这些数据大都不好理解,只有一些内容比较明显:日期和时间(Jan 21, 2010 at 19:05:06)和IP地址(65.57.245.11) 很容易认出来。
Google分析将日志文件记录中的每个片段放入被称为字段的数据元素当中。之后,字段再转换成维度。比如:IP地址成为访问者IP字段,访问者城市成为访问者城市字段和城市维度
理解这一点很重要:页面视图有很多很多的属性,每一个都存放在不同的字段或者维度里。然后,Google分析会使用这些字段来操作数据和维度,从而生成报告。
每一行被拆分成字段和维度之后(步骤6-9),配置信息将应用于这些数据上进行。内容包括有:
•站点搜索
•目标和渠道
•过滤
参见步骤7
最后,所有的设置都应用完成后,数据存入数据库(步骤10)
数据一旦存入数据库,处理过程就完成了。当你(或者其它用户)请求一份报告时,适当的数据将被从数据库中检索出来,并发送至浏览器。当Google分析完成数据处理并存入数据库后,就不能再理性了。这意味着,历史数据永远不会被修改或者再处理。任何设置或者配置中的错误都将可能永远地影响这些数据的质量。避免配置错误非常重要,没有任何方法来撤销数据上的错误。这也意味着,Google分析的任何配置的变更都不会改动历史数据。变更只会影响之后的数据,而不会影响之前的数据。
posted on 2012-03-10 14:02 tianyaxiang 阅读(1998) 评论(0) 编辑 收藏 举报