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

时间:2015-07-30 14:01:27

标签: google-analytics

我正在使用谷歌分析跟踪前端的用户事件,但我还想发回最终事件,并能够在谷歌分析中为同一用户匹配事件。

看起来我应该能够传递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 Analytics中引用用户。

这可行吗?我对如何实现这一点感到有些困惑。

非常感谢!

2 个答案:

答案 0 :(得分:0)

“tid” - 跟踪ID - 是网络媒体资源,即数据转到的Google Analytics帐户中的“广告位”。如果您不发送跟踪ID,则呼叫将消失。您可以在“跟踪代码”下的属性设置中找到该提示。它是一个以“UA-”开头的字符串,因此有时也被称为UA-ID。

用户ID无法帮助您识别用户,至少在默认情况下不会,因为它未在Google Analytics界面中公开(它应该被称为“跨设备识别ID”,因为它就是它的用途) 。如果要识别用户,则需要创建自定义维度并在其中传递用户ID的值。根据服务条款,您必须注意,包括谷歌在内的任何第三方都无法将您的用户ID(或任何其他数据点)解析为可识别某人的内容,当然您也可以将自己用于将数据连接到后端系统中的其他数据。

答案 1 :(得分:0)

实际上有一种正确的方法。我已经为自己实现了这个。

有一个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. 您可以使用由client id自动生成的ga,然后通过您选择的方法将其发送到服务器端。我通过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来处理您的请求。

  3. 此处还可以找到一些信息:What is the client ID when sending tracking data to google analytics via the measurement protocol?