【问题标题】:Unload/remove/disable Google Analytics dynamically without a full page load在不加载完整页面的情况下动态卸载/删除/禁用 Google Analytics
【发布时间】:2020-05-12 23:01:38
【问题描述】:

我看到了有关如何将 Google Analytics/GA 动态添加到页面中的各种指南,例如用于单页应用程序/SPA。

我该如何做相反的事情,即用户点击一个按钮,Google Analytics 从该页面完全删除,而没有完整的页面加载?

https://developers.google.com/analytics/devguides/collection/gtagjs/user-opt-out的说明建议设置

window['ga-disable-GA_MEASUREMENT_ID'] = true;

我认为这样做没有帮助,因为页面说明

必须在调用 gtag() 之前设置此窗口属性

【问题讨论】:

  • 您要完全删除吗?是否禁用它?
  • @PramodNikam 禁用可以,但理想情况下,完全删除。
  • 您至少可以禁用它并在下次刷新时将其删除。您可以尝试从头中删除脚本标签,但我不确定这是否有效。也可以在js中去掉google设置的cookies

标签: javascript google-analytics


【解决方案1】:

我最终解决了这个问题,这与我在任何地方看到的有所不同。我正在开发的应用程序在全球范围内进行跟踪,但还需要为该组织跟踪某个组织拥有的内容。

所以我不这样做

gtag('config', 'GA_MEASUREMENT_ID)

改为使用send_to 字段。基本上看起来像

const measurementIds = [ GA_MEASUREMENT_ID_1, GA_MEASUREMENT_ID_2 ];
measurementIds.forEach(id => {
  gtag('event', 'page_view', { send_to: id });
})

当用户输入各种内容时,我将他们的 ID 添加或删除到 measurementIds 数组中。

【讨论】:

    【解决方案2】:

    您可以通过刷新页面退出和设置轻松做到这一点:

    window['ga-disable-TRACKING-ID'] = true;
    

    在加载 gtag 之前。

    更多细节在这里: User opt-out with gtag.js

    在不重新加载的情况下禁用跟踪(不是全部):

    gtag('config', 'GA_MEASUREMENT_ID', { 'send_page_view': false })
    gtag('set', 'allow_ad_personalization_signals', false)
    

    【讨论】:

    • 明白了,但问题是如何做到这一点刷新页面。
    • gtag('config', 'GA_MEASUREMENT_ID', { 'send_page_view': false })gtag('set', 'allow_ad_personalization_signals', false)
    • 或者不使用默认的 gtag,而是使用一些库——例如在我的 react 项目中,我使用 github.com/react-ga/react-ga 并且您可以完全控制记录的数据并可以轻松禁用它
    • 那个 react lib 只是 gtag 的一个包装器。它看起来也有很多代码基本上做我在回答中建议的想法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 2019-06-02
    • 1970-01-01
    • 2011-11-02
    • 2011-03-15
    相关资源
    最近更新 更多