在发送到 google analytics 之前从 url 中删除查询参数

Strip query parameters from url before sending to google analytics

我在页面上使用标准 Google 分析代码段将信息发送到 google 分析。

由于各种原因,我的页面是通过查询参数到达的。

在理想世界中,情况并非如此,但它不是一个完美的世界,所以 我必须避免将其发送到 google 分析,因为它包含个人信息.

我试过以下方法:

  1. 这里建议的是:,如下:((抱歉格式化实在是不会打球D:)

    _gaq.push(['_trackPageview', location.pathname ]);

    (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', '//www.google-analytics.com/analytics.js', 'ga');
    ga('create', '@gaToken', 'auto');
    ga('send', 'pageview', location.pathname);
    

我一直在手动向 url 添加查询参数并使用 ObservePoint 检查内容。内容信息包含“http://localhost/my/url/page?uiop=qwert”的文档位置 URL...这似乎意味着 _gaq.push 行根本没有做任何事情。

  1. 我尝试深入研究该功能并手动更改 url,但它只是导致页面刷新无限循环:

    (函数(i, s, o, g, r, a, m) { 警报(i.location.href); var locn = i.location.href.indexOf("?") i.location.href = i.location.href.substring(0, locn) 我['GoogleAnalyticsObject']=r; i[r]=i[r]||函数(){ (i[r].q=i[r].q||[]).push(参数) }, 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', '//www.google-analytics.com/analytics.js', 'ga');ga('create', '@gaToken', 'auto');

  2. 我无权访问跟踪代码管理器,我认为这可能是一个基于以下选项的选项:http://www.lunametrics.com/blog/2015/04/17/strip-query-parameters-google-analytics/

任何建议将不胜感激,我已经无计可施了:(

(为格式道歉,它不合作:(

您的第一个选项是正确的,但您使用的代码是针对以前版本的 Google Analytics。

而是将 ga('send', 'pageview'); 替换为 ga('send', 'pageview', location.pathname); 请参阅 page tracking documentation 以供参考。

您可以尝试使用 Google 标签管理器:在标签的设置中,有一个名为 'Fields to set' 的选项,您可以在其中手动编辑发送至 [=19] 的任何信息=] 分析(请注意,这发生在本地,因此可以解决您的数据保护问题)。

这是我手动编辑 'Page field' 的示例,这就是您需要做的。在这种情况下,我选择了一对自定义变量来输入,但您可能需要一个自定义 JavaScript 变量,它采用标准 {{Page Path}} 变量(这是由默认)和 returns 第一个问号之前的所有内容。