GA/百度统计/Piwik/JYC:网站分析工具的Cookie设置和访次切分规则

目前主流的网站分析工具一般都是通过JavaScript检测的方式进行访问监控的,包括商业产品(Omniture/JYC统计)、免费产品(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请求包后向监控服务器(stat.xxx.com)发送数据。

科普的知识介绍完了,如果你还是有不太理解的地方,建议Google或Baidu一下,这会对你了解网站分析工具非常有帮助。

Cookie的使用,GA vs 百度统计 vs Piwik vs JYC统计:

  • GA:第一方Cookie
  • 百度统计:第一方Cookie+第三方Cookie
  • Piwik:第三方Cookie
  • JYC:第一方Cookie(默认)和第三方Cookie均可(用于跨域识别),可根据企业需求自行选择。

GA的Cookie设置及访次切分规则

在默认的配置和使用情况下,Google Analytics(分析)仅会设置表中的4 个 Cookie。(详见:http://code.google.com/intl/zh-CN/apis/analytics/docs/concepts/gaConceptsCookies.html)

名称用途有效期类型
__utmaVisitor Identifier2 年第一方Cookie
__utmbVisit(Session) Identifier30 分钟第一方Cookie
__utmcVisit(Session) IdentifierSession第一方Cookie
__utmzCampaign Values6 个月第一方Cookie

如果访客在网站上处于非活动状态的时间超过30 分钟(__utmb失效),或者退出了浏览器(__utmc失效),那么这次Visit将结束。无论缺少__utmb或__utmc,GA都会确定开始新的Visit。GA允许你使用 _setSessionCookieTimeout() 方法自定义默认会话时间的长度。

GA Cookie详情:

(1)__utma ,Visitor识别Cookie

    通常来说“Time of initial”<“Beginning of previous session”<“Beginning of current session”,但由于这三个时间戳都是由客户端javascript计算得到的,所以三个值并没有严格的顺序关系,在访客操作系统时间出现误差时,有可能出现“Beginning of previous session”>“Beginning of current session”的情况。因此“Time of initial”、“Beginning of previous session”、“Beginning of current session”这三个跟访问相关的时间戳在GA服务器端统计时,只是作为visit unique id使用,并没有统计时间上意义。

   Session counter就像它的名字一样就是用来计数的,记录当前访客访问此网站的次数。

(2)__utmb && __utmc,Visit识别Cookie

     以上是早些__utmb 和 __utmc的值,非常简单只有Domain Hash的值。从最新GA的Cookie来看,__utmb已经有所变化。

     如上图,最新的__utmb包含domain_hash.current_session_pageviews.unknown.current_session_inittime。第三个字段暂时不知道
是什么意思,在我的Firefox和Opera浏览器始终是10,你是知情人的话,请留言,谢谢。

(3)__utmz,来源识别Cookie(Google官方称之为Campaign Values)

       __utmz主要是用于记录访客流量来源数据。GA在访客回访时,会根据前后两次的来源决定Visit的“来源归属”。Visit来源归属决策遵循以下规则:

  • 投放活动永远能覆盖别的渠道
  • 自然搜索永远能覆盖别的渠道
  • 推介网站永远能覆盖别的渠道
  • 直接输入永远覆盖不了别的渠道

百度统计的Cookie设置及访次切分规则

百度统计使用了两种Cookie,第三方Cookie用于识别访客,第一方Cookie。

名称用途有效期类型
HMACCOUNTVisitor Identifier,全局唯一永久第三方Cookie,hm.baidu.com域
Hm_lvt_siteid

记录访客当前访问序列的开始时间,如果没有设置这个cookie,则访客为新访客。当本次访问是一个新的访问开始时,更新该cookie为当前时间。

1年第一方Cookie
Hm_lpvt_siteid当前浏览页面时的时间,每次浏览时设置该cookie为当前时间。Session第一方Cookie

在百度统计中,以下三条任意一个条件成立,则认为是一个新访次。

  • 流量来源(referer)为非本站
  • Hm_lpvt_siteid为空
  • 服务器端进行计算,一个visit超过30分钟没有流量,结束当前访次

百度统计对Cookie的使用非常简单,多数的状态信息存储和计算在服务器端进行。这种数据构架方式,对服务器端的统计程序来讲无疑是非常大的挑战(有机会我会单独写一篇文章介绍一下)。

补充:百度统计对于Visit来源归属决策是采用强制覆盖的方式。

Piwik的Cookie设置及访次切分规则

名称用途有效期类型
piwik_visitor天书2年第三方Cookie

1%3DYTo2OntpOjE7czozMjoiNDhmODY0MTlhOWUyNmIxYTBlYWI4MjU3NmI4NjgyMmQiO2k6MjtpOjEyOTM3MDI3Njc7aTozO2k6MTI5MzcwMjc2NztpOjQ7czoxOiI3IjtpOjU7czoxOiIyIjtpOjExO2k6MTt9%3A_%3Df755e0a15992cbfa6715890342520e0daa1c562b

上面是一个完整的piwik_visitor Cookie的值,看完后你一定很崩溃,真是又臭又长。还好Piwik是一款开源的工具,不然我这辈子是不能指望能理解上面这段天书的意思了。将“天书”解密,我们会看到它的真实面目。

piwik_visitor解密后是一个多维数组,形式如piwik_visitor[siteid][key],针对某个siteid,有以下几个key-value对。

key名称用途备注
IDVISITOR Visitor Identifier2年
TIMESTAMP_LAST_ACTION当前Visit最近一次行动(浏览)时间GA使用第一方Cookie,都是由js进行设置。而Pikiw中的Cookie是由服务器端来设置的,因此TIMESTAMP是服务器端的时间。
TIMESTAMP_FIRST_ACTION当前Visit第一次行动(浏览)时间
ID_VISITVisit Identifier
ID_LAST_ACTION上一次行动ID
REFERER_TIMESTAMP来源时间
REFERER_NAME 来源名称
REFERER_KEYWORD来源关键词
VISITOR_RETURNING访客类型new or return

Piwik新访次判断条件:

  • 访问来自于一个新访客。
  • TIMESTAMP_LAST_ACTION离当前时间超过30分钟

是否新访客,取决是否存在piwik_visitor Cookie,以及Cookie解密后一些合法性的检查。对于第一步检查失败,本应沦为“新访客”的可怜虫,Piwik还提供了一个非常温馨的选项 “enable_detect_unique_visitor_using_settings”。如果 enable_detect_unique_visitor_using_settings设置打开,那么Piwik会根据你当次的ip、浏览器、操作系统等属性在所有的历史记录中寻找你活动的痕迹,如果能匹配到,那么你就有了“旧访客”的身份了(当然这个是以牺牲性能为代价的)。

Piwik使用一个独立第三方的Cookie来管理所有站点信息,适用于单个或少量站点的使用,对于需要监控多个站点的使用者来说存在一定的风险。

JYC统计的Cookie设置及访次切分规则

key名称用途类型备注
www%5Fadjyc%5Fcom Visitor Identifier唯一第一方Cookie永久

Cookie值:2019101912091455923781394代表2019年10月19日12时9分14秒+随机位数,共25位。

JYC新访次判断条件:

  • 访问来自于一个新访客。
  • 如果f访客第二天访问,发现存在key值,则为老访客,否则为新访客。

评价与总结

GA:

  • [Cookie]充分、大胆的使用Cookie进行信息存储。
  • [访次切分]访次切分的设计比较合理。
  • [备注]基本成为业界的标准。

百度统计:

  • [Cookie]Cookie使用上还不够大胆。
  • [访次切分]访次切分依赖于来源判断,相对于GA的统计方法容易出现访次虚高的现象。
  • [备注]Cookie中没有保持任何访次的状态信息,那么统计程序需要保存所有没有结束的Visit的状态信息。对于每天上亿访次服务来讲,长远来看这种设计的性能和扩展性无疑会受到非常大的挑战。

Piwik:

  • [Cookie]Cookie加密验证的方式一定程度上减轻了Cookie的存储量,也提高了恶意攻击者伪造Cookie成本。但Piwik将所有的信息保存在第三方Cookie中,多站点情况下有Cookie溢出的风险。
  • [访次切分]访次切分规则GA非常类似。
  • [备注]适合单个小流量站点的监控,统计和查询算法性能很差。

JYC:

  • [Cookie]充分、大胆的使用Cookie进行信息存储。
  • [访次切分]访次切分的设计比较合理,新老访客直观识别。
  • [备注]国内创新统计审计监控,支持鼠标轨迹录像功能,独有算法技术、轻松支持日均百万流量PV。

 相关参考https://developer.aliyun.com/article/31470,并调整。

真正没有任何时间限制 真正的访客页面停留时间统计 系统支持所有不同类型及版本的浏览器 具有成熟的稳定性和可靠性 系统支持海量访问数据的统计分析 并拥有丰富的特色优势功能 真正实时的访问统计系统 全球唯一可以统计当前实时在线访客的系统 并且可以与任意访客发起沟通对话 唯一可以统计并发在线访客的系统 告诉您真实的网站负载 鼠标点击热点功能实时查看 支持任意时间段 多种查询条件的统计分析展现 准确告诉您页面热点情况 为您提供广告战略决策支持 准确把握每一个访客的访问行为轨迹 了解客户心理 更好的为其提供个性化服务 未知地区信息按需更新功能(不存在未知地区) 让您准确把握营销区域 提升销售机会 多指标 浏览量 访问量 停留时间 独立访客 二跳率 跳出率 综合评价功能 让您准确把握各网站 各栏目专题的排名评比效果 给你最准确的业绩考核参考 自动统计简报邮件 让您一上班就可以准确把握网站访问情况 做到运筹帷幄 心中有数 废话不多说 有用得上的赶紧下载吧 http: www adjyc com free html 软件程序免费下载安装 无任何使用时间限制 一次安装 永久使用 功能强不强 一试便知 支持的操作系统 Microsoft Windows Server 2003 x86 and x64 Editions Microsoft Windows Server 2008 x86 and x64 Editions Microsoft Windows Server 2008 R2 Editions Microsoft Windows Server 2012 Editions 支持的数据库 Microsoft SQL Server 2008 x86 and x64 Editions Microsoft SQL Server 2008 R2 x86 and x64 Editions Microsoft SQL Server 2012 x86 and x64 Editions 微软即将发布sqlserver2014也是支持的 ">真正没有任何时间限制 真正的访客页面停留时间统计 系统支持所有不同类型及版本的浏览器 具有成熟的稳定性和可靠性 系统支持海量访问数据的统计分析 并拥有丰富的特色优势功能 真正实时的访问统计系统 全球唯 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值