0

我使用了一个 JavaScript 标签,它使用谷歌分析跟踪个人登录用户。它有一个语句“ga('send', 'pageview');”,它会在 Google Analytics 的用户资源管理器中显示特定用户查看过的页面。我想发送事件(我已经在 GTM 中创建)以及参考用户 ID 的网页浏览量,即在我的情况下为 shKey。

这是我的 JS 标签中的代码;

 <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
    ga('create', 'UA-xxxxxxxxx-x' , 'auto');
    ga('set', 'userId', arguments.shKey);
    ga('set', 'dimension1', arguments.fname);
    ga('set', 'dimension2', arguments.type);
    ga('send', 'pageview'); 
    ga('send', 'event');
    </script>
4

2 回答 2

0
  1. 您的 ga('send', 'event') 签名错误。事件需要类别和行动。所以你的事件应该看起来像: ga('send', 'event', 'category', 'action', 'label');
  2. 你在战略上做错了。您正在通过 JS 解决应该通过 GTM UI 解决的问题。短期来看,用 JS 来做这件事似乎更容易、更优雅。然而,从长远来看,它会使 GTM 过时并增加您的技术债务,因此实施变得非常难以维护。
于 2021-09-23T10:42:53.477 回答
0

您有 2 个问题:您的代码不会发送事件(您缺少参数),并且您需要解决 PII(请参见下文)

这是您以编程方式发送事件的方式:
https ://developers.google.com/analytics/devguides/collection/analyticsjs/events

ga('send', 'event', 'My Category', 'My Action', 'My Label');

但是,如果您使用 GTM,您可能想了解如何使用 GTM 处理事件:
https ://developers.google.com/tag-manager/devguide

// You need to configure GTM UI to handle below event as desired
dataLayer.push({'event': 'event_name'});

关于 PII,这是来自 Google 的权威答案:https :
//support.google.com/analytics/answer/6366371?hl=en

Google 政策规定不得向 Google 传递任何可能被 Google 用作或识别为个人身份信息 (PII)的数据。PII 包括但不限于电子邮件地址、个人手机号码和社会安全号码等信息

如果您想使用 PII,则必须在发送之前对其进行加密,来自与上述相同的链接:

只要您使用正确的加密级别,您就可以向 Google Analytics 发送基于 PII 的加密标识符或自定义维度。Google 的最低哈希要求为 SHA256

除此之外,可能还有其他法律限制,具体取决于您和您的客户所在的司法管辖区(例如,在欧洲,您将拥有 GDPR)。

于 2021-09-23T12:42:34.083 回答