_ga=1.2.286403989.1366364567;
第一个字段
这是一个版本号。以防 cookie 格式在未来发生变化。目前似乎固定为1。上面是一种旧格式。较新的 cookie 将此值设置为“GA1”
第二个字段
此字段用于在不同路径或域中设置多个 cookie 时找出正确的 cookie。
默认情况下,cookie 设置在路径 / 和 document.location.hostname 上的域中(去掉 www. 前缀)。
您可以在 sub.example.com 上设置一个 _ga cookie,在 example.com 上设置另一个 cookie。因为浏览器上 cookie API 的工作方式无法判断您使用的是正确的 cookie。
所以第二个数字是域中的组件数(点分隔)。
- 对于 sub.example.com,数字为 3
- example.com 的数字是 2
路径默认为/,但您也可以通过将cookiePath 选项传递给ga.create 方法来更改它。如果您传递它,该字段将变为 2 个数字破折号分隔。第二个数字是路径中的数字斜线。
使用这些数字,analytics.js 脚本可以正确识别要使用的 cookie,以防设置多个 cookie。
例如:
想象一下,您有一个位于 sub1.sub2.example.com/folder1 的站点,如果您只想将 cookie 存储在您的站点上而不使其对其他子域或文件夹可见,您可以使用以下配置:
ga('create', 'UA-XXXX-Y', {
'cookiePath': '/folder1/',
'cookieDomain': 'sub1.sub2.example.com'
});
在这种情况下,cookie 看起来像这样;
_ga=1.4-2.XXXXXXXX.YYYYYYY
第三场
这是一个随机生成的用户 ID。用于识别不同的用户。
第四场
这是第一次为该用户设置 cookie 的时间戳。
new Date(1366364567*1000)
> Fri Apr 19 2013 06:42:47 GMT-0300 (BRT)
这也用于在 userId 冲突的情况下唯一标识用户。
值得一提的是,cookie 不是 API。将来它可能会完全改变。 Google 不建议直接读取/写入 _ga cookie。您应该通过analytics.js 等跟踪库之一与Google Analytics 进行交互。除了好奇之外,这些信息没有太多用处。
如果您直接读取/写入 cookie,则说明您做错了。