用户选择退出gtag.js

时间:2018-01-26 19:25:37

标签: google-analytics gtag.js

我们正在寻求为我们的网站访问者实施禁用跟踪的选项。

我已阅读此页面上的文档,但我仍然不完全清楚如何执行此操作:https://developers.google.com/analytics/devguides/collection/gtagjs/user-opt-out

只需触发"窗口[' ga-disable-GA_TRACKING_ID'] = true;"单击按钮时? Google Analytics(分析)会记住此用户的设置,还是基于每次访问?如果我有第二个按钮将其设置为" false"?

,用户是否可以重新启用跟踪功能?

谢谢!

求助:

将以下代码粘贴到Google Analytics代码之前的标题中。

<script>
// Set to the same value as the web property used on the site
var gaProperty = 'UA-XXXX-Y';

// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
  window[disableStr] = true;
}

// Opt-out function
function gaOptout() {
  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
  window[disableStr] = true;
}
</script>

用它来触发它:

<a href="javascript:gaOptout()">Click here to opt-out of Google Analytics</a>

3 个答案:

答案 0 :(得分:3)

将以下内容粘贴到Google Analytics代码之前的head标记中(用您自己的UA替换UA)

<script>
// Set to the same value as the web property used on the site
var gaProperty = 'UA-XXXX-Y';

// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
  window[disableStr] = true;
}

// Opt-out function
function gaOptout() {
  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
  window[disableStr] = true;
}
</script>

用它来触发它:

<a href="javascript:gaOptout()">Click here to opt-out of Google Analytics</a>

答案 1 :(得分:1)

感谢您的回复!

由于我回复了您的帖子,我也想出了一个解决方案但是如果用户选择退出,还没有找到删除cookie的方法。虽然数据不会被发送回Google,但删除Cookie以完成更新会很不错。这就是我想出来的。

<script async type="text/javascript">

function optIn() {
    sessionStorage.setItem('aValue', false);
}

function optOut() {
    sessionStorage.setItem('aValue', true);
    setCookie('_gat_gtag_TRACKING-ID', 'value', 0); 

}

var getCookieValue = sessionStorage.getItem('aValue');

var b = (getCookieValue == 'true');

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

</script>

这是由

触发的
<form class="form-inline">
<button value="optin" onClick="optIn();" class="btn btn-primary mb-2">Opt In</button>
<br />
<button value="optout" onClick="optOut();" class="btn btn-primary mb-2">Opt Out</button>
</form>

所以这样做是将窗口[&#39; ga-disable-TRACKING-ID&#39;]设置为true或false,具体取决于访问者响应,该响应存储在SessionStorage中。希望这有助于任何人以及上述解决方案。

答案 2 :(得分:0)

GTag Opt In是为您执行的工具,另外,您还可以默认禁用cookie并在以后启用它们,然后再次禁用,再次启用,等等。

禁用cookie

   <script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-Y"></script>
-- <script>
-- window.dataLayer = window.dataLayer || [];
-- function gtag(){dataLayer.push(arguments);}
-- gtag('js', new Date());
-- gtag('config', 'UA-XXXXXX-Y');
-- </script>

在实施GA的时候,只需导入gtag.js脚本并删除GA初始化即可对此进行更新。

当用户接受Cookie时启用GTag

GTag Opt In是在用户接受/拒绝Cookie时启用和禁用GA的工具。

<script src="https://www.npmcdn.com/gtag-opt-in@2.0.0/dist/index.js"></script>

<script>
  GTagOptIn.register('UA-XXXXXX-Y');
</script>

<a href="javascript:GTagOptIn.optIn()">ACCEPT</a>
<a href="javascript:GTagOptIn.optOut()">REJECT</a>

首先,库已加载。
其次,注册了GA跟踪ID。
第三,optInoptOut函数绑定到用户动作的接受/拒绝。

您可以在How To Implement Google Analytics With Opt In上详细了解它。