如何将谷歌分析中的前端和后端事件联系在一起



我跟踪用户事件与谷歌分析前端,但我也想发送后端事件,并能够匹配事件同一用户在谷歌分析。

看起来我应该能够传递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参数,应该与您的请求一起传递。

你有两个选择:

  1. 在服务器端手动创建此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的逻辑,例如

  2. 您可以使用由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是什么?

最新更新