通过运行
创建analytics.js的新实例时 ga('create', 'UA-XXXXXXX-Y', {'cookieDomain': 'none'});
GA创建一个唯一的客户端ID。 我想获取此ID并将其用于我自己的目的, 但我只能为此参数找到setter,但找不到任何getter方法来获取它。
GA稍后会在名为&cid=123123.232323
有谁知道我怎么得到它?
答案 0 :(得分:66)
Google确实有一些documentation on getting the client 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-XXXXX-XX)。
答案 1 :(得分:6)
首先创建一个Google Analytics ga 对象,通过传递&#34; Ready回调&#34; 来创建跟踪器对象函数,然后使用跟踪器调用其他方法。
ga()命令队列提供了一个界面,用于执行您对analytics.js库所需的几乎所有操作。
&#34;功能(跟踪器)&#34; 是在分析库完全加载并准备好与之交互时调用的回调函数。使用默认跟踪器对象作为第一个参数调用该函数。如果没有创建默认跟踪器,则第一个参数是/将返回undefined。
注意:调用回调函数时,所有ga对象方法都可以使用。包括您想要的 tracker.get(&#39; clientId&#39;)
将以下代码中的 UA-XXXXX-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行和第1行。 2,使用下面的代码创建一个命名跟踪器。
// Queues a named tracker object for creation.
ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');
答案 2 :(得分:4)
虽然作者明确表示他正在使用Javascript,但其他人(像我一样)可能正在寻找从服务器端获取此信息的方法,如PHP。
我发现您可以轻松检查_ga cookie,如下所示:
_ga=GA1.3.475128143.1522318100
在上面的例子中,用户ID是&#34; 475128143.1522318100&#34;。
所以,在PHP中我可以快速获取它:
$gaUserId = preg_replace("/^.+\.(.+?\..+?)$/", "\\1", @$_COOKIE['_ga']);
您还可以使用Javascript在一行中检索Cookie,而不使用ga()函数:
var gaUserId = document.cookie.match(/_ga=(.+?);/)[1].split('.').slice(-2).join(".")
这对我有用。
答案 3 :(得分:0)
如果您使用的是Google跟踪代码管理器,则可以使用用户定义的变量->变量类型:“第一方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个符号。您可以使用其他变量,例如var length = 5,但是对我来说,它看起来像是一种幻数。