通过 API 记录 Google 分析目标

Recording Google Analytics Goal by API

是否可以使用 userID 和 API 来记录用户在 API 之前完成的事件(即达到目标)?

例如,如果我将我的 GA 安装设置为记录登录用户的用户 ID,但我要记录的目标是用户离线时发生的事情。

我可以使用 API 以某种方式告诉 Google "User 001 completed Goal X" 吗?

或者,或者,我可以从用户的 cookie 中提取一个唯一标识符,将其存储在与用户 ID 相关联的服务器端,并在达到目标后伪造一个返回 Google 的 js 回调,就像用户正在查看成功页面一样?

您可以获取 client id from the cookie。 Google推荐使用他们的get函数:

ga(function(tracker) {
  var clientId = tracker.get('clientId');
});

作为

developers should not directly access the cookie analytics.js sets as the cookie format might change without warning.

然后您可以使用 measurement protocol 发送一个事件或虚拟 url 并根据该 url 或事件设置一个目标(顺便说一句。没有任何东西 "fake" 关于它,这正是测量协议应该涵盖的内容)。

需要注意的是,数据可能会在新会话中结束,因此原始来源可能会丢失(如果您做广告,这是一个问题)。

如果您的用户经常登录,另一种方法是 User-ID feature(尽管它的名称不是单个用户的 ID,但它允许跨设备收集用户数据,只要有一个唯一的 ID从每台设备向每个用户发送。Id 未在界面中公开)。

您将再次使用测量协议,但这次发送用户 ID(您仍需要发送客户端 ID,但它将被用户 ID 覆盖)。如果您启用会话统一,用户的登录访问(以及您的测量协议调用)将被拼接成用户级报告(这需要一个特殊的数据视图,其中仅包含来自具有用户 ID 集的访问的数据).与由 Google Analytics Javascript 代码生成的客户端 ID 不同,用户 ID 是在您的服务器上生成并传递给 GA。