use*_*757 30 javascript google-analytics
当您通过运行创建analytics.js的新实例时
ga('create', 'UA-XXXXXXX-Y', {'cookieDomain': 'none'});
GA创建一个唯一的客户端ID.我想获取此ID并将其用于我自己的目的,但我只能找到此参数的setter但找不到任何getter方法来获取它.
GA稍后会在一个名为的参数中发送它 &cid=123123.232323
有谁知道我怎么得到它?
Ble*_*exy 69
谷歌确实有一些关于获取客户端ID的文档.
看起来像这样:
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
Run Code Online (Sandbox Code Playgroud)
我以前也用过这个:
ga.getAll()[0].get('clientId');
Run Code Online (Sandbox Code Playgroud)
编辑:如果页面上有多个跟踪器,则索引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';
}
Run Code Online (Sandbox Code Playgroud)
其中ID-PROPERTY是您的财产的ID(即UA-XXXXX-XX).
首先创建Google Analytics ga对象以创建跟踪器对象,方法是将其传递给"Ready callback"函数,然后使用跟踪器调用其他方法.
该GA()命令队列提供一个接口,这样做几乎所有你需要与analytics.js库做的一切.
"function(tracker)"是在分析库完全加载并准备与之交互时调用的回调函数.使用默认跟踪器对象作为第一个参数调用该函数.如果没有创建默认跟踪器,则第一个参数是/将返回undefined.
注意:调用回调函数时,所有ga对象方法都可以使用.包括你想要的tracker.get('clientId')
使用Google Analytics中的UA代码替换下面代码中的UA-XXXXX-Y.
// 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 */
});
Run Code Online (Sandbox Code Playgroud)
或者对于第1行和第2行,请使用以下代码创建命名跟踪器.
// Queues a named tracker object for creation.
ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');
Run Code Online (Sandbox Code Playgroud)
尽管作者明确表示他正在使用Javascript,但其他人(例如我)可能正在寻找一种从服务器端获取此信息的方法,例如PHP。
我发现您可以轻松检查_ga cookie,如下所示:
_ga=GA1.3.475128143.1522318100
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,用户标识为“ 475128143.1522318318100”。
因此,在PHP中,我可以按以下方式快速获取它:
$gaUserId = preg_replace("/^.+\.(.+?\..+?)$/", "\\1", @$_COOKIE['_ga']);
Run Code Online (Sandbox Code Playgroud)
您也可以使用Javascript在一行中检索Cookie,而无需使用ga()函数:
var gaUserId = document.cookie.match(/_ga=(.+?);/)[1].split('.').slice(-2).join(".")
Run Code Online (Sandbox Code Playgroud)
这对我有用。
| 归档时间: |
|
| 查看次数: |
52791 次 |
| 最近记录: |