まだ同意していないユーザーのCookieの使用を抑制する設定がGoogleアナリティクスにありますか


171

Eプライバシー指令(別名「Cookie法」)のEU条項5(3)によると、EUユーザーを対象とするWebサイトは、Cookieを設定する前にユーザーからオプトインの同意を得る必要があります。

ICOガイダンスを見る

私は自分のウェブサイトでこれをGoogle Analyticsで二乗しようとしています。

私はGoogleアナリティクス(GA)はせずに、分析データ収集の一定のレベルを行うことができますことを想像必要とクッキーの使用を。

しかし、ページのリクエスト中に「同意の状態」に関する情報をGoogleに中継する方法について、この(Googleサイト/設定パネルで)情報を見つけることができません。したがって、私の唯一の選択肢は、ユーザーが明示的に同意しない限り、Googleタグコード埋め込まないことです。それは少し抜本的なようです。

サーバーサイドスクリプトでhasConsentedToCookies=FALSEJavaScriptタグにフラグを設定させると、Googleのサービスに正常に機能が低下する方法で実行するように指示できます。

Google Analyticsで、まだ同意していないユーザーのCookieの使用を抑制する設定はありますか?

もしそうなら、これに関する情報はどこにありますか?


2
更新:この質問は、AdSenseとAnalyticsの両方について尋ねていましたが、それぞれの答えは異なる場合があるため、この質問から「Google Adsense」の側面を抽出して、それぞれをよりまとまりのあるものにしました。
JW。


これを知らない場合に備えて、piwikについて聞いたことはありますか?(piwik.org
TheHippo

良い質問です!
Rob

GoogleはCookieを無効にできると言っていますが、機能していないようです。リンク:developers.google.com/analytics/devguides/collection/...

回答:


149

編集(2019):以下の回答はGDPRより前のものであり、おそらく改訂が必要です。

Google Analyticsには、Cookieのオプトアウトへの準拠を支援する一連の新しいAPIがあります。これがドキュメンテーションであり、ここが彼らのヘルプドキュメントです。

EUのCookie規制(加盟国で実施されている)で、パッシブなWeb分析の追跡にコンプライアンスのオプトインメカニズムが必要であるかどうかについては、あいまいさがいくつかあります。何らかの方法で気になる場合は、弁護士に相談してください。Googleは、どのように進めたいかについて決定を下す力を与えています。

実装の詳細はあなたに任せますが、Googleアナリティクスでユーザーを追跡するかどうかを決定したら、答えが追跡しない場合は、Googleの前に次のプロパティをtrueに設定します。アナリティクスが実行されます:

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

ここで、UA-XXXXXX-YはGoogleアナリティクスのアカウントIDです。

他の投稿者が指摘したように、Google AnalyticsはCookieに依存しています。したがって、Cookieがないと、いかなる種類の追跡も実行できません。追跡のためにCookieを設定しないと判断した場合は、次のようなものを実装する必要があります。

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

オプトイン

このプロパティは、Google Analyticsを最初にロードするときに少し必要です。これは、Google Analyticsを実行する前にこのプロパティを設定して、トラッキングが発生しないようにする必要があるためです。 dおそらく、最初のアクセス時に、オプトインCookieがない場合にGoogleアナリティクスが自動的に無効になるメカニズムを実装する必要があります(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を使用して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']);

2
良い答えについての小さなヒント-if(doNotCookie(){はif(doNotCookie()){である必要があります{
Roee Shenberg

1
答えてくれてありがとう。私は「弁護士に相談する」とは言いませんが。技術者がガイダンスを読んで理解する方が、技術者のニュアンスを学ぶのに弁護士を必要とするよりも速いでしょう。
JW。

1
ユーザーがCookieを保存しないことを選択した場合、解決策はこの設定でCookieを保存することであることを理解できますか?または、このCookieはEUの規制に該当しないと見なされますか?
Jonathon Horsman

5
はい。私が見たほとんどの規制(具体的には英国とフランスの規制)は、Cookieの設定を保存するCookieはルールに違反しないと明確に述べています。Cookieはブラウザに状態を保存する唯一の普遍的にアクセス可能な方法であるため、それを回避する方法はありません。
Yahel

17

{'storage' : 'none'}トラッカーインスタンスの作成時にオプションを指定することで、GoogleアナリティクスでのCookieの使用を無効にできます。

詳細については、この件に関するGoogleのガイドを参照してください。


1
このガイドでは、Cookieを無効にする場合は、同様のトラッキングを自分で実装する必要があるため、これは役に立たないようです。
mpartel 2017年

4
@mpartel一部の情報は失われます。リピーターとマルチチャネルコンバージョンです。しかし、それらが必要ない場合でも、これは許容されます。
Ali

16

手短に言えば、BBC(おそらく英国で最も人気のあるサイト)はCookieに準拠するための興味深いアプローチをとっています。Cookieが設定されていて、いくつかのリンクを提供していることをユーザーに知らせるバナーが表示されています。

これはクッキーとは何かを説明しています。これにより、ユーザーはCookieを管理できますが、最も興味深いのは、Googleアナリティクスへのリンクを提供して、ユーザーがGA全体をオプトアウトできるようにすることです。したがって、要約すると、BBCは、設定されているCookieをユーザーに通知し、Googleへのリンクを提供して、ユーザーがすべてのGA Cookieをオプトアウトできるようにするという見方をしています。私にとっては、JS経由でアドレスをオプトアウトするようGAに指示するよりもはるかに簡単です。


13
私は本当にBBCのソリューションが受け入れられるとは思いません。実際、少なくとも3つの理由で、これらのソリューションには根本的な欠陥があります。1)受け入れるかどうかを尋ねる前にCookieを設定する、2)Cookieの設定を保存するためにCookieを設定する、および3)Cookieを設定する必要があるサイトはサードパーティのCookieを制御しないと述べていますが、これはEU指令の書簡ではないとしても精神に直接違反しています。彼らが他の方法で現れる間、彼らが法律の境界を可能な限り多くの方法で押し広げようとしているので、私はビーブスがこれにぶつかるであろうと思います。
David T. Macknet


もちろん、多分私は間違っています-明らかに彼らは要件を変更しましたか? blog.silktide.com/2012/05/…要件の変更について話しているため、これ以上はわかりません。これらの人々について知らないでください、そして私はここで(今のところ)生きています!
David T. Macknet

登録には、彼らのサイトを使い続けることにより、彼らがあなたに彼らがクッキーと受け入れるボタンを使用することを許可することに同意することを想定していると言うバナーがあります。
iamichi

6
@MartinClarke-ええと...実際、私はメディア企業のリードに従うかどうかは定かではありません。特に、BBCが英国内で特別な地位を占め、形作るように言われる可能性が高いためです。罰金で平手打ちされるのではなく、私はそれはリスクの問題だと思います-BBCは公的資金機関としてリスクがあまりありませんが、商業サイトはそうかもしれません。
David T. Macknet、2012年

15

私は、Googleアナリティクスをオプトアウトするようユーザーに要求することはありません。これは、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 Cookieをローカル/セッションストレージに変換するでこのコードを確認してください。

このスクリプトはCookieを設定しませんが、Googleアナリティクスを介して追跡します。グーグルはまだユーザーのIPアドレスを記録しているので、これは実際にはCookieを使用するのと同じプライバシーに影響を及ぼします。

そこでanonymizeIpスイッチを使用します。これにより、IPアドレスの匿名バージョンのみを保存するようにGoogleに指示します。匿名化されたIPアドレスは個人データとは見なされないため、ユーザーのプライバシーは尊重されます。

AFAIK Cookieの法律はすべてプライバシーに関するものであり、ウェブサイトがその使用を追跡することを許可しています。私は弁護士でも何でもありませんが、私の意見では、このスクリプトはEUのCookie法に準拠しています。

このplunkをチェックして、実際の動作を確認してください。http://plnkr.co/MwH6xwGK00u3CFOTzepK


こんにちは、これは常に安全なアプローチではありません。理由は次のとおりです
caesarsol 2015年

これが'anonymizeIp': trueオプションの目的です。これはIPアドレスを保存しません。私は、Cookie法とは関係のないいくつかの理由で、Cookieよりもlocalstorageを使用することを好みます。
Elmer

5
いいえ、これはまったく準拠していません。-anonymizeIpは誤解を招く可能性があり、EU法に基づいて情報を保持し続けます-LocalStorageはEU法により「Cookie」と見なされているため、このコードはGAで提供する情報が少なく、準拠していません法律で。
2017年

「EU Cookie法」は実際には指令であり、UEメンバーの特定の法律に依存します。たとえば、イタリアのプライバシー当局は、IPアドレスを匿名化し、Googleアナリティクスコンソールで他のサービスとのデータの共有を無効にする場合、イタリアの法律ではユーザーの同意は不要であると明言しています。
mcont

4
@Flunch "anonymizeIpは誤解を招く可能性があり、EUの法律に従って多くの情報を保持しています"参照を提供してください。なぜそれは受け入れられないのですか?それはいつ大丈夫でしょうか?「情報が多すぎる」とは?
Ali

3

次のコードをgoogle analyticsコードの先頭に追加することにより、google analytics cookieを無効にできます(行の前:var _gaq = _gaq || [];):

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

ただし、この変更後は、Googleアナリティクスの一部の機能(リアルタイム統計など)が正しく機能しなくなります。GoogleアナリティクスCookieの詳細:https : //developers.google.com/analytics/devguides/collection/analyticsjs/domains?hl=en#disableCookies


var clientId = ...コードは何をしますか?私の知る限り、関数内でローカル変数を定義していますが、役に立たないのではないですか。
caesarsol

私はあなたが使用する必要があり、それが唯一の例だと思う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

EDIT:そこ非同期GAスニペットで、このためのGoogle Analyticsの設定が。

ご指摘のとおり、GoogleアナリティクスのJavascript設定はありません。GoogleアナリティクスのJavaScriptトラッキングスクリプトを使用する場合は、同意していないスクリプトを条件付きで除外する必要があります。

すでにいくつかの解決策があり、独自に展開する代わりに役立つ場合があります。Javascript:http : //cookies.dev.wolf-software.com/demo/index.htm

これは、トラッキングサーバー側を実行することにより、CookieなしでGoogleアナリティクスの基本機能を使用できるようにするソリューションです。この例はPHPにあります。http//techpad.co.uk/content.php?sid = 205


リンクをありがとう。非常に役立つリンク。
JW。

1

より煩わしくないUXソリューションの場合、次のリンクを配置することにより、Google分析Cookieの暗黙の同意を設定できます:cookiestatement.eu(JavaScriptなし、ポップアップなし、広告なし)


1

返事が遅れて申し訳ありませんでしたが、自分で道を見つけるまで、最近同じことを探していました。それを行うには正しい方法ではないかもしれませんが、機能します。(問題のサイトでのみ機能し、GAを完全にオプトアウトしない)。数日間テストして確認しました。

私が何とかしてそれを行う方法は、PHP Cookieを使用することです。最初に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
}
?>

ユーザーがCookieに同意する前は、Googleアナリティクスは機能せず、機能すると、「consent_cookie」が保存され、GAが機能しますが、「google」Cookieが破棄されると、GAが機能しなくなります(明らかに)。

私が言ったようにそれは正しい方法ではないかもしれませんが、私は試し、テストしました、そしてそれはします。これが誰かを助けることを願っています。


0

私も同じ問題に直面していました。

最終的に、私はエルマーの返事の中で解決策を得ましたが、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の新しい訪問者としてカウントされるため、そこには多くの機能が失われています。

(+)しかし、私はそれと共存でき、データのプライバシー法に関しては安全だと信じています。

フィードバックや改善の提案は大歓迎です。


-3

GAはCookieなしでは機能しません。訪問者が以前にサイトを訪問したことがある場合は、訪問者を「識別する」必要があります。したがって、GAにはこの設定はありません。Cookieを作成できない場合、GAは訪問者を記録しません。

ユーザーがEU出身でオプトインしていない場合は、私が思うgoogle-analyticsスクリプトを除外する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.