禁用 Google Analytics 中的 cookie - gtag.js

10
我正在寻找一种方法来禁用Google Analytics设置的cookie。我在Google的开发指南中找到了一些信息: https://developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id#disabling_cookies 在这里,它说我应该添加以下代码:
ga('create', 'UA-XXXXXXXXX-X', {
  'storage': 'none'
});

但是具体应该放在哪里呢? 我已经尝试将其添加到跟踪代码中:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXXX-X"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-XXXXXXXXX-X');


  ga('create', 'UA-XXXXXXXXX-X', {
  'storage': 'none'
});
</script>

我非常感激每一个线索。


可能是谷歌分析中是否有设置,以抑制尚未同意使用Cookie的用户的重复问题。 - Linda Lawton - DaImTo
3个回答

17

2
非常重要的是在配置之前执行同意。 - Gabriel Smoljár
指南中在js上方有一个consent行:https://developers.google.com/tag-platform/devguides/consent/#set_consent_defaults - geotheory

4

storage: 'none' 适用于 analytics.js。请参考https://developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id#disabling_cookies

对于 gtag.js,我认为你需要使用 client_storage: 'none'。在一篇名为“如何在不使用cookie的情况下使用Google Tag Manager和Google Analytics”的Medium文章中提到了这个选项。

<!-- Global site tag (gtag.js) - Google Analytics with out cookies -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'GA_MEASUREMENT_ID', {
       client_storage: 'none',
       client_id: CLIENT_ID,
  });

</script>

这是一个很好的答案,但它忽略了一个重要的问题;即创建CLIENT_ID,就像答案中描述的那样。 - Peter

0

有两件事情,你混淆了两个版本,ga create 和 gtag 是不同的版本。使用 gtag 版本。以下是使其工作的代码:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async     src="https://www.googletagmanager.com/gtag/js?id=UA-    XXXXXXXXX-X"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

 window['ga-disable-UA-XXXXXXXXX-X'] = true;

 gtag('config', 'UA-XXXXXXXXX-X');

});
</script>

在这里查看参考 https://developers.google.com/analytics/devguides/collection/gtagjs/user-opt-out


1
这将完全禁用分析。但是,如何启用分析,但不设置cookie?(相当于ga的“storage:none”) - M Somerville
我相信以下是您需要的内容。 ‘gtag('config', '<TARGET_ID>', { cookie_expires: 0 });’如果将cookie_expires值设置为0(零)秒,则cookie将变成基于会话的cookie,并在当前浏览器会话结束时过期。 - Jesse
3
谢谢您的回复,但是这仍然会设置一个cookie(考虑到现今浏览器的会话时间,这可能比定时过期的cookie还要长);我希望有一种完全不设置cookie的方法(使用“ga”可以轻松实现)。看起来似乎没有这种方法。 - M Somerville

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接