使用测量协议向 GA 发送数据时如何获取客户端 ID?
How to get the client id while sending data to GA using Measurement protocol?
我尝试通过前端 (js) 和后端(测量协议)使用 analytics.js (Universal Analytics)。
通过前端(js方式)使用时:
我检查是否有一个名为 _ga 的 cookie,其值为 GA1.2.1360127879.1438853622 。并且它通过请求 'http://www.google-analytics.com/collect?...' 将数据发送到 cid=1360127879.1438853622 的 GA。我知道 1360127879 是唯一 ID,1438853622 是时间戳。
通过后端(测量协议)使用时:
我在这里有几个问题:
1. 如何从浏览器获取客户端 ID?
一种方法是从后端读取 _ga cookie 并从 it.But 解析客户端 ID 我读到它不是 recommended.Because google 可以更改格式 anytime.Somewhere 我读到那个用法:
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
但我不知道如何使用它在后端获取客户端 ID?我想使用前端正在使用的相同客户端 ID。
2. client id 到底是什么?是单独的唯一id还是unique_id.timestamp的组合。我应该从后端发送什么给 GA?
如果您查看使用推荐 Google 分析 JavaScript 代码段的网站,您会看到它发送的客户端 ID 如下所示:
324729700.1423421585
存储在 _ga
cookie 中的值如下所示:
GA1.3.324729700.1423421585
注意最后两部分是一样的,只有 GA1.3
部分不同。
您唯一需要关心的部分是发送到 Measurement Protocol 的客户端 ID,因此如果您可以从服务器访问 _ga
cookie,则应该去除 GAX.X.
前缀,只发送其余部分。
But i read that it is not recommended. Because google can change the format anytime.
这不是真的。这些 cookie 的有效期为两年,因此它们可能不会更改。想想看,如果 Google 确实改变了它们,数百万网站的数据会突然出错,所以他们没有充分的理由这样做。
FWIW,在服务器端跟踪用户的最佳方法是使用 User ID 功能,但如果您的用户未通过身份验证,则使用现有的客户端 ID 完全没问题。
更新:
回答你的第二个问题,时间戳是客户端ID的一部分,不要去掉它。时间戳用于帮助制作 ID "more unique".
我尝试通过前端 (js) 和后端(测量协议)使用 analytics.js (Universal Analytics)。
通过前端(js方式)使用时:
我检查是否有一个名为 _ga 的 cookie,其值为 GA1.2.1360127879.1438853622 。并且它通过请求 'http://www.google-analytics.com/collect?...' 将数据发送到 cid=1360127879.1438853622 的 GA。我知道 1360127879 是唯一 ID,1438853622 是时间戳。
通过后端(测量协议)使用时:
我在这里有几个问题:
1. 如何从浏览器获取客户端 ID?
一种方法是从后端读取 _ga cookie 并从 it.But 解析客户端 ID 我读到它不是 recommended.Because google 可以更改格式 anytime.Somewhere 我读到那个用法:
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
但我不知道如何使用它在后端获取客户端 ID?我想使用前端正在使用的相同客户端 ID。
2. client id 到底是什么?是单独的唯一id还是unique_id.timestamp的组合。我应该从后端发送什么给 GA?
如果您查看使用推荐 Google 分析 JavaScript 代码段的网站,您会看到它发送的客户端 ID 如下所示:
324729700.1423421585
存储在 _ga
cookie 中的值如下所示:
GA1.3.324729700.1423421585
注意最后两部分是一样的,只有 GA1.3
部分不同。
您唯一需要关心的部分是发送到 Measurement Protocol 的客户端 ID,因此如果您可以从服务器访问 _ga
cookie,则应该去除 GAX.X.
前缀,只发送其余部分。
But i read that it is not recommended. Because google can change the format anytime.
这不是真的。这些 cookie 的有效期为两年,因此它们可能不会更改。想想看,如果 Google 确实改变了它们,数百万网站的数据会突然出错,所以他们没有充分的理由这样做。
FWIW,在服务器端跟踪用户的最佳方法是使用 User ID 功能,但如果您的用户未通过身份验证,则使用现有的客户端 ID 完全没问题。
更新:
回答你的第二个问题,时间戳是客户端ID的一部分,不要去掉它。时间戳用于帮助制作 ID "more unique".