동의하지 않은 사용자의 쿠키 사용을 금지하는 Google 웹 로그 분석 설정이 있습니까?


171

E-Privacy Directive (일명 '쿠키 법')의 EU 5 (3) 조에 따르면 EU 사용자를 대상으로하는 웹 사이트는 쿠키를 설정하기 전에 사용자의 동의를 얻어야합니다.

ICO 지침 참조

내 웹 사이트의 Google 웹 로그 분석 으로이 문제를 해결하려고합니다 .

나는 Google 웹 로그 분석 (GA)이없이 분석 데이터 수집의 일정 수준을 할 수있는 상상 요구하는 쿠키를 사용합니다.

그러나 페이지 요청 중에 '동의 상태'에 대한 정보를 Google에 다시 전달하는 방법에 대한 정보는 Google 사이트 / 설정 패널에서 찾을 수 없습니다. 따라서 사용자가 명시 적으로 동의하지 않은 경우 Google 태그 코드 포함해서는 안되는 유일한 옵션 인 것 같습니다 . 조금 과감 해 보입니다.

서버 측 스크립트 hasConsentedToCookies=FALSE가 JavaScript 태그에 플래그를 설정 하게하면 Google 서비스가 정상적으로 저하 된 방식으로 실행되도록 지시 할 수 있습니다.

아직 동의하지 않은 사용자의 쿠키 사용을 금지하는 설정이 Google Analytics에 있습니까?

그렇다면 어디에서 정보를 찾을 수 있습니까?


2
업데이트 :이 질문은 Adsense와 Analytics에 대해 묻는 데 사용 되었지만 각각에 대한 답변이 다를 수 있으므로이 질문 에서 'Google Adsense'측면 을 추출하여 각 사이트를보다 응집력있게 만들었습니다.
JW.


이 사실을 모르는 경우 : piwik에 대해 들어 보셨습니까? ( piwik.org )
TheHippo

좋고 간절한 질문!
Rob

Google은 쿠키를 비활성화 할 수 있지만 쿠키가 작동하지 않는 것 또는 잘못된 일을하고 있다고 말합니다. 링크 : developers.google.com/analytics/devguides/collection/…

답변:


149

편집 (2019) : 아래 답변은 GDPR 이전이며 수정이 필요할 수 있습니다.

Google 웹 로그 분석에는 쿠키 옵트 아웃 준수를 지원하는 새로운 API 세트가 있습니다. 여기 문서 가 있고 도움말 문서가 있습니다.

EU 쿠키 규정 (회원국에서 구현 됨)에 수동 웹 분석 추적에 규정 준수를위한 옵트 인 메커니즘이 필요한지 여부에 대해서는 약간의 모호함이있었습니다. 어떤 식 으로든 걱정이되는 경우 변호사와 상담하십시오. Google은 진행 방법에 대한 결정을 내릴 수 있도록 지원합니다.

구현 세부 정보는 사용자에게 맡기지 만 Google 웹 로그 분석에서 사용자를 추적할지 여부를 결정한 후 답변이 추적되지 않는 경우 Google에 앞서 다음 속성을 true로 설정하는 것이 좋습니다. 분석이 실행됩니다.

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

UA-XXXXXX-Y는 Google 웹 로그 분석의 계정 ID입니다.

다른 포스터에서 언급했듯이 Google Analytics는 쿠키를 사용합니다. 따라서 쿠키 없이는 어떤 종류의 추적도 수행 할 수 없습니다. 누군가 추적을 위해 쿠키를 사용하지 않는 것으로 확인 된 경우 다음과 같이 구현해야합니다.

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

옵트

추적이 발생하지 않도록 Google 웹 로그 분석을 실행 하기 전에이 속성을 설정해야하기 때문에 Google 웹 로그 분석을 처음로드 할 때 약간의 jujitsu가 필요 합니다. d) 첫 방문시 옵트 인 쿠키 (쿠키 기본 설정을 명시 적으로 결정하는 쿠키)가없는 경우 Google 애널리틱스가 자동으로 사용 중지되는 메커니즘을 구현해야합니다. Google 웹 로그 분석을 실행합니다. 후속 페이지 뷰에서는 모든 것이 순조롭게 진행됩니다.

다음과 같이 보일 수 있습니다 (의사 코드).

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'
   }

탈퇴

이 접근 방식을 사용하면 사용자가 추적을 거부 할 수 있습니다. 이는 쿠키를 사용하여 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
좋은 대답에 대한 작은 nitpick-if (doNotCookie () {should be if (doNotCookie ()) {
Roee Shenberg

1
답변 해주셔서 감사합니다. 나는 '변호사에게 문의하십시오'라고 말하지는 않을 것입니다. 변호사가 기술의 뉘앙스를 배우는 데 걸리는 것보다 기술자가 지침을 읽고 이해하는 것이 더 빠를 것입니다.
JW.

1
사용자가 쿠키를 저장하지 않기로 선택한 경우이 환경 설정으로 쿠키를 저장하는 것이 해결책이라는 것을 알고 있습니까? 아니면이 쿠키가 EU 규정에 해당되는 것으로 간주되지 않습니까?
Jonathon Horsman 2016 년

5
예. 내가 본 대부분의 규정 (특히 영국과 프랑스의 생각)은 쿠키 기본 설정을 저장하는 쿠키가 규칙을 위반하지 않는다고 명시 적으로 말합니다. 쿠키는 브라우저에서 유일하게 액세스 가능한 상태를 저장하는 유일한 방법이므로 쿠키를 둘러싼 방법은 없습니다.
Yahel

17

{'storage' : 'none'}트래커 인스턴스를 만들 때 옵션 을 지정하여 Google Analytics에 쿠키 사용을 비활성화 할 수 있습니다 .

자세한 내용 은 주제에 대한 Google 가이드 를 참조하십시오.


1
가이드는 쿠키를 비활성화하면 비슷한 추적을 직접 구현해야하므로 도움이되지 않는 것 같습니다.
mpartel

4
@mpartel 방문자 재 방문 및 다중 채널 전환과 같은 일부 정보가 손실됩니다. 그러나 필요하지 않은 경우에도 여전히 허용됩니다.
Ali

16

요약하자면, BBC (아마 영국에서 가장 인기있는 사이트)는 쿠키 준수에 대한 흥미로운 접근 방식을 취했습니다. 쿠키가 설정되었다는 메시지를 사용자에게 알리고 몇 개의 링크를 제공하는 배너를 표시했습니다.

이것은 쿠키가 무엇인지 설명합니다. 쿠키를 관리 있지만 가장 흥미로운 것은 사용자가 GA 를 완전히 거부 할 수 있도록 Google 웹 로그 분석에 대한 링크를 제공한다는 것입니다 . 요약하자면, BBC는 사용자에게 쿠키가 설정되어 있는지 알려주고 사용자가 모든 GA 쿠키를 거부 할 수 있도록 Google에 대한 링크를 제공 할 수 있다는 견해를 취했습니다. 저에게 이것은 GA를 통해 JS를 통해 주소를 옵트 아웃하도록 요청하는 것보다 훨씬 덜 번거 롭습니다.


13
나는 BBC의 해결책이 수용 가능하다고 가정하지 않을 것이다. 실제로, 그들의 해결책은 적어도 세 가지 이유 때문에 근본적으로 결함이 있습니다 : 1) 쿠키를 수락 할 것인지 묻기 전에 쿠키를 설정합니다. 이 사이트는 제 3 자 쿠키를 통제하지 않으며 EU 지침의 서한이 아닌 경우 정신을 직접 위반하는 것으로 간주합니다. 나는 법칙의 경계를 다른 방식으로 가능한 한 많은 방법으로 밀어 붙이고 자하면서 Beebs가이 문제에 부딪 칠 것이라고 생각합니다.
David T. Macknet

좋은 토론 은 blogs.wsj.com/tech-europe/2012/05/25/… 를 보십시오 .
David T. Macknet

물론, 내가 틀렸을 수도 있습니다-분명히 그들은 요구 사항을 변경 했습니까? blog.silktide.com/2012/05/… 요구 사항 변경에 대해 이야기하므로 더 이상 알지 못합니다. 이 사람들에 대해 몰라, 나는 지금 여기에 살고 있습니다!
David T. Macknet

등록부 에는 사이트를 계속 사용함으로써 귀하가 쿠키와 수락 버튼을 사용하도록 동의한다고 가정하는 배너가 있습니다.
iamichi

6
@MartinClarke-글쎄 ... 사실, 나는 미디어 회사의 리더를 따를 것이라고 확신하지 못합니다. 특히 BBC가 영국 내에서 특별한 위치를 차지할 것으로 기대하고 모양을 잡을 것이라고 기대하기 때문에 벌금을 물지 않고 나는 그것이 더 큰 위험의 문제라고 생각한다-BBC는 상업적으로 자금을 조달 한 기관으로서 위험에 처하지는 않지만 상업적인 사이트는 그렇게 위험하다.
David T. Macknet

15

나는 종종 쿠키를 설정하지 않고 그들의 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 쿠키를 로컬 / 세션 저장소변환 에서이 코드를 확인하십시오.

이 스크립트는 쿠키를 설정하지 않지만 Google 웹 로그 분석을 통해 추적합니다. Google은 여전히 ​​사용자의 IP 주소를 기록하기 때문에 쿠키 사용과 동일한 방식으로 개인 정보 보호에 영향을 미칩니다.

그것은 anonymizeIp 스위치가 들어오는 곳입니다. 이것은 구글에게 익명화 된 버전의 IP 주소 만 저장하도록 지시합니다. 익명의 IP 주소는 개인 정보로 간주되지 않으므로 사용자 개인 정보가 존중됩니다.

AFAIK 쿠키 법률은 개인 정보 보호에 관한 것이며 웹 사이트에서 사용을 추적 할 수 있습니다. 저는 변호사 나 다른 사람이 아니지만 제 생각에이 스크립트는 EU 쿠키 법을 준수합니다.

이 plunk를 확인하여 실제로 확인하십시오 : http://plnkr.co/MwH6xwGK00u3CFOTzepK


안녕하세요, 이것이 항상 안전한 방법은 아닙니다 . 이유는 다음과 같습니다 .
시저 솔

이것이 'anonymizeIp': true옵션입니다, 이것은 ip 주소를 저장하지 않습니다. 쿠키 법률과 관련이없는 몇 가지 이유로 쿠키보다 로컬 저장소를 사용하고 싶습니다.
Elmer

5
아니요, 이것은 전혀 준수하지 않습니다.-anonymizeIp는 오도의 소지가 있으며 EU 법률에 따라 정보를 너무 많이 유지합니다.-LocalStorage는 EU 법률에 의해 "쿠키"로 간주되므로이 코드는 GA의 정보를 덜 제공하며 여전히 준수하지 않습니다. 법으로.
Flunch

"EU 쿠키 법률"은 실제로 지침이므로 UE 멤버의 특정 법률에 따라 다릅니다. 예를 들어, 이탈리아 개인 정보 보호 당국은 이탈리아 법률에 따라 사용자가 IP 주소를 익명화하고 Google 웹 로그 분석 콘솔에서 다른 서비스와 데이터 공유를 비활성화하는 경우 사용자 동의가 필요하지 않다고 명시 적으로 명시했습니다.
mcont

4
@Flunch "anonymizeIp는 오도의 소지가 있으며 EU 법률에 따라 정보를 너무 많이 유지합니다" 참조를 제공하십시오. 왜 받아 들여지지 않습니까? 그리고 언제 괜찮을까요? "너무 많은 정보" 는 무엇입니까 ?
Ali

3

Google 분석 코드 상단에이 코드를 추가하여 Google 분석 쿠키를 비활성화 할 수 있습니다 (행 전 : var _gaq = _gaq || [];).

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

그러나 Google 분석의 일부 기능 (예 : 실시간 통계)은이 수정 후에 제대로 작동하지 않습니다. Google 웹 로그 분석 쿠키에 대한 자세한 내용 : https://developers.google.com/analytics/devguides/collection/analyticsjs/domains?hl=ko#disableCookies


무엇을 할 var clientId = ...코드는 무엇입니까? 내가 아는 한 함수 내부에 로컬 변수를 정의하면 쓸모가 없습니까?
caesarsol 2016 년

나는 단지 예일 뿐이라고 생각한다 clientId. stackoverflow.com/questions/4502128/에서
caesarsol

1

지금까지 이것을 처리하는 일반적인 방법은 wolf-software의 jquery 플러그인에서 사용하는 방법으로, 사용자가 동의 할 때까지 스크립트가 실행되지 않도록합니다. 그러나 ICO는 지난 주에 ' BBC 사이트에서 사용 된 종류의 묵시적 동의 '. 저는 그것이 법의 정신에 있다고 생각하지는 않지만, 법을 집행하는 사람들이 받아 들일 수있는 것으로 간주됩니다. EU의 대부분이 아직이 지침을 이행하지 않았기 때문에 영국의 주도권을 따를 가능성이 큽니다.

영국 업데이트에 대한 흥미로운 기사가 ​​있습니다.

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


1

편집 :이 비동기 GA 조각이에 대한 Google 웹 로그 분석 설정.

제안한 바와 같이 Google 웹 로그 분석 설정은 없습니다. Google 웹 로그 분석 자바 스크립트 추적 스크립트를 사용하려는 경우 동의하지 않은 스크립트에 대해서는 조건부로 스크립트를 제외해야합니다.

자신의 롤링 대신 도움이 될 수있는 솔루션이 이미 있습니다. 자바 스크립트 : http://cookies.dev.wolf-software.com/demo/index.htm

다음은 추적 서버 측을 수행하여 쿠키없이 Google 웹 로그 분석 기본 기능을 사용할 수있는 솔루션입니다.이 예는 PHP입니다. http://techpad.co.uk/content.php?sid=205


링크 주셔서 감사합니다. 매우 유용한 링크.
JW.

1

덜 방해가되는 UX 솔루션의 경우 cookiestatement.eu (자바 스크립트 없음, 팝업 없음, 광고 없음) 링크를 지정하여 Google 분석 쿠키에 대한 암시 적 동의를 설정할 수 있습니다.


1

답을 늦게해서 미안하지만, 나 자신을 찾을 수있을 때까지 최근에 같은 것을 찾고있었습니다. 올바른 방법은 아니지만 작동합니다. (해당 사이트의 작품 만 GA를 완전히 차단하지 않습니다). 확인하기 위해 며칠 동안 테스트했습니다.

내가 관리하는 방법은 PHP 쿠키를 사용하는 것입니다. 먼저 analyticstracking.php include를 추가하십시오.

<?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
}
?>

사용자가 쿠키에 동의하기 전에 Google 웹 로그 분석이 작동하지 않고 쿠키가 있으면 'consent_cookie'가 저장되고 GA가 작동 할 수 있지만 'google'쿠키가 파괴되면 GA가 작동하지 않게됩니다 (분명히).

내가 말했듯이 그것이 올바른 방법이 아닐 수도 있지만 시도하고 테스트했으며 그렇게합니다. 이것이 누군가를 돕기를 바랍니다.


0

나는 같은 문제에 직면했다.

결국, 나는 Elmer의 회신 라인에서 해결책을 얻었 지만 IP와 관련하여 안전하게 재생했습니다.localStorage

// Create a fake ID instead of storing anything locally
function guidGenerator() {
    var S4 = function() {
       return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
    };
    return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}

...
ga('create', 'UA-XXXXXX-Y', {
        'storage': 'none',
        'clientId': guidGenerator()
});

(-) 방문한 모든 페이지는 Google 웹 로그 분석에서 새로운 방문자로 간주되므로 많은 기능이 손실됩니다.

(+) 그러나 나는 그것과 함께 살 수 있으며 나는 데이터 프라이버시 법률에 대해 안전하다고 생각합니다.

의견이나 개선 제안은 환영합니다.


-3

GA는 쿠키없이 작동하지 않으므로 방문자가 사이트를 방문한 경우 방문자를 '식별'해야합니다. 따라서 GA에는 설정이 없으므로 GA는 쿠키를 만들 수없는 방문자를 기록하지 않습니다.

사용자가 EU 출신이고 옵트 인하지 않은 경우 생각 나는 google-analytics 스크립트를 제외해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.