竹磬网-邵珠庆の日记 生命只有一次,你可以用它来做些更多伟大的事情–Make the world a little better and easier


88月/123

GA记录访客信息Cookie の utma utmb utmc utmz

发布在 邵珠庆

utma

记录visitor的信息,utma后面的信息,包括域的hash值,visitor的ID、访问时间相关信息和访问次数。utma对应的信息,除非人为删除,否则它在两年后才失效。

第一个蓝色的字段是域名的哈希串,对于一个确定的域名来说,这个值是不会改变的。

第二个字段(绿色字段)是识别visitor的ID,就是这个绿色字段,标识了不同的访问者,不同的值就意味着不同的访问者。这就是GA能够辨别不同访问者的原因。这个值如果不发生人为地删除cookie的情况的话,两年后才会被替换为一个新的值。

第 三个字段(紫色字段)是这个visitor第一次访问网站的时间,如果不删除cookie,两年内这个值也不会变。这个时间是UNIX时 间,0000000001代表着1970年1月1日0点0分1秒,之后每过一秒,数字加一。实际上UNIX时间是有点小错误的,但是已经不会再对使用产生 影响。这里同学们需要注意了。这里以及cookie中其他的UNIX时间记录,构成了GA的整个时间度量系统。时间是这么创造的!

第四个字段(浅蓝色字段)是这个visitor前一个visit开始的时间。

第五个字段(浅紫色字段)是这个visitor这一次visit开始的时间。

第六个字段(最后那个独立数字)太重要了,是记录这个visitor访问网站的次数。

 

utmz

utmz的功能是用来记录网站访问者的来源(即Traffic Source或者Campaign),如下:

这 里各个字段的含义除了Campaign Number之外就不多解释了,大家肯定能看懂。Campaign Number是指这个访问者通过不同来源(除了直接来源)访问网站的来源数。如果通过了一个新的来源访问了网站,即使是在一个visit之 内,campaign number也会加一,但visit并不会增加。

 

Campaign number的作用我并不是很明确,很希望知道的朋友告诉我。我知道的是,如果在一个visit之内,访问者通过多个来源访问了网站,那么GA默认把最后 的那个来源归为这个visit的主人。如果你用utm_nooverride=1配置,那么GA则会把第一个来源记录为这个visit的主人。

 

utmb和utmc

utmb和utmc是另外两个重要的cookie信息,在免费版本的HttpWatch中看不到,不过没关系,大家用firebug就能看到。

 

简 单讲,utmb和utmc都是记录visit的cookie。两个cookie的区别是,utmb在30分钟后过期,如果utmb过期刷新,那么 visit也被刷新。utmc是浏览器关闭则随浏览器一起关闭(失效),再打开浏览器访问那个网站,visit也被刷新。这就是为什么GA的visit在 不活动30分钟后结束,以及关闭浏览器结束的原因。

1310月/114

初识P3P

发布在 邵珠庆

P3P主要应用于网站跨域访问方面,全称为隐私偏好设定平台(platform for privacy preference, P3P)。而谈到P3P就不得不提cookie。目前大部分网站应用都使用cookie进行某种行为,比如用户信息收集、用户上网行为分析以及 session保持等等。但是在某些情况下,用户是不愿意使用cookie的。而禁止cookie又会妨碍用户使用某些重要的网站比如在线银行、网上购物 等。所以微软从ie6开始启用P3P并可以自定义隐私策略来使用cookie,而Netscape 公司早在2002 年5 月便发布了Netscape Navigator 7 软件的测试版,该软件包括与IE6十分相近的P3P功能。
以IE7为例,我们来看看隐私策略的设置:
image
默认情况下,ie7启用隐私策略为中。可以看到有两个阻止一个限制。
这里解释一下第一方cookie和第三方cookie。第一方cookie是指你当前访问的站点的cookie。而第三方cookie是指不是你当前访问的站点的cookie。比如你当前访问的是www.abc.com,但是在这个网站上嵌入了其他网站(比如www.xyz.com),那么属于abc.com这个域cookie就是第一方cookie,而属于xyz.com这个域的cookie就属于第三方cookie。
再来解释有两个阻止一个限制:
第一个阻止(阻止没有紧凑隐私策略的第三方cookie),即为ie7发现存在没有紧凑隐私策略的第三方cookie时就将这个cookie在http的request中删除然后进行http请求(get或者post),“没有紧凑隐私策略”是指没有被P3P声明;
第二个阻止(阻止保存...),即不保存这样的第三方cookie,因为有些cookie是有有效期的;
第一个限制(限制保存...),即不保存这样的第一方cookie。
使用“中”的隐私策略等级,可以阻止任何没有被P3P声明的第三方cookie。可以通过ie浏览器的任务栏上面的“眼睛”来查看都阻止了哪些cookie。而有些业务又必须保证这些cookie不被拦劫,那这个时候就需要使用P3P了。
P3P通过为隐私策略提供一个标准的可机读格式,以及一个能使Web浏览器自动读取和处理策略的协议解决了这个问题。正因为此,万维网联盟 (World Wide Web Consortium,W3C)制定了P3P,并把它作为Web 站点与它们的隐私策略相联系的标准方法。P3P可以启用可机读的隐私策略,而该隐私策略可以由Web浏览器和那些能显示符号、提示用户或采取其他适当行动 的用户代理工具来自动获取。其中的一些工具也可以将各个策略与用户的隐私偏好相比较,并帮助用户决定何时与Web站点交换数据。
那么P3P到底是怎样工作的呢?这里只涉及到P3P的工作原理,如何实现P3P是需要写程序的,而程序本人一窍不通,所以不做介绍,有兴趣的可以google一下,到处都是。
上面提到了第三方cookie被P3P声明。P3P声明是什么意思呢?其实就是指在某一个HTTP的response的头部插入一个P3P的头,而在同一个response中的cookie就都被此P3P声明了。这个可以通过httpwatch来查看到。
image
IE浏览器看到这个response中包含有P3P的头,默认就将后面的cookie(cookie1,cookie2等第三方cookie) 全部认为可信,后续的request中就会带下这些cookie一起下发请求。但是如果后续的某一个response中没有P3P头部,而同样设置了 cookie1,那么在此response后续的request中就不会带有这个cookie1了。所以如果需要使得每次request都带有这些 cookie,有两种方法:一是在一个response里插入P3P的同时插入所有相关的cookie,而后续的response中不要在插入这些 cookie;而是在每个response中都是插入P3P头。一般情况下使用第二种比较保险。
P3P就介绍到这里,更多请参考http://www.w3.org/P3P/。
139月/116

Google Analytics cookie内容详解

发布在 邵珠庆

cookie在WiKi上的解释是:指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。

Cookie分为两种类型,第一方cookie和第三方cookie。Google Analytics使用第一方cookie

Google Analytics设置了5个不同的cookie,_utma, _utmb, _utmc, _utmz和 _utmv。分别用来存储不同的信息。所有的cookie统一使用_u-t-m开头,所以我们看到这三个字母就知道是google的cookie。

下面逐个介绍Google Analytics的cookie和功能。

_utma的主要功能:识别唯一身份访客

_utma的生存周期为2年。其中第二组的随机唯一ID和第三组的时间戳联合组成了访问者ID,Google Analytics通过这个ID来辨别网站的唯一访问者。而后面的几个时间戳用户计算网站停留时间访问次数

_utma Cookie存储的内容:127635166.1360367272.1264374807.1264374807.1264374807.1
第一组数字被叫做“域哈希”,是GA表示这个域的唯一代码。同一域中每个cookie的第一组数据都是“域哈希”,并且值都是一样的。
第二组数字是一个随机产生的唯一ID。
第三,四,五组数字是时间戳,其中第三组数字表示初次访问的时间。第四组数字表示上一次访问的时间,第五组数字表示本次访问开始的时间。
第六组数字是访问次数计数器。这个数字随着访问次数的增加而增加。
PS:上面的三个时间戳数字相同,并且最后的访问次数计数器是1,表示这是第一次访问。

_utmb的主要功能:和_utmc一起决定访客的Session

_utmb的生存周期为30分钟,当访问者在你的网站持续30分钟静止时,utmb将被删除。Google Analytics使用_utmb 和_utmc一起辨别一个session。

_utmb Cookie存储的内容:127635166.2.10.1264374807
第一组数字和_utma一样,是“域哈希”。
后面的几组数字是一些附加值。

_utmc的主要功能:和_utmb一起决定访客的Session

google analyitcs cookie utmc

_utmc是一个临时cookie,当用户关闭浏览器时_utmc将一起被删除

_utmc和_utmb一起来识别一个session,当用户访问一个网站时,Google Analytics会检查这两个cookie,如果缺少其中任何一个,Google Analytics都将认为这是一个新的session。
_utmc的内容:127635166 代表“域哈希”。

_utmz的主要功能:存储流量来源信息和链接标记的变量值。

_utmz的生存周期是6个月,_utmz中存储了所有流量的来源信息。
_utmz的内容中一共有4组数字:127635166.1264374807.1.1
第一组数字是“域哈希”。
第二组数字是时间戳。
第三组数字是session number。
第四组数字是campaign number 记录通过不同来源访问网站的次数。
utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
这些信息代表流量的来源,因为我是直接输入域名直接访问的,所以来源和媒介都是direct

_utmv的主要功能:自定义访问者的属性。

_utmv的生存周期是2年,存储通过_setVar()自定义用户属性。
_utmv的内容:127635166.user
第一组数字是“域哈希”。
第二个值user是通过_setVar()设置的用户属性。
PS:_utmv只有在调用了_setVar()时才会出现。
此外,还有两个cookie __utmx和__utmxx。这两个cookie不是由Google Analytics设置的,而是由Google的Website Optimizer用来做A/B测试或多变量测试用的。如果在访问某个页面后看到这两个cookie,那就说明这个页面正在进行页面优化测试,而你访问的 页面可能是测试中的某一个版本。

Google Analytics中的cookie比较多,每个cookie的属性和功能也各不一样。我做了一个Google Analytics cookie速查表,请在这里下载

 

 

Google Analytics(分析)如何使用 Cookie

Google Analytics(分析)利用 Cookie 定义用户会话,并提供 Google Analytics(分析)报告中的多种关键功能。Google Analytics(分析)设置或更新 Cookie 的目的仅在于收集报告所需数据。此外,Google Analytics(分析)仅使用第一方 Cookie。也就是说 Google Analytics(分析)针对您的域设置的所有 Cookie 仅会向您的域的服务器发送数据。这一做法有效地保证了 Google Analytics(分析)Cookie 成为您网站域的私有财产,来自其他域的任何服务器都无法篡改或获取其中的数据。

下表中列出了通过 Google Analytics(分析)Cookie 获取并在 Google Analytics(分析)报告中使用的信息类型。

功能 Cookie 说明 使用的 Cookie
设置您网站内容的范围 因为任何 Cookie 读/写访问都会同时受到 Cookie 名称和其所在域的限制,所以通过 Google Analytic(分析)进行的访问者跟踪会默认限制在安装跟踪代码网页所在域。一般来说,跟踪代码将安装在单个域中(并且没有其他子域),在这种情况下,通用设置是适用的。如果您希望跨多个域或子域跟踪内容,或将跟踪范围限制在单个域中更为具体的部分,您可以使用 ga.js 跟踪代码中的其他方法定义内容范围。有关详情,请参阅 Collection API 文档中的域和目录 所有 Cookie
确定访问者会话 针对 ga.js 的 Google Analytics(分析)跟踪使用两个 Cookie 来建立会话。如果这两个 Cookie 中的任一个缺失,用户的后续活动将会导致启动一个新会话。有关详细的定义以及将会终止会话的情景的列表,请参阅帮助中心中的会话一文。您可以使用 _setSessionCookieTimeout() 方法自定义默认会话时间的长度。

该描述专门针对网页的 ga.js 跟踪代码。如果您在其他环境(如 Flash 或移动设备)中使用 Google Analytics(分析)进行跟踪,请务必参阅说明文件中有关这些环境的内容,以了解其中的会话计算或建立的方式。

__utmb
__utmc
识别唯一身份访问者 __utma Cookie 会为访问您网站网页的每一个浏览器指定唯一的 ID。通过这种方式,使用同一浏览器对您网站进行的后续访问,将会视为同一(唯一身份)访问者的访问而被记录下来。因此,如果某用户同时使用 Firefox 和 Internet Explorer 与您的网站互动,Google Analytics(分析)报告会将其视为两位唯一身份访问者的活动进行跟踪。同样,如果两位访问者使用同一浏览器,但登录到各自的计算机帐户,那么这些 活动将按照两个唯一身份访问者 ID 进行记录。另一方面,如果两位访问者恰巧使用同一浏览器,同时共享同一计算机帐户,那么将按照一个唯一身份访问者 ID 进行记录,尽管事实上访问是由两个人分别进行的。 __utma
跟踪流量来源和浏览过程 当用户通过搜索引擎结果、直接链接或链接到您网页的广告到达您的网站时,Google Analytics(分析)会在 Cookie 中储存引荐类型的信息。Cookie 值字符串中的参数将得到解析,并通过 GIF 请求(utmcc 变量)发送。Cookie 的有效期为 6 个月。此 Cookie 会在用户对您网站的每个网页进行后续浏览时获得更新,进而确定访问者对您网站的浏览过程。 __utmz
自定义变量 您可以根据具体数据定义自己的报告细分。如果您在跟踪代码中使用 _setCustomVar() 方法定义了自定义变量,Google Analytics(分析)将使用此 Cookie 跟踪并报告这一信息。通常情况下,您可以使用此方法根据用户在您网站上选择的自定义人口统计学特点(收入、年龄范围、产品性能),对网站访问者进行细分。 ___utmv
Website Optimizer 您可以将 Google Analytics(分析)与 Google 网站优化工具配合使用,该工具可帮助您确定最有效的网站设计。网站优化脚本在您的网页中执行时,会将一个 _utmx Cookie 写入到浏览器中,并将其值发送给 Google Analytics(分析)。有关详情,请参阅 Google 网站优化工具帮助中心 ___utmx

一旦在网络浏览器中设置/更新了 Cookie,其中包含的报告所需数据将通过 utmcc 参数发送到 GIF 请求网址中记录的 Google Analytics(分析)服务器。


Google Analytics(分析)设置的 Cookie

Google Analytics(分析)会设置下表中介绍的 Cookie。在默认的配置和使用情况下,Google Analytics(分析)仅会设置表中的前 4 个 Cookie。

名称 说明 有效期
__utma 此 Cookie 通常会在该网络浏览器首次访问您的网站时写入其中。如果此 Cookie 被浏览器操作者删除,而该浏览器又对您的网站进行了后续访问,一个拥有不同唯一 ID 的 __utma Cookie 将会写入其中。此 Cookie 用于确定您网站的唯一身份访问者,并会在每次网页浏览时获得更新。此外,Google Analytics(分析)会将为此 Cookie 指定的唯一 ID 作为额外的安全措施,以确保此 Cookie 的有效性和可访问性。 设置/更新后 2 年。
__utmb 此 Cookie 用于建立和保持用户与您的网站之间的会话。当用户浏览您网站的某个网页时,Google Analytics(分析)代码会尝试更新此 Cookie。如果未能找到此 Cookie,Google Analytics(分析)会写入一个新的该 Cookie 并建立新的会话。每当用户访问您网站中的其他网页时,此 Cookie 的有效期会重新更新为 30 分钟,因此只要在 30 分钟周期内重复发生了用户活动,单个会话就会一直持续下去。如果用户在您网站中某网页的停留时间超过了 30 分钟,此 Cookie 就会过期。您可以通过 _setSessionCookieTimeout() 方法修改默认的用户会话时间的长度。 设置/更新后 30 分钟。
__utmc 此 Cookie 会和 __utmb Cookie 结合使用,确定是否为用户建立新的会话。具体来说,此 Cookie 没有特定的有效期,所以它将在用户退出浏览器时失效。如果某用户访问过您的网站后退出了浏览器并在 30 分钟内再次访问了您的网站,该用户将会由于缺少 __utmc Cookie 而必须建立新的会话,尽管事实上 __utmb Cookie 还尚未失效。 未设置。
__utmz 此 Cookie 会储存访问者到达您的网站通过的引荐类型,即是否通过直接方法、引荐连接、网站搜索或广告系列(例如广告或电子邮件)到达。这些信息会用来计算您网站的搜索引擎流量、广告系列和网页的导航方式。此 Cookie 会在每次网页浏览时获得更新。 设置/更新后 6 个月。
__utmv 此 Cookie 正常情况下在默认跟踪代码配置中不会出现。__utmv Cookie 通过 _setVar() 方法传递所提供的信息,您可以使用该方法创建自定义用户细分。然后,此字符串将通过 utmcc 参数传递到 GIF 请求网址中记录的 Google Analytics(分析)服务器。仅当您将 _setVar() 方法添加到您网站页面的跟踪代码中时,此 Cookie 才会写入浏览器中。 设置/更新后 2 年。
__utmx 此 Cookie 用于 Google 网站优化工具,并且仅当您的网页正确安装并配置了 Google 网站优化工具跟踪代码时才会设置。当优化脚本执行时,此 Cookie 会储存该访问者针对每个实验所分配到的变量,确保用户在您的网站体验的一致性。有关详情,请参阅 Google 网站优化工具帮助中心 设置/更新后 2 年。