目前主流的网站分析工具一般都是通过javascript检测的方式进行访问监控的,包括商业产品(Omniture)、免费产品(GA/百度统计/CNZZ)、开源产品(Piwik)。虽然说原理大致相同,但是不同的工具在一些基础的统计方法上方式还是有一些微妙的差别。譬如,你在使用多种网站分析工具对同一个网站进行监控时,经常会发现不同的工具给出的Visits总是会有差异(绝对数量有差异,但趋势一致)。即使理论上所有外部条件都一样,这种差异也是会存在的。这是因为不同网站分析工具在Cookie的使用和访次切分的策略有一些差异。
Visits是网站分析的基础,因此有必要不深入了解一下里面的“秘密”。
在展开这个话题之前,有必要做一些科普性的介绍,当然如果你精通javascript和cookie,完全可以跳过这一段。
两种不同的Cookie:
- 第一方Cookie:由您浏览器访问的网站所设置。
- 第三方Cookie:由您所浏览器访问网站的合作伙伴设置而成,通常通过嵌入javascript的方式实现。安全级别比第一方Cookie要低。
Cookie跨域访问问题:
- 网页中嵌入的第三方javascript有权限读取和设置第一方cookie和第三方Cookie。
- 当浏览器打开某个网站(如:abc.com/index.html)时,在发起HTTP请求时,只会携带abc.com域下的Cookie(第一方Cookie)。
- 网页中嵌入的第三方javascript可以向第三方服务器发起HTTP请求,在发起HTTP请求时,只会携带第三方域下的Cookie(第三方Cookie)。
基于javascript网站监控:
当网民访问一个安装了监控代码(javascript)的网页时,web浏览器会发送两个HTTP请求(如下图)。
- 根据浏览器地址栏的url,访问网站服务器(abc.com),此HTTP请求会携带abc.com域名下Cookie(第一方Cookie)
- 当网页加载完成后,监控代码中的javascript将会被执行,javascript获取referer、第一方Cookie(跨域)、第三方Cookie等信息,组装HTTP请求包后向监控服务器(analytics.com)发送数据。
科普的知识介绍完了,如果你还是有不太理解的地方,建议Google或Baidu一下,这会对你了解网站分析工具非常有帮助。
Cookie的使用,GA vs 百度统计 vs Piwik:
- GA:第一方Cookie
- 百度统计:第一方Cookie+第三方Cookie
- Piwik:第三方Cookie
GA的Cookie设置及访次切分规则
在默认的配置和使用情况下,Google Analytics(分析)仅会设置表中的4 个 Cookie。(详见:http://code.google.com/intl/zh-CN/apis/analytics/docs/concepts/gaConceptsCookies.html)