删除Google Analytics Cookie和欧盟电子隐私法

时间:2015-06-01 16:31:43

标签: javascript php cookies google-analytics

在我的网站上,如果用户拒绝使用cookie(根据欧盟电子隐私指令),我会阻止使用JavaScript跟踪Google Analytics,

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

使用此命令可以禁用跟踪并且似乎有效(如果我在网站上浏览,Google Analytics不会看到任何活动)。

但我注意到__utma__utmb,.... Cookie仍然在我的浏览器上(在Chrome中),因此我尝试使用php的setcookie函数删除它们:

foreach ($_COOKIE as $key => $value) {
setcookie($key, '', time()-1000,'/','.mydomain.com');
}

但没有成功! (我在GA监控JavaScript之后插入了这段代码)我的浏览器上有GA cookie。

那么,我可以删除GA cookie吗?

或是否足以阻止GA跟踪欧盟电子隐私指令?

2 个答案:

答案 0 :(得分:2)

是的,您可以删除Cookie。您只需将完整的PathDomain参数与这些Cookie中使用的参数相匹配即可。您可以使用此代码并将参数替换为您的参数:

function deleteCookie(name) {
    document.cookie = name + '=; Path=/; Domain=.example.com; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

答案 1 :(得分:2)

Google Analytics Debugger Chrome 扩展程序在测试 Google Analytics 代码方面非常有用。该扩展程序将发送到 Google Analytics 的数据输出到 JavaScript 控制台窗口。

以下是如何在禁用默认跟踪器后使用 analytics.js 删除 js-cookie 默认值的示例。

// https://github.com/js-cookie/js-cookie
import Cookies from 'js-cookie';

const disableDefaultTracker = () => {
  // Remove the default tracker.
  if (window.ga) window.ga('remove');
  // Remove the default cookies
  // _ga is used to distinguish users.
  Cookies.remove('_ga', { path: '/', domain: document.domain });
  // _gid is used to distinguish users.
  Cookies.remove('_gid', { path: '/', domain: document.domain });
  // _gat is used to throttle request rate.
  Cookies.remove('_gat', { path: '/', domain: document.domain });
}

https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage