我跟踪用户事件与谷歌分析前端,但我也想发送后端事件,并能够匹配事件同一用户在谷歌分析。
看起来我应该能够传递uid参数:https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#uid,但看起来我还必须传递tid参数https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#tid。
文档说"所有收集到的数据都与这个ID相关联" (tid)。
我应该为tid传递什么?为什么我不能直接传递uid,如果这应该是将事件绑定在一起的机制?
我希望后端将uid传递到前端(实际上是电子邮件的单向散列),然后使用此uid参考google分析中的用户。
这可行吗?我对如何实现这个有点困惑。
多谢!
"tid"-跟踪ID -是Web属性,即"槽"在您的分析帐户的数据去。如果你不发送追踪id,这些电话就会消失。您可以在"跟踪代码"下的属性设置中找到tid。它是一个以"UA-"开头的字符串,因此有时也被称为UA- id。
User ID不会帮助您识别用户,至少在默认情况下不会,因为它不会在Analytics界面中暴露(它实际上应该被称为"跨设备识别ID",因为这就是它的用途)。如果希望标识用户,则需要创建自定义维度并在其中传递User ID的值。根据TOS,你必须注意,没有第三方,包括谷歌,可以解析你的用户ID(或任何其他数据点),以识别一个人,当然,你可以使用自己的数据连接到其他数据在你的后端系统。
其实有一个合适的方法。我已经为自己实现了这个
有一个Client ID
参数,应该与您的请求一起传递。
你有两个选择:
-
在服务器端手动创建此
client id
(通过生成UUID
)并将其传递给前端。然后在创建跟踪器时使用此值,并将其用于服务器端请求。//creating of a tracker with manually generated client id ga('create', 'UA-XXXXX-Y', { 'storage': 'none', 'clientId': '76c24efd-ec42-492a-92df-c62cfd4540a3' });
当然,您需要实现一些在cookie中存储
client id
的逻辑,例如 -
您可以使用由
ga
自动生成的client id
,然后通过您选择的方法将其发送到服务器端。我已经通过cookies实现了它:// Creates a default tracker. ga('create', 'UA-XXXXX-Y', auto); // Gets the client ID of the default tracker and logs it. ga(function(tracker) { var clientId = tracker.get('clientId'); //setting the cookie with jQuery help $.cookie("client-id", clientId , { path : "/" }); });
然后在后端访问这个cookie并使用
client id
来处理您的请求。
还可以在这里找到一些信息:当通过测量协议将跟踪数据发送到谷歌分析时,客户端ID是什么?