如何获取谷歌分析客户端ID
how to get the Google analytics client ID
当您通过运行创建analysis.js的新实例时
ga('create', 'UA-XXXXXXX-Y', {'cookieDomain': 'none'});
GA创建一个唯一的客户端Id。我想获取这个id并将其用于我自己的目的,但我只能找到这个参数的setter,但找不到任何getter方法来获取它
GA稍后在一个名为&cid=123123.232323
的参数中发送
有人知道我怎么得到它吗?
Google确实有一些关于获取客户端id的文档。
看起来像这样:
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
我以前也用过这个:
ga.getAll()[0].get('clientId');
编辑:如果你在页面上有多个跟踪器,那么在索引0处可能没有你想要的跟踪器,所以替代功能应该是:
function() {
try {
var trackers = ga.getAll();
var i, len;
for (i = 0, len = trackers.length; i < len; i += 1) {
if (trackers[i].get('trackingId') === "ID-PROPERTY") {
return trackers[i].get('clientId');
}
}
} catch(e) {}
return 'false';
}
其中ID-PROPERTY是您的财产的ID(即UA-XXXX-XX)。
尽管作者明确表示他正在使用Javascript,但其他人(比如我)可能正在寻找从服务器端获取这些信息的方法,比如PHP。
对于GA4和UA,我发现你可以很容易地检查_ga cookie,它看起来像:
_ga=GA1.3.475128143.1522318100
在上面的示例中,用户id是"0";475128143.1522318100";。
因此,在PHP中,我可以很快将其获取为:
$gaUserId = preg_replace("/^.+'.(.+?'..+?)$/", "''1", @$_COOKIE['_ga']);
您也可以使用Javascript在一行中检索cookie,而无需使用ga()函数:
var gaUserId = document.cookie.match(/_ga=(.+?);/)[1].split('.').slice(-2).join(".")
这对我有用。
首先创建Google Analyticsga对象,通过向其传递"准备回调"函数,然后使用跟踪器调用其他方法。
ga()命令队列提供了一个接口,用于执行analystics.js库所需的几乎所有操作。
";功能(跟踪器)"是一个回调函数,在分析库完全加载并准备好与之交互时调用。调用该函数时,将默认跟踪器对象作为其第一个参数。如果没有创建默认跟踪器,则第一个参数为/将返回undefined。
注意:当调用回调函数时,所有ga对象方法都可以使用。包括您想要的跟踪器.get('clientId')
将下面代码中的UA-XXXX-Y替换为来自Google Analytics的UA代码。
// Queues a tracker object for creation.
ga('create', 'UA-XXXXX-Y', 'auto');
// Once the tracker has been created, log the
// client ID to the console.
ga(function(tracker) {
console.log(tracker.get('clientId'));
/* Your other code here */
});
可替换地,对于行1&2,使用下面的代码创建一个命名跟踪器。
// Queues a named tracker object for creation.
ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');
谷歌官方文档:Cookie和用户标识
如果您使用谷歌标签管理器,您可以使用用户定义变量->变量类型:;第一方Cookie"->Cookie名称=_ga。让我们称之为";GA Cookie";。它将像GA.1.1.123.123那样存储值。
为了切割";GA.1.1";,制作另一个用户定义变量->变量类型:;自定义JavaScript";并编写一个简单的JS函数:
function() {
var pattern = "GA1.1.";
var id = {{GA Cookie}}.substr(pattern.length);
return id;
}
它并不总是";GA1.1";,但它仍然有5个迹象。你可以使用不同的变量,比如varlength=5,但对我来说,它看起来像一个幻数。
ga((tracker) => {
console.log(tracker.get('trackingId'));
});
- Instagram客户端ID是否特定于每个使用它的人
- 在代码隐藏 (asp.net VB) 中返回“完整”客户端 ID
- 将客户端 ID 从 GridView 中传递给 JavaScript 函数
- 如何访问相关的客户端ID
- 无法访问字段'通过aspx页面上的javascript函数传递来自代码隐藏中函数调用的客户端id的s值(页面加载
- 正在获取Gridview中文本框的客户端ID
- 正在获取javascript中的客户端ID
- 如何获取谷歌分析客户端ID
- 如何通过 JavaScript 发送 asp.net 控件的客户端 ID
- 通过锚标记将另一个控件的客户端 ID 发送到 JavaScript
- 通过客户端 ID 命名 JS 函数
- 如何检索谷歌地图客户端ID
- 了解 $asp.net 和 _(下划线)差异的客户端 ID 生成
- asp.net多用户控制客户端id问题
- Chrome应用程序-标识API-错误的客户端ID NON_NAME
- 我可以将socket.io客户端id转换为稍短的id而不会遇到碰撞风险吗
- 如何在javascript中获取gridview中dropdownlist的客户端ID
- 在asp.net 3.5中为动态生成的文本框设置客户端id static
- 如何将OAuth2客户端id与chrome扩展文件一起分发
- Google API客户端ID不是't授权