Google Analytics에 아직 동의하지 않은 사용자의 쿠키 사용을 금지하는 설정이 있습니까?
E-Privacy Directive (일명 'The Cookie Laws')의 EU 5조 3항에 따르면 EU 사용자를 대상으로 하는 웹 사이트는 쿠키를 설정하기 전에 사용자의 옵트인 동의를 얻어야 합니다.
저는 제 웹사이트의 Google Analytics와 이 문제를 해결하려고 합니다.
구글 애널리틱스(GA)는 쿠키를 사용하지 않고도 일정 수준의 분석 데이터 수집을 할 수 있다고 생각합니다.
그러나 페이지 요청 중에 '동의 상태'에 대한 정보를 Google에 다시 전달하는 방법에 대한 정보를 Google 사이트/설정 패널에서 찾을 수 없습니다.그래서 저의 유일한 선택은 사용자가 명시적으로 동의를 주지 않았다면 구글 태그 코드를 아예 내장해서는 안 되는 것 같습니다.좀 과격한 것 같은데요.
hasConsentedToCookies=FALSE
JavaScript 태그의 플래그를 사용하면 Google의 서비스가 우아하게 저하된 방식으로 실행되도록 지시할 수 있습니다.
Google Analytics에 아직 동의하지 않은 사용자의 쿠키 사용을 금지하는 설정이 있습니까?
그렇다면 이에 대한 정보는 어디에서 찾을 수 있습니까?
편집(2019):아래 답변은 GDPR보다 이전이며 수정이 필요할 수 있습니다.
Google Analytics에는 쿠키 옵트아웃 준수를 지원하는 새로운 API 집합이 있습니다.여기 설명서와 도움말 문서가 있습니다.
EU 쿠키 규정(회원국에서 시행됨)이 수동적 웹 분석 추적에 규정 준수를 위한 옵트인 메커니즘이 필요한지 여부에 대해 약간의 모호성이 있었습니다.어떻게든 걱정이 된다면 변호사와 상담하세요.Google은 사용자가 어떻게 진행할 것인지 결정할 수 있도록 권한을 부여하고 있습니다.
구현 세부 정보는 사용자에게 남겨지지만 Google Analytics에서 사용자를 추적할지 여부를 결정한 후에는 추적하지 않을 경우 Google Analytics를 실행하기 전에 다음 속성을 true로 설정해야 합니다.
window['ga-disable-UA-XXXXXX-Y'] = true;
여기서 UA-XXXXX-Y는 Google Analytics에서 사용자의 계정 ID입니다.
다른 포스터가 지적했듯이 Google Analytics는 쿠키에 의존합니다.쿠키 없이는 어떤 종류의 추적도 할 수 없습니다.추적을 위해 누군가를 요리해서는 안 된다고 판단한 경우 다음과 같은 방법을 구현해야 합니다.
if(doNotCookie()){
window['ga-disable-UA-XXXXXX-Y'] = true;
}
옵트 인
Google Analytics를 처음 로드할 때는 약간의 jujitsu가 필요합니다. Google Analytics를 실행하기 전에 이 속성을 설정해야 추적이 발생하지 않기 때문입니다. 즉, "추적 옵션" 접근 방식을 사용하려면 처음 방문할 때 Google Analytics가 자동으로 비활성화되는 메커니즘을 구현해야 합니다.선택한 쿠키가 없는 경우 활성화된 다음(쿠키 기본 설정을 결정하는 쿠키는 명시적으로 허용됨), 선택한 경우 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'
}
옵트 아웃
이 접근 방식을 사용하면 사용자가 추적을 차단할 수 있습니다. 즉, 쿠키를 사용하여 다음을 설정할 수 있습니다.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']);
하려면 "Google Analytics"를 합니다.{'storage' : 'none'}
추적기 인스턴스를 만들 때 옵션을 선택합니다.
자세한 내용은 해당 주제에 대한 Google 가이드를 참조하십시오.
저는 종종 사용자에게 구글 분석을 선택하지 말라고 요청하지 않습니다. 왜냐하면 쿠키를 설정한 적이 없고 그들의 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 분석을 통해 추적합니다.구글은 여전히 사용자의 IP 주소를 기록하기 때문에 쿠키를 사용하는 것과 같은 효과를 실제로 개인 정보 보호에 미칠 것입니다.
거기서 익명을 요구하는 사람들이IP 스위치가 들어옵니다.이것은 구글에 IP 주소의 익명화된 버전만 저장하라고 말합니다.익명화된 IP 주소는 개인 데이터로 간주되지 않으므로 사용자의 개인 정보는 존중됩니다.
AFAIK 쿠키법은 사생활에 관한 것이며 웹사이트가 그들의 사용을 추적하도록 허용합니다.나는 변호사나 그 무엇도 아니지만 내 생각에 이 대본은 EU 쿠키법을 준수합니다.
이 플랭크를 확인해 보세요. http://plnkr.co/MwH6xwGK00u3CFOTzepK
간단히 말하자면, BBC(아마도 영국에서 가장 인기 있는 사이트)는 쿠키를 준수하는 흥미로운 접근 방식을 취했습니다. 그들은 쿠키가 설정되어 있음을 사용자에게 알려주는 배너를 표시하고 몇 개의 링크를 제공했습니다.
이것은 쿠키가 무엇인지 설명합니다.이것은 그들이 쿠키를 관리할 수 있게 해주지만 가장 흥미로운 것은 사용자가 GA를 완전히 종료할 수 있도록 Google Analytics에 대한 링크를 제공한다는 것입니다.그래서 요약하자면, BBC는 사용자에게 어떤 쿠키가 설정되어 있는지 알려주고 구글 링크를 제공하여 사용자가 모든 GA 쿠키에서 선택할 수 있도록 할 수 있다는 관점을 취했습니다.저에게, 그것은 당신이 GA에게 JS를 통해 주소를 선택하지 말라고 말하는 것보다 훨씬 덜 번거롭습니다.
최신 Google Analytics(gtag.js)에는 이를 위한 "동의 모드"가 있습니다(아직 베타 버전임).
https://developers.google.com/gtagjs/devguide/consent
다음과 같이 표시됩니다.
gtag('consent', 'default', {
analytics_storage: 'denied',
ad_storage: 'denied'
});
그런 다음 사용자가 동의하는 경우 나중에 이러한 설정을 업데이트할 수 있습니다.
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=en#disableCookies
저도 같은 문제에 직면했습니다.
결국 엘머의 답변에 따라 해결책을 얻었지만 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 Analytics에서 새로운 방문자로 간주되므로 많은 기능을 잃게 됩니다.
(+) 하지만 저는 그것을 견딜 수 있고 데이터 개인 정보 보호 법률에 대해 안전하다고 믿습니다.
어떤 피드백이나 개선 제안이라도 환영합니다.
지금까지 이것을 처리하는 일반적인 방법은 사용자가 선택할 때까지 스크립트가 실행되지 않도록 하는 wolf-software의 jquery 플러그인에서 사용되는 방법입니다.하지만 ICO는 지난주 BBC 사이트에서 사용되는 종류의 '암묵적 동의'에 의존하는 것이 허용된다고 그들의 지침을 업데이트했습니다.저는 그것이 법의 정신 안에 있다고 생각하지 않지만, 그것은 법을 집행하는 사람들이 받아들일 수 있다고 생각하는 것입니다.EU의 대부분이 아직 지침을 이행하지 않은 것을 감안할 때, 그들이 영국의 선례를 따를 가능성이 높다고 말하고 싶습니다.
영국 업데이트에 대한 흥미로운 기사가 여기에 있습니다.
http://www.redant.com/articles/eu-cookie-law-update-ico-adopts-softly-softly-approach/
편집: 비동기 GA 스니펫에 대한 Google Analytics 설정이 있습니다.
Google Analytics에 대한 설정이 없습니다. 제안하신 대로 Google Analytics Javascript 추적 스크립트를 사용하려면 동의하지 않은 스크립트를 조건부로 제외해야 합니다.
여러분만의 솔루션을 구축하는 대신 도움이 될 수 있는 솔루션이 이미 존재합니다.Javascript:http://cookies.dev.wolf-software.com/demo/index.htm
추적 서버 측에서 쿠키 없이 Google Analytics 기본 기능을 사용할 수 있는 솔루션이 있습니다. 이 예는 PHP: http://techpad.co.uk/content.php?sid=205 에 있습니다.
덜 침입적인 UX 솔루션의 경우 다음 링크를 통해 구글 분석 쿠키에 대한 암묵적 동의를 설정할 수 있습니다. cookiestatement.eu (자바스크립트, 팝업, 광고 없음)
답변이 늦어서 죄송합니다만, 저는 최근에 제가 방법을 찾을 때까지 같은 것을 찾고 있었습니다.그것은 올바른 방법이 아닐 수도 있지만 효과가 있습니다.(해당 사이트에서만 작동하며 GA가 완전히 해제되지는 않음).저는 확인하기 위해 며칠 동안 테스트를 했습니다.
제가 할 수 있는 방법은 PHP 쿠키를 사용하는 것입니다.먼저 분석 추적을 추가하는 것으로 시작합니다.php 포함...
<?php include_once('analyticstracking.php'); ?>
그리고 분석 추적에서.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 Analytics는 작동하지 않을 것이며 일단 작동하면 'consent_cookie'가 저장되고 GA가 작동할 수 있지만 'google' 쿠키가 파괴되면 GA가 작동하지 않습니다(분명히).
제가 말한 것처럼 그것이 옳은 방법이 아닐 수도 있지만 저는 시도하고 시험해 보았지만 그것은 그렇습니다.이것이 누군가에게 도움이 되기를 바랍니다.
2022년 업데이트:더 이상 쿠키에 관한 것이 아닙니다.이제 당신은 EU 밖에서 구글 폰트를 로드하는 것에 대해서도 동의가 있습니다.사용자 IP(매우 비공개 정보)가 미국으로 전송되기 때문입니다. 저는 변호사는 아니지만 Adsense 및 Analytics에도 영향을 미칩니다.여기에서는 동의가 있을 경우에만 Adsense 및 Analytics를 로드하는 방법에 대한 솔루션을 찾을 수 있습니다. https://stackoverflow.com/questions/70967060/loading-google-adsense-analytics-and-youtube-only-when-consent-is-given
동의가 주어지면 setTimeout("analysis loaded()", 1)을 호출하면 됩니다.
새로운 Google Analytics 4 코드는 다음과 같습니다.
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-####');
</script>
<script type="text/javascript">
function analyticsladen() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://www.googletagmanager.com/gtag/js?id=G-####';
document.body.appendChild(script);
}
//setTimeout("analyticsladen()", 1);
</script>
또는 이전 Google 범용 분석 코드를 사용할 수 있습니다.2023년 6월까지만 작동할 것이라고 구글은 말합니다.
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-####-#']);
_gaq.push (['_gat._anonymizeIp']);
_gaq.push(['_trackPageview']);
var analyticsladen = 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>
재미있는 사실: 구글은 내가 더 이상 분석을 전혀 사용하지 않기 때문에 내 페이지를 4단계 더 높게 평가합니다 :D
사용자가 쿠키 사용을 수락한 후에만 GA가 작동하도록 하려면 몇 가지 단계가 있습니다.
쿠키 사용 안 함
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-Y"></script>
-- <script>
-- window.dataLayer = window.dataLayer || [];
-- function gtag(){dataLayer.push(arguments);}
-- gtag('js', new Date());
-- gtag('config', 'UA-XXXXXX-Y');
-- </script>
GA가 구현된 시점에서, 이것은 단지 가져오기만 하면 업데이트될 필요가 있습니다.gtag.js
스크립트를 작성하고 GA 초기화를 제거합니다.
사용자가 쿠키를 수락할 때 GTag 사용
GTag Opt In은 사용자가 쿠키를 승인/거부할 때 GA를 활성화/비활성화하는 도구입니다.
<script src="https://www.npmcdn.com/gtag-opt-in@2.0.0/dist/index.js"></script>
<script>
GTagOptIn.register('UA-XXXXXX-Y');
...
// On user opt in
GTagOptIn.optIn();
// On user opt out
GTagOptIn.optOut();
...
</script>
라이브러리가 로드되었습니다.GA 추적 ID가 등록되었습니다.나중에 더optIn
그리고.optOut
함수는 사용자 작업의 수락/거부에 바인딩할 수 있습니다.
OptIn으로 Google Analytics를 구현하는 방법에 대해 자세히 알아볼 수 있습니다.
Legal Monster와 같은 것을 사용하여 분석 쿠키에 대한 동의를 제공하지 않은 경우 쿠키를 차단할 수 있습니다.
legal.js는 현재 분석 및 마케팅 쿠키의 차단(및 활성화)을 지원합니다. 앞으로 더 많은 카테고리를 사용할 수 있을 것입니다.
다음은 쿠키 차단에 대한 자세한 안내입니다.
GA는 쿠키 없이는 작동하지 않습니다. 방문자가 이전에 사이트를 방문했다면 방문자를 '식별'하기 위해 필요합니다.따라서 GA에는 이에 대한 설정이 없으며, GA는 쿠키를 만들 수 없는 경우 방문자를 기록하지 않습니다.
사용자가 EU 출신이고 옵트인을 하지 않았다면 구글 분석 스크립트를 제외해야 합니다.
언급URL : https://stackoverflow.com/questions/10668292/is-there-a-setting-on-google-analytics-to-suppress-use-of-cookies-for-users-who
'programing' 카테고리의 다른 글
Android 롤리팝 카드 보기에 미치는 파급 효과 (0) | 2023.08.07 |
---|---|
git clone --mirror를 업데이트하는 방법은 무엇입니까? (0) | 2023.08.07 |
MySQL JSON: 하위 배열에서 형제 요소의 값 찾기 (0) | 2023.08.07 |
안드로이드로 sqlite의 테이블에서 모든 레코드를 삭제하는 방법은 무엇입니까? (0) | 2023.08.02 |
Android의 .dex 파일이란 무엇입니까? (0) | 2023.08.02 |