标点符(钱魏 Way)

Google Analytics数据统计的原理

Google Analytics功能非常强大,只要在网站的页面上加入一段代码,就可以提供的丰富详尽的图表式报告。Google Analytics的数据采集功能是采用AJAX技术来实现,整体架构如图所示:

我们都知道在使用Google Analytics需要在网站上加上跟踪代码(Google Analytics Tracking Code,简称GATC)  ,下面我们就来研究下跟踪代码是如何进行工作的。

谷歌分析跟踪代码(GATC) 检索网页数据如下:

  1. 浏览器请求的网页包含跟踪代码。
  2. GATC创建并初始化一个对象的属性与网络相关的跟踪ID在代码中。
  3. GATC执行你自定义任何跟踪方法。
  4. 跟踪代码初始化和管理以下信息:跟踪检索查看是否包括广告系列;收集HTTP请求中的各种用户信息的到Google  GATC。
  5. 将访问者HTTP请求包含GATC跟踪信息收集到参数名单。

如下图所示:

看了上面的说明,或许你还是不明白Google Analytics的具体原理,下面就进行更深层次的剖析。

当我们访问带有Google Analyitcs追踪代码的页面时,页面中的GA追踪代码被执行,然后会向Google服务器发送一个1像素的图片请求。(http://www.google-analytics.com/__utm.gif )并将所收集到的数据作为请求__utm.gif图片链接的变量一起发送回google服务器。然后经过google服务器的处理发布到我们的数据报告里。Google Analytics统计代码中的Javascript的主要作用是给请求URL赋值。

例如:当访问www.douban.com首页的时候,Google Analyitcs就会发回这样一条数据给Google服务器。

http://www.google-analytics.com/__utm.gif?utmwv=4.8.9&utmn=444576131&utmhn=www.douban.com&utmcs=utf-8&utmsr=1280×768&utmsc=32-bit&utmul=zh-cn&utmje=1&utmfl=10.2%20r152&utmdt=%E8%B1%86%E7%93%A3&utmhid=974895699&utmr=-&utmp=%2F&utmac=UA-7019765-1&utmcc=__utma%3D30149280.845782037.1298725704.1298782111.1299505037.3%3B%2B__utmz%3D30149280.1298725704.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B&utmu=qBM

Google到底追踪到了哪些数据呢?通过分析链接里的这些变量,我们就可以知道个大概了。

  • http://www.google-analytics.com/__utm.gif  请求文件地址
  • ?utmwv=4.8.9 Google Analyitcs追踪代码的版本
  • &utmn=444576131 utm.gif的唯一ID编号,防止GIF图像缓存
  • &utmhn=www.douban.com  用户访问的主机名(就是我域名)
  • &utmcs=UTF-8 用户浏览器语言编码
  • &utmsr=1280×768 用户屏幕分辨率
  • &utmsc=32-bit 用户的屏幕颜色
  • &utmul=zh-cn 用户浏览器语言设置
  • &utmje=1 用户浏览器是否支持JAVA
  • &utmfl=10.2%20r152 Flash的版本
  • &utmdt=%E8%B1%86%E7%93%A3 当前网页的标题(title里的内容),在这里是经过编码的字符串。
  • &utmhid=974895699 随机数字
  • &utmr=- 流量来源,这里为直接来源。
  • &utmp=%2F 当前页面产生的请求,记录你在这个页面的点击行为及其他自定义的返回值。
  • &utmac=UA-7019765-1 帐户字符串。在所有请求中显示。
  • &utmcc=__utma%3D30149280.845782037.1298725704.1298782111.1299505037.3%3B%2B__utmz%3D30149280.1298725704.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B 用户Cookie数据。
  • &utmu=qBM

&utmcc=__utma%3D30149280.845782037.1298725704.1298782111.1299505037.3%3B%2B__utmz%3D30149280.1298725704.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B

以上都是Cookie里存储的数据,__utma用来分析唯一用户,访问次数,停留时间,新访或回访等等。__utmz用来记录流量来源。__utmv存储细分用户所定义的值。

以上这些并不是全部的返回数据,只是Google Analyitcs追踪的基本数据。如果你的网站开通了电子商务追踪功能或是你自定义了事件追踪。那么在返回Google服务器的链接中就会看到更多的变量值。比如:

  • &utme 事件追踪数据
  • &utmipc 用户购买的产品编号
  • &utmipn用户购买的产品名称
  • &utmipr 用户购买的产品单价
  • &utmtsp 运费
  • &utmttx 税款

当你使用Google Analytics分析时需要你创建 Google Analytics的用户“网站配置文件” ,创建“网站配置文件”的目的是为了方便网站多个管理员从各种对网站不同的关注角度对网站的访问进行分析,每个用户之间的分析数据也是私密性的,尽管它可能需要几分钟额外设立一个新的帐户配置文件,它通常是值得的,因为它可以帮助访问安全性和数据完整性,确保能给你更准确和有用的信息。

当你在网站内创建完成“网站配置文件”,接下来我们再来看看 访问用户、网站管理员、GA(Google Analytics) 大致是怎么样的工作过程。

  1. 访问者访问网站
  2. 触发到 GATC 代码,根据GATC采集用户信息,放入Google Analytics 日志
  3. 通过你创建的过滤器对需要进行过滤的数据进行筛选。
  4. 将采用和过滤后的信息放入Google Analytics 的数据库中
  5. 管理者通过Google Analytics 的界面查看分析数据

整体工作流程如图所示:

参考链接:

http://code.google.com/intl/zh-CN/apis/analytics/docs/tracking/gaTrackingTroubleshooting.html

http://code.google.com/intl/zh-CN/apis/analytics/docs/gaJS/changelog.html

http://bluewhale.cc/2010-01-27/google-analytics-repotr-data.html#ixzz1FPUyZplk

http://www.javabloger.com/article/google-analytics-architecture.html

码字很辛苦,转载请注明来自标点符《Google Analytics数据统计的原理》

评论