谷歌分析是否有设置来禁止尚未同意的用户使用cookie编辑(2019):以下答案早于GDPR,可能需要修订。选择加入退出

2022-08-30 01:31:44

根据欧盟《电子隐私指令》(又名“Cookie 法律”)第 5(3) 条,针对欧盟用户的网站在设置 Cookie 之前必须获得用户的选择加入同意。

查看ICO指南

我试图在我的网站上与Google Analytics(分析)相提并论

我可以想象谷歌分析(GA)可以在不需要使用cookie的情况下进行一定程度的分析数据收集。

但是,我无法找到有关此内容的任何信息(在Google网站/设置面板上)有关如何在页面请求期间将有关“同意状态”的信息传回Google的信息。因此,我唯一的选择似乎是,如果用户没有明确同意,我根本不应该嵌入Google标签代码。这似乎有点激烈。

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

谷歌分析是否有设置来禁止尚未同意的用户使用cookie?

如果是这样,在哪里可以找到有关此内容的信息?


答案 1

编辑(2019):以下答案早于GDPR,可能需要修订。

谷歌分析有一套新的API来帮助遵守cookie选择退出。这是文档,这是他们的帮助文档

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

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

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

其中 UA-XXXXXX-Y 是您在 Google Analytics(分析)中的帐户 ID

正如其他发帖人所指出的那样,谷歌分析依赖于cookie。因此,如果没有 Cookie,您将无法进行任何类型的跟踪。如果您已确定某人不会被 Cookie 进行跟踪,则需要实现如下操作:

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

选择加入

当您首次加载Google Analytics(分析)时,这确实需要一点柔术,因为在Google Analytics(分析)运行之前需要设置此属性以防止跟踪发生,这意味着,对于“选择加入跟踪”方法,您可能需要实施一种机制,在首次访问时,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'
   }

退出

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

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']);

答案 2

您可以通过在创建跟踪器实例时指定该选项来禁用Google Analytics(分析)的cookie。{'storage' : 'none'}

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