【问题标题】:Avoiding Google Tag Manager blocking by AdBlockers避免 AdBlockers 阻止 Google Tag Manager
【发布时间】:2017-05-02 01:40:00
【问题描述】:

我过去曾在我的 react Web 应用程序中使用振幅分析来发送事件数据。但是,我刚开始使用 Google Tag Manager 并注意到它没有运行,因为被 adBlockers 阻止了。 Amplitude 始终可以正常工作,因为我通过 NPM install 'github:amplitude/Amplitude-Javascript' 加载了他们的 Javascript SDK,并在应用程序加载时使用客户端 API 密钥对其进行了初始化。我喜欢谷歌标签管理器的方法,我没有重新部署应用程序来更改我的分析逻辑。我怎样才能采取类似的方法来避免被广告拦截器阻止。

很可能是因为 Google 产品很受欢迎,所以 Adblock 专门只是屏蔽了 google 分析产品而不是其他分析产品。

【问题讨论】:

    标签: google-analytics google-tag-manager


    【解决方案1】:

    你没有。如果人们不想被跟踪,那是他们的决定。您不应该强迫人们向您提供他们不想提供的任何数据。特别是通过使用一些阴暗的“绕过”措施。而是——

    您可以使用 cookie 永久禁用对不希望被跟踪的人的跟踪,以帮助您保留可靠的分析。见:http://www.multiminds.eu/2016/05/19/how-to-disable-tracking-via-google-tag-manager/

    或者,更好的是,只需衡量禁用跟踪的访问者的百分比,这样您的分析数据就可以保持准确。见:https://marthijnhoiting.com/detect-if-someone-is-blocking-google-analytics-or-google-tag-manager/

    【讨论】:

    • 但这不一定是关于这个的。例如,我不关心“用户 X”。我不想知道你是谁或你在我的网站上做什么,我只想知道我的网站上有多少用户或跟踪页面浏览量(不链接到用户,但一般来说),这页面/部分是最有价值/访问等。另外,广告块应该是关于广告和烦人的弹出窗口,而不是关于分析。它的名称是“adblock”,而不是“analytics block”或“track block”。这是误导:)
    • 无论如何,我正在研究解决方案。如果成功(应该),将发布答案
    • 发现这对于我们托管的云应用程序来说也是一个烦人的问题。不能只下载该 JS 并将其作为本地 .JS 文件包含到您的项目中吗?
    • 那是一个垃圾答案。在任何网站上全天候 24/7 跟踪用户,因此没有任何扩展可以帮助您。有些网站甚至会跟踪您的鼠标移动,然后它们会重播这些操作等。使用谷歌分析,您可能只想知道是否有用户访问您的网站、有多少用户、主要使用哪些设备(因此您可以更改网站,例如98% 的用户正在使用电话,而您的网站对电话不友好)等等。我自己有 GA,我不允许谷歌使用我收集的任何数据。它只是为了让您的用户对网络改进有基本的了解
    • 公平地指出,如果你在我的财产上。我可以跟踪你。
    【解决方案2】:

    是的,这是可能的。
    您可以为 Google Tag Manager 使用反向代理。

    1. 首先,下载 Google Analytics JavaScript 库本身并将其托管在您的服务器上。

    2. 然后更改下载库中的代码,使用 find-replace 将目标主机从 www.google-analytics.com 更改为您自己的域名。

    3. 将代码库中默认 Google Analytics 脚本的链接替换为修改后的链接。

    4. 为您的后端的 Google Analytics(分析)服务器创建一个代理端点。这里的一个重要步骤是另外检测客户端的 IP 地址,并将其明确写入到 Google Analytics 服务器的请求中,以保持正确的位置检测。 测试结果。大功告成!

    freecodecamp.org/news/save-your-analytics-from-content-blockershttps://analytics-bypassing-adblockers.netlify.com 的更多详细信息

    【讨论】:

      【解决方案3】:

      dataunlocker.com 以及其他一些开源替代方案(12)可以帮助修复 Google Tag Manager、Amplitude、Google Analytics 等报告的准确性。

      谈到道德和隐私,DataUnlocker 等工具只是让您绕过广告拦截器的工具,就好像您已经实施了服务器端分析一样。我认为通过正确实施“我们使用 cookie”同意可以解决任何隐私问题。

      【讨论】:

        【解决方案4】:

        我已经设法在节点应用程序中通过以下方式绕过了一些障碍:

        var request = require('request');
        
        app.get('/proxy*', function(req,res) {
        
          const newurl = req.url.split('/proxy/')[1];
          const data = request(newurl);
          //data.on('response', function(response){console.log(JSON.stringify(response))});
          data.pipe(res);
        
        });
        

        然后在你的 sn-ps for GTM prepend: "/proxy/" 在 url 中,现在调用通过你的服务器。

        上面的警告是,如果没有额外的代码,您无法预览容器,但容器确实可以正确加载。缺少预览是另一个需要处理的问题。

        【讨论】:

          猜你喜欢
          • 2022-01-04
          • 2014-07-03
          • 1970-01-01
          • 1970-01-01
          • 2018-10-03
          • 2021-12-03
          • 2015-04-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多