我使用了一个JavaScript标签,它是跟踪个人登录用户使用谷歌分析。它有一个声明"ga('send', 'pageview');",这导致显示页面的特定用户已查看,在谷歌分析的用户浏览器。我想发送事件(我已经在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>
您有两个问题:您的代码不会发送事件(您缺少参数),并且您需要解决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传递数据可以使用或识别为个人身份信息(PII).PII包括但不限于电子邮件等信息地址、个人手机号码和社会保险号码
如果你想使用PII,它必须在发送之前加密,从上面的相同链接:
您可以向Google Analytics发送加密标识符或自定义维度,只要您使用正确的加密级别。Google的最小哈希要求为SHA256
最重要的是,根据您和您的客户所在的司法管辖区,可能会有额外的法律限制(例如,在欧洲,您将有GDPR)。
- 您的ga('send', 'event')签名错误。事件需要分类和操作。所以你的事件应该看起来像这样:ga('send', 'event', 'category', 'action', 'label'); 你在战略上做错了。你正在通过JS解决应该通过GTM UI解决的问题。从短期来看,在JS中做这件事似乎更容易、更优雅。然而,从长远来看,它使GTM过时并增加了您的技术债务,因此实现变得非常难以维护。