Google Analytics上是否设置了禁止对尚未同意的用户使用Cookie的设置

JW.*_*JW. 154 javascript cookies google-analytics

根据欧盟电子隐私指令第5条第(3)款(又名"Cookie法"),针对欧盟用户的网站必须在用户设置cookie之前获得用户的选择同意.

ICO指南

我试图在我的网站上使用Google Analytics.

我认为Google Analytics(GA)可以在不需要使用cookie的情况下进行某种级别的分析数据收集.

但是,我在页面请求期间找不到有关如何将有关"同意状态"的信息传回Google的相关信息(在Google网站/设置面板上).所以,我唯一的选择似乎是我不应该嵌入谷歌标记代码在所有,如果用户没有明确给出同意.这看起来有点激烈.

让我的服务器端脚本hasConsentedToCookies=FALSE在JavaScript标记中设置一个标志将允许我指示Google的服务以优雅降级的方式运行.

Google Analytics上是否设置了禁止对尚未同意的用户使用Cookie的设置?

如果是这样,我在哪里可以找到相关信息?

Yah*_*hel 141

Google Analytics(分析)提供了一组新的API,可帮助您选择退出Cookie.这是文档,这是他们的帮助文档.

关于欧盟Cookie规则(在成员国中实施)是否要求被动网络分析跟踪需要选择加入合规机制,存在一些模糊性.如果您担心这种或那种方式,请咨询律师.Google正在授权您决定如何继续.

他们会向您提供实施细节,但是,一旦您确定是否要在Google Analytics中跟踪用户,如果答案是不跟踪,您可以在Google之前将以下属性设置为true分析运行:

window['ga-disable-UA-XXXXXX-Y'] = true;
Run Code Online (Sandbox Code Playgroud)

其中UA-XXXXXX-Y是您在Google Analytics中的帐户ID

正如其他海报所述,Google Analytics依赖于Cookie.因此,如果没有cookie,您将无法进行任何类型的跟踪.如果您确定某人不会被追踪进行跟踪,那么您需要实现以下内容:

if(doNotCookie()){
   window['ga-disable-UA-XXXXXX-Y'] = true;
}
Run Code Online (Sandbox Code Playgroud)

选择参加

当您第一次加载Google Analytics时,这确实需要一点点柔术,因为运行Google Analytics 之前需要设置此属性以防止跟踪发生,这意味着,对于"选择跟踪"方法,您需要d可能需要实施一种机制,在首次访问时,Google Analytics会在没有选择加入cookie的情况下自动禁用(明确允许确定cookie首选项的cookie),然后,如果选择加入,则重新启用运行Google Analytics.在随后的综合浏览量中,所有内容都会顺利运

看起来像(伪代码):

if( hasOptedOut() || hasNotExpressedCookiePreferenceYet() ){ //functions you've defined elsewhere
     window['ga-disable-UA-XXXXXX-Y'] = true;
}
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXX-Y']);
  _gaq.push(['_trackPageview']);


  function onOptIn(){ //have this run when/if they opt-in.
      window['ga-disable-UA-XXXXXX-Y'] = false;
      //...snip...
      //set a cookie to express that the user has opted-in to tracking, for future pageviews
      _gaq.push(['_trackPageview']); // now run the pageview that you 'missed'
   }
Run Code Online (Sandbox Code Playgroud)

选择退出

使用这种方法,您将允许用户选择退出跟踪,这意味着您将使用cookie来设置ga-disable-UA-XXXXXX-Y'属性,并使用cookie来管理它:

if( hasOptedOut() ){ // function you've defined elsewhere 
     window['ga-disable-UA-XXXXXX-Y'] = true;
}

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXX-Y']);
  _gaq.push(['_trackPageview']);
Run Code Online (Sandbox Code Playgroud)

  • 是.我见过的大多数规定(特别是英国和我认为法国的规定)明确表示存储其cookie偏好的cookie并不违反规则.由于cookie是在浏览器中存储状态的唯一普遍可访问的方式,因此无法绕过它. (3认同)
  • 很好的答案 - 如果(doNotCookie(){应该是if(doNotCookie()){ (2认同)
  • 感谢你的回答。尽管我不会说“咨询律师”。技术人员阅读和理解指南可能比律师了解技术细节的细微差别更快。 (2认同)
  • 我是否可以理解,如果用户选择不存储 cookie,解决方案是存储具有此首选项的 cookie?或者这个 cookie 不被视为属于欧盟法规的范围? (2认同)

Mar*_*rke 15

作为一个快速说明,BBC(可能是英国最受欢迎的网站)采用了一种有趣的方法来遵守cookie - 他们向用户展示了一个横幅,告诉他们设置了cookie并提供了几个链接.

这个解释了什么是cookie.这个允许他们管理他们的cookie,但最有趣的是他们提供了一个指向Google Analytics链接,允许用户完全选择退出GA.因此,总而言之,BBC认为他们可以告诉用户设置了哪些Cookie,然后提供指向Google的链接,以允许用户选择退出所有GA Cookie.对我来说,这比你告诉GA通过JS选择退出地址要麻烦得多.

  • 我真的不会认为BBC的解决方案是可以接受的.事实上,他们的解决方案存在根本缺陷,至少有三个原因:1)它在询问您是否愿意接受之前设置cookie,2)它必须设置cookie以保存您的cookie首选项,以及3)它声明该网站不会控制第三方cookie,如果不是欧盟指令的字母,则直接违反精神.我怀疑Beebs会因为他们试图以尽可能多的方式突破法律的界限,而不是出现这种情况. (9认同)
  • @MartinClarke - 嗯......实际上,我不太确定我会跟随一家媒体公司的领导,特别是因为我希望BBC在英国有一个特殊的位置,很可能会被告知要塑造起来,而不是被罚款.我认为这更像是一个风险问题 - 作为一个公共资助的机构,BBC没有太大的风险,而商业网站可能会有风险. (4认同)

Elm*_*mer 11

我经常从不要求用户选择退出谷歌分析,这是因为我从来没有设置cookie,我从来没有保存他们的IP(和其他个人数据).

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-98765432-1', 'www.example.com', {
  'anonymizeIp': true
  , 'storage': 'none'
  , 'clientId': window.localStorage.getItem('ga_clientId')
});
ga(function(tracker) {
  window.localStorage.setItem('ga_clientId', tracker.get('clientId'));
});
ga('send', 'pageview');
Run Code Online (Sandbox Code Playgroud)

另请参阅将Google Analytics Cookie转换为本地/会话存储的此代码

此脚本不会设置任何Cookie,但仍会通过Google Analytics进行跟踪.这实际上会对使用cookie的隐私产生同样的影响,因为谷歌仍会记录用户的IP地址.

这就是anonymizeIp切换的用武之地.这告诉谷歌只保存IP地址的匿名版本.匿名IP地址不被视为个人数据,因此将尊重用户隐私.

AFAIK cookie法律全部涉及隐私,并允许网站跟踪其使用情况.我不是律师或其他任何东西,但在我看来,这个脚本符合欧盟cookie法.

查看此插件以查看它的实际操作:http://plnkr.co/MwH6xwGK00u3CFOTzepK

  • [根据欧盟法律使用本地存储并不比使用cookie更好](http://www.theeucookielaw.com/):"不 - 法律也会影响任何类似cookie的行为,例如:Flash Cookie,HTML5 Local存储"在欧盟,您需要在本地浏览器中存储任何内容之前获得同意,包括基于IP地址的ID.这不是使用Google Analytics符合欧盟Cookie法律的解决方案. (13认同)
  • @Flunch *“anonymizeIp 具有误导性,并且根据欧盟法律仍然保留过多信息”* 请提供参考。为什么不可接受,什么时候可以接受?什么是*“太多信息”*? (6认同)
  • 不,这根本不符合: - anonymizeIp是误导性的,并且仍然根据欧盟法律保留太多信息 - LocalStorage被欧盟法律视为"Cookie"因此这段代码为您提供较少的GA信息,但仍然不符合有了法律. (4认同)

sev*_*rin 8

您可以通过{'storage' : 'none'}在创建跟踪器实例时指定选项来禁用Google Analytics的Cookie使用.

有关详细信息,请参阅有关该主题的Google指南.

  • @mpartel 您确实丢失了一些信息:回访者和多渠道转化。但如果你不需要这些,这仍然是可以接受的。 (8认同)
  • 该指南说,如果您禁用 cookie,则必须自己实施类似的跟踪,因此这似乎无济于事。 (2认同)

Fra*_*sas 5

最新的谷歌分析 (gtag.js) 有一个“同意模式”(仍处于测试阶段):

https://developers.google.com/gtagjs/devguide/consent

它看起来像这样:

gtag('consent', 'default', {
  analytics_storage: 'denied',
  ad_storage: 'denied'
});
Run Code Online (Sandbox Code Playgroud)

然后,如果用户同意,您可以稍后更新这些设置。