_ga cookie中的值是多less?

我正在使用通用分析 。 通用分析创build第一方cookie _ga

  _ga=1.2.286403989.1366364567; 

286403989是clientId

1366364567是时间戳

什么是_ga cookie中的12

 _ga=1.2.286403989.1366364567; 

这些是4点分隔的字段。 这是我到目前为止所能想到的:

第一场

我不确定,但我相信这是一个版本号。 如果cookie格式将来发生变化。 似乎目前固定在1。

第二场

如果在不同的path或域中设置多个Cookie,则此字段用于计算出正确的Cookie。

默认情况下,cookie设置在path /和document.location.hostname的域上(www。前缀已被删除)。

您可以在sub.example.com上设置_ga cookie,在example.com上设置另一个cookie。 因为浏览器上的Cookie API的工作方式,因此无法确定您使用的Cookie是哪一个。

所以第二个数字是在域的组件(点分隔)的数量。

  • 对于sub.example.com数字将是3
  • example.com的数字是2

path默认为/但您也可以通过将cookiePath选项传递给ga.create方法来更改它。 如果你通过它这个领域变成2个数字冲刺分离。 第二个数字是path中的数字。

analytics.js脚本使用这些数字可以正确识别要设置多个Cookie的情况下使用的Cookie。

例如:假设您有一个网站位于sub1.sub2.example.com/folder1,以防您只想在您的网站上存储cookie,而不能使其对其他子域或文件夹可见,则可以使用以下configuration:

 ga('create', 'UA-XXXX-Y', { 'cookiePath': '/folder1/', 'cookieDomain': 'sub1.sub2.example.com' }); 

在这种情况下,cookies看起来会像这样;

 _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。 将来它可能会完全改变。 Google不build议直接读/写_ga cookie。 您应该通过其中一个跟踪库(例如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; }