Google Analytics(分析)中是否有一项设置,禁止尚未获得同意的用户使用Cookie

根据欧盟电子隐私指令(也称为“Cookie法”)第5条第(3)款的规定,针对欧盟用户的网站在设置cookie之前必须先获得用户的同意。

见ICO指导

我正在尝试在我的网站上使用Google Analytics进行分析

我认为Google Analytics(GA)可以在不需要使用Cookie的情况下进行一定程度的分析数据收集。

但是,我无法在Google网站/设置面板上find有关如何在页面请求期间向Google回复关于“同意状态”的信息的任何信息。 所以,我唯一的select似乎是,如果用户没有明确表示同意,我不应该embeddedGoogle标记代码。 这似乎有点激烈。

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

Google Analytics(分析)中是否设置了禁止尚未同意的用户使用Cookie的设置?

如果是这样,我在哪里可以find这方面的信息?

Google Analytics(分析)提供了一组新的API来协助您遵守Cookieselect。 这里是文档 ,这里是他们的帮助文档 。

“欧盟Cookie规定”(在成员国实施)是否要求被动网站分析跟踪要求select合规机制存在一些模棱两可之处。 如果您担心这种或那种情况,请咨询律师。 Google正在授权您决定如何继续。

他们会将实施细节留给您,但是,您的想法是,一旦您确定是否在Google Analytics中跟踪用户,如果答案没有跟踪,则应在Google之前将以下属性设置为true分析运行:

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

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

正如其他海报所指出的那样,Google Analytics依赖于Cookie。 所以,如果没有cookies,你无法进行任何跟踪。 如果你确定有人不被追踪,你需要实现这样的事情:

 if(doNotCookie()){ window['ga-disable-UA-XXXXXX-Y'] = true; } 

select参加

这在第一次加载Google Analytics(分析)时需要less许jujitsu,因为运行Google Analytics(分析) 之前需要设置此属性以防止跟踪发生,这意味着对于“select跟踪”方法, d可能需要实施一种机制,在首次访问时,在没有selectjoinCookie的情况下,Google Analytics自动停用(明确允许cookie首选项的Cookie),然后,如果selectjoin,运行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' } 

select退出

使用这种方法,您可以允许用户select退出跟踪,这意味着您将使用Cookie来设置ga-disable-UA-XXXXXX-Y'属性以及将来pipe理它的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']); 

作为一个简单的说明,BBC(可能是英国最受欢迎的网站)采取了一种有趣的方式来遵守cookies–他们向用户显示了一个标语,告诉他们cookies已经设置并提供了一些链接。

这个解释什么是cookies。 这个让他们pipe理他们的cookies ,但最有趣的是他们提供了一个链接到谷歌分析,允许用户select退出GA的整体。 因此,总而言之,英国广播公司已经认识到,他们可以告诉用户什么是cookies,然后提供一个链接到谷歌,让用户select退出所有的GA cookies。 对于我来说,比告诉GAselect通过JS发表地址要麻烦的多。

我永远不会要求用户select谷歌分析,这是因为我从来没有设置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'); 

将Google Analytics(分析)cookies转换为本地/会话存储,即可查看此代码

这个脚本不会设置任何cookie,但仍然通过谷歌分析跟踪。 这实际上与使用cookie的隐私效果相同,因为google仍logging用户的IP地址。

这是anonymizeIp开关进来的地方。这告诉谷歌只保存一个匿名版本的IP地址。 匿名IP地址不被视为个人数据,因此用户隐私将得到尊重。

AFAIK cookie的法律是关于隐私,并允许网站跟踪他们的使用情况。 我不是律师或任何东西,但在我看来,这个剧本符合欧盟曲奇法。

看看这个庞然大物,看看它在行动: http : //plnkr.co/MwH6xwGK00u3CFOTzepK

您可以通过在创build跟踪器实例时指定{'storage' : 'none'}选项来禁止使用Cookie。

有关更多详细信息,请参阅Google的指南 。

编辑:有一个谷歌分析设置与asynchronousGA片段。

如果您想要使用Google Analytics(分析)JavaScript跟踪脚本,则没有Google Analytics设置,因此您需要有条件地排除那些未同意的脚本。

已经有一些解决scheme可以帮助你,而不是自己动手了。 Javascript: http : //cookies.dev.wolf-software.com/demo/index.htm

下面是一个解决scheme,允许使用Google Analytics(分析)基本function,无需cookie,通过跟踪服务器端,这个例子是在PHP中: http : //techpad.co.uk/content.php?sid=205

目前处理这个问题的常用方法是wolf-software的jquery插件所使用的方法,它可以防止脚本在用户select之前运行.ICO上周更新了他们的指导方针,然而,可以说依靠“隐含的同意“在BBC网站上使用的那种。 虽然我真的不认为这是在法律的精神范围内,但执行它的人认为是可以接受的。 鉴于大部分欧盟尚未执行该指令,我认为他们很可能会跟随英国的领先。

这里有一篇关于英国更新的有趣文章:

http://www.redant.com/articles/eu-cookie-law-update-ico-adopts-softly-softly-approach/

对于一个不那么侵入性的用户体验解决scheme,您可以通过链接到:cookiestatement.eu(没有JavaScript,没有popup窗口,没有广告),为谷歌分析cookie设置隐含的同意,

对不起迟到回答,但我最近一直在寻找同样的东西,直到我发现了一种方式我自己。 这可能不是正确的做法,但它的工作原理。 (只在有问题的网站上运行,不会完全退出GA)。 我已经testing了几天,以确保。

我设法做到的方式是使用PHP cookie。 首先开始添加analyticstracking.php包括…

 <?php include_once('analyticstracking.php'); ?> 

并在analyticstracking.php中添加以下内容…

 <?php if($_COOKIE['consent_cookie']=="Y"){ ?> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-********-*']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <?php } else{ //do nothing } ?> 

在用户同意Cookie之前,Google Analytics(分析)将无法工作,一旦拥有,“consent_cookie”将被保存并允许GA正常工作,但如果“google”Cookie被破坏,则会阻止GA正常工作(很明显)。

就像我说的那样,这可能不是正确的方法,但是我已经尝试过了,而且确实如此。 希望这有助于某人。

您可以通过在谷歌分析代码顶部添加此代码来禁用谷歌分析cookies(在行之前:var _gaq = _gaq || [];):

 ga('create', 'UA-XXXXXX-XX', {'storage': 'none'}); ga(function(tracker) { var clientId = tracker.get('clientId'); }); 

但是,谷歌分析的一些function(例如实时统计)在修改后无法正常工作。 有关Google Analytics(分析)Cookie的详情: https : //developers.google.com/analytics/devguides/collection/analyticsjs/domains?hl = zh_CN#disisableCookies

有一个很好的例子,您可以在这里处理与Cookie同意的Google Analytics(分析): https : //www.cookiebot.com/goto/developer

遗传algorithm不工作没有cookies,如果他/她之前访问过您的网站,它需要“识别”访问者。 所以GA中没有这个设置,GA只是不logging访问者,如果它不能创build一个cookie。

如果用户来自欧盟,并没有select进入,那么你应该排除我认为的谷歌分析脚本。