Cookies _ga cookie中的值是什么?

Cookies _ga cookie中的值是什么?,cookies,google-analytics,analytics,web-analytics,analytics.js,Cookies,Google Analytics,Analytics,Web Analytics,Analytics.js,我正在使用。环球分析创建第一方cookie\u ga _ga=1.2.286403989.1366364567; 286403989是clientId 1366364567是时间戳 什么是cookie中的1和2 _ga=1.2.286403989.1366364567; 第一场 这是一个版本号。以防将来cookie格式发生变化。目前似乎固定为1。上面的是一个旧格式。较新的Cookie将此值设置为“GA1” 第二场 此字段用于在不同路径或域中设置多个cookie时确定正确的cookie 默认

我正在使用。环球分析创建第一方cookie
\u ga

 _ga=1.2.286403989.1366364567;
286403989是clientId

1366364567是时间戳

什么是cookie中的
1
2

_ga=1.2.286403989.1366364567;
第一场 这是一个版本号。以防将来cookie格式发生变化。目前似乎固定为1。上面的是一个旧格式。较新的Cookie将此值设置为“GA1”

第二场 此字段用于在不同路径或域中设置多个cookie时确定正确的cookie

默认情况下,cookie设置在路径
/
和document.location.hostname上的域中(删除www.prefix)

你可以在sub.example.com上设置一个_gacookie,在example.com上设置另一个cookie。因为浏览器上CookieAPI的工作方式无法判断您使用的cookie是正确的

因此,第二个数字是域中组件的数量(点分隔)

  • 对于sub.example.com,数字应该是3
  • 例如,这个数字是2
路径默认为
/
,但也可以通过将
cookiePath
选项传递到
ga.create
方法来更改路径。如果您通过它,该字段将变为两个数字分隔。第二个数字是路径中的斜线数

使用这些数字,analytics.js脚本可以正确识别在设置多个cookie时要使用的cookie

例如: 假设您有一个位于sub1.sub2.example.com/folder1的站点,如果您希望仅在站点上存储cookie,而不使其对其他子域或文件夹可见,则可以使用以下配置:

ga('create', 'UA-XXXX-Y', {
  'cookiePath': '/folder1/',
  'cookieDomain': 'sub1.sub2.example.com'
});
在这种情况下,饼干看起来像这样

_ga=1.4-2.XXXXXXXX.YYYYYYY
第三场 这是随机生成的用户ID。用于标识不同的用户

第四场 这是首次为该用户设置cookie的时间戳

new Date(1366364567*1000)
> Fri Apr 19 2013 06:42:47 GMT-0300 (BRT)
这还用于在发生用户ID冲突时唯一标识用户

值得一提的是,cookie不是API。将来可能会完全改变。谷歌不建议直接读/写_gacookie。您应该通过Analytics.js等跟踪库与Google Analytics进行交互。除了好奇,这些信息没有什么用处


如果你直接读/写cookie,那你就做错了。

我认为这会有所帮助

/**
 * Get Google Analytics UID
 * @return int
 */
public function getGAUID() {
    $uid = 0;
    if ($_COOKIE['__utma'])
        list($hash_domain, $uid, $first_visit, $prew_visit, $time_start, $num_visits) = sscanf($_COOKIE['__utma'], '%d.%d.%d.%d.%d.%d');
    elseif ($_COOKIE['_ga'])
        list($c_format, $c_domain, $uid, $first_visit) = sscanf($_COOKIE['_ga'], 'GA%d.%d.%d.%d');

    return $uid;
}

用带有ES6语法的NodeJS编写。可能会帮助别人吗

// Example: GA1.2.494614159.1574329064
const gaCookieGeneration = ({ version = 1, domain, rootpath = '/' }) => {
  const subdomains = (domain.match(/./) || []).length + 1;
  const rootpathDirs = (rootpath.match(/\//) || []).length;
  const cookiePath = rootpathDirs > 1 ? `-${rootpathDirs}` : '';
  const uniqueId = Math.random().toString().substr(2, 9);
  const timeStamp = (+new Date()).toString().substr(0, 10);
  return `GA${version}.${subdomains}${cookiePath}.${uniqueId}.${timeStamp}`;
};
const gaCookie = gaCookieGeneration({
  domain: '.example.com',
});

此外,如果您对他们更改GA cookie-@eduardo结构的原因感兴趣,您可以找出第二个字段的信息应该是什么。当我现在尝试它时,我得到了
235523905