Sho*_*eek 4 javascript google-analytics google-analytics-api universal-analytics measurement-protocol
我尝试通过前端(js)和后端(测量协议)使用analytics.js(Universal Analytics).
通过前端(js方式)使用时:
我检查是否有一个名为_ga的cookie,其值为GA1.2.1360127879.1438853622.它通过请求'http://www.google-analytics.com/collect?...'将数据发送到GA,cid = 1360127879.1438853622 .我知道1360127879是唯一的id而1438853622是时间戳.
通过后端使用时(测量协议):
我在这里提出的问题很少:
1.如何从浏览器获取客户端ID?
一种方法是从后端读取_ga cookie并从中解析客户端ID.但是我读到它不推荐.因为google可以随时更改格式.我读到的地方使用:
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
Run Code Online (Sandbox Code Playgroud)
但我没有得到如何在后端使用此获取客户端ID?我想使用前端正在使用的相同客户端ID.
2.什么是客户端ID?它是唯一的id还是unique_id.timestamp的组合.我应该从后端向GA发送什么?
如果您查看使用推荐的Google Analytics JavaScript代码段的网站,您会看到它发送的客户端ID如下所示:
324729700.1423421585
Run Code Online (Sandbox Code Playgroud)
存储在_gacookie中的值看起来像这样:
GA1.3.324729700.1423421585
Run Code Online (Sandbox Code Playgroud)
注意最后两个部分是如何相同的,只是GA1.3部分是不同的.
您需要关注的唯一部分是发送到Measurement Protocol的客户端ID ,因此如果您可以_ga从服务器访问cookie,则应该删除GAX.X.前缀并发送其余内容.
但我读到它不推荐.因为谷歌可以随时更改格式.
事实并非如此.这些cookie有两年的到期时间,所以它们可能不会被更改.考虑一下,如果谷歌确实改变了它们,数百万个网站的数据会突然出错,所以他们没有充分理由这样做.
FWIW,跟踪用户服务器端的最佳方式是使用用户ID功能,但如果您的用户未经过身份验证,那么使用现有的客户端ID完全没问题.
更新:
要回答第二个问题,时间戳是客户端ID的一部分,请不要删除它.时间戳用于帮助使ID"更加独特".
| 归档时间: |
|
| 查看次数: |
1450 次 |
| 最近记录: |