JW.*_*JW. 154 javascript cookies google-analytics
根据欧盟电子隐私指令第5条第(3)款(又名"Cookie法"),针对欧盟用户的网站必须在用户设置cookie之前获得用户的选择同意.
我试图在我的网站上使用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)
Mar*_*rke 15
作为一个快速说明,BBC(可能是英国最受欢迎的网站)采用了一种有趣的方法来遵守cookie - 他们向用户展示了一个横幅,告诉他们设置了cookie并提供了几个链接.
这个解释了什么是cookie.这个允许他们管理他们的cookie,但最有趣的是他们提供了一个指向Google Analytics的链接,允许用户完全选择退出GA.因此,总而言之,BBC认为他们可以告诉用户设置了哪些Cookie,然后提供指向Google的链接,以允许用户选择退出所有GA Cookie.对我来说,这比你告诉GA通过JS选择退出地址要麻烦得多.
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
您可以通过{'storage' : 'none'}在创建跟踪器实例时指定选项来禁用Google Analytics的Cookie使用.
有关详细信息,请参阅有关该主题的Google指南.
最新的谷歌分析 (gtag.js) 有一个“同意模式”(仍处于测试阶段):
https://developers.google.com/gtagjs/devguide/consent
它看起来像这样:
gtag('consent', 'default', {
analytics_storage: 'denied',
ad_storage: 'denied'
});
Run Code Online (Sandbox Code Playgroud)
然后,如果用户同意,您可以稍后更新这些设置。
| 归档时间: |
|
| 查看次数: |
51792 次 |
| 最近记录: |