kar*_*ick 51 cookies analytics google-analytics web-analytics analytics.js
我正在使用通用分析.通用分析创建第一方cookie_ga
_ga=1.2.286403989.1366364567;
Run Code Online (Sandbox Code Playgroud)
286403989是clientId
1366364567是时间戳
是什么1和2_ga cookie?
Edu*_*rdo 94
_ga=1.2.286403989.1366364567;
Run Code Online (Sandbox Code Playgroud)
这是版本号.如果cookie格式将来发生变化.似乎目前固定在1.上面的一个是旧格式.较新的Cookie将此值设置为"GA1"
如果在不同的路径或域中设置了多个cookie,则此字段用于确定正确的cookie.
默认情况下,cookie在path.location.hostname的路径/和域中设置(删除了www.前缀).
您可以在sub.example.com上设置_ga cookie,在example.com上设置另一个cookie.由于浏览器上的cookie API的工作方式,无法分辨您使用的cookie是正确的.
所以第二个数字是域中的组件数(点分隔).
路径默认为,/但您也可以通过将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'
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,cookie会看起来像这样;
_ga=1.4-2.XXXXXXXX.YYYYYYY
Run Code Online (Sandbox Code Playgroud)
这是随机生成的用户ID.用于标识不同的用户.
这是第一次为该用户设置cookie的时间戳.
new Date(1366364567*1000)
> Fri Apr 19 2013 06:42:47 GMT-0300 (BRT)
Run Code Online (Sandbox Code Playgroud)
这也用于在userId冲突的情况下唯一地标识用户.
值得一提的是,cookie不是API.将来它可能会彻底改变.Google不建议直接读取/写入_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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64213 次 |
| 最近记录: |