cookies - 如何在_ga和_gid中生成第三个字段?

标签 cookies google-analytics analytics web-analytics analytics.js

我对 _gid 和 _ga 进行了过多的调查。据我所知,它们的定义:

_ga:用于识别唯一用户,并在 2 年后过期。

_gid:用于标识唯一用户,并在 24 小时后过期。

例子:

_ga: GA1.3.292651669.1502954402
_gid: GA1.3.974792242.1509957189

来自 what are the values in _ga cookie? ,我知道_ga中每个归档的含义。 _gid 也是如此。

但我不知道如何生成第三个字段,随机生成的用户 ID(对于 _ga:292651669 和对于 _gid: 974792242)。

我试图删除 _ga 和 _gid,我得到了一对新的 _ga:GA1.3.2097663971.1509959880 和 _gid:GA1.3.1180999143.1509959880。两者的第三个字段都发生了变化。那么他们如何生成以及谷歌如何通过他们识别用户。假设我今天用几个 _gid 和 _ga 打开浏览器,明天,我清除了所有 cookie,ga 将创建新的 couplw (_gid,_ga)。这意味着我在今天不同的明天的我。

请帮我。

谢谢和最好的问候,

詹姆斯

最佳答案

这是来自 analytics.js 发布 2017-09-21 的代码,用于生成随机 ID。
它是基于当前时间的随机值,userAgent , cookie , referrerhistory.length来自 window目的。

var O = window;

// var M = document;
// Stack Overflow doesn't allow cookie access in sandbox, so lets fake it:
var M = [];
M.cookie = "cookieName=someValue";

var hd = function() {
    return Math.round(2147483647 * Math.random())
}

function La(a) {
    var b = 1, c;
    if (a)
        for (b = 0,
        c = a.length - 1; 0 <= c; c--) {
            var d = a.charCodeAt(c);
            b = (b << 6 & 268435455) + d + (d << 14);
            d = b & 266338304;
            b = 0 != d ? b ^ d >> 21 : b
        }
    return b
}

var ra = function() {
    for (var a = O.navigator.userAgent + (M.cookie ? M.cookie : "") + (M.referrer ? M.referrer : ""), b = a.length, c = O.history.length; 0 < c; )
        a += c-- ^ b++;
    return [hd() ^ La(a) & 2147483647, Math.round((new Date).getTime() / 1E3)].join(".")
}


document.getElementById('output').innerText = ra();
<h3>Output:</h3>
<pre id="output"></pre>

关于cookies - 如何在_ga和_gid中生成第三个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47133586/

相关文章:

javascript - 将事件发送到两个单独的谷歌分析帐户?

google-analytics - 代码中的多个 trackpageview 调用

youtube - 使用Universal Analytics跟踪嵌入式YouTube视频

sql - 哪些仪表板分析将支持 Parse.com 数据源?

java - 从 PL/SQL 中的数据创建 "on the fly"图形图像

python - 带有 cookie 的 urllib2

javascript - 从 cookie javascript 捕获特定值

node.js - 如何以及何时生成 Node/Express cookie secret ?

java - Tomcat 8 迁移 - 如何获取响应 cookie

javascript - Chrome 扩展将外部 javascript 添加到当前页面的 html