web-dev-qa-db-ja.com

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

E-Privacy Directive(別名「Cookie Laws」)のEU記事5(3)によれば、EU​​ユーザーをターゲットとするWebサイトは、Cookieを設定する前にユーザーからオプトインの同意を得る必要があります。

ICOガイダンス を参照してください

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

Googleアナリティクス(GA)は、requiring Cookieを使用しなくても、一定レベルの分析データを収集できると思います。

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

サーバーサイドスクリプトでJavaScriptタグにhasConsentedToCookies=FALSEフラグを設定すると、Googleのサービスに適切に劣化した方法で実行するように指示できます。

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

もしそうなら、どこでこれに関する情報を見つけることができますか?

148
JW.

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

Googleアナリティクスには、Cookieのオプトアウトのコンプライアンスを支援する新しいAPIセットがあります。 ドキュメントはこちら 、そして ヘルプドキュメント です。

EU Cookie規制(加盟国で実装されている)が、受動的なWeb分析の追跡にコンプライアンスのオプトインメカニズムを必要とすることを要求するかどうかに関して、いくつかのあいまいさがありました。何らかの形で懸念がある場合は、弁護士に相談してください。 Googleは、あなたがどのように進めたいかを決定する権限を与えます。

実装の詳細はあなたに任せますが、アイデアは、Google Analyticsでユーザーを追跡するかどうかを決定したら、答えが追跡しない場合、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;
}

オプトイン

このプロパティはbeforeに設定する必要があるため、Googleアナリティクスを最初に読み込むときに少しの柔術が必要です。つまり、「追跡をオプトイン」するアプローチでは、オプトインCookie(Cookieを決定するCookie)が存在しない場合、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'
   }

身を引く

このアプローチでは、ユーザーがトラッキングをオプトアウトできるようにします。つまり、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']);
138
Yahel

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

これはクッキーとは何かを説明します。 これは クッキーを管理する を許可しますが、最も興味深いのは彼らが提供するすべての ユーザーが選択できるようにするGoogle Analyticsへのリンクです-out of GA 全体。したがって、要約すると、BBCは、設定されているCookieをユーザーに通知し、ユーザーがすべてのGA Cookieをオプトアウトできるように、Googleへのリンクを提供できると考えています。私にとっては、GAにJSを介して住所をオプトアウトするように指示するよりも、面倒な手間がかかりません。

16
Martin Clarke

クッキーを設定したり、IP(およびその他の個人データ)を保存したりしないため、Googleアナリティクスのオプトアウトをユーザーに求めることはありません。

(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アナリティクスのCookieをローカル/セッションストレージに変換する で確認してください。

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

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

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

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

11
Elmer

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

詳細については、 Googleのテーマに関するガイド をご覧ください。

8
severin

GoogleアナリティクスCookieを無効にするには、Googleアナリティクスコードの先頭に次のコードを追加します(行: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

2
noname

編集:そこには非同期GAスニペットを使用したこのためのGoogleアナリティクス設定があります。

このためのGoogleアナリティクスの設定はありません。提案しているように、GoogleアナリティクスのJavaScriptトラッキングスクリプトを使用する場合は、同意しないスクリプトを条件付きで除外する必要があります。

既にいくつかの解決策がありますが、それはあなた自身のものを転がす代わりに役立つことができます。 Javascript: http://cookies.dev.wolf-software.com/demo/index.htm

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

2
Alex Taylor

返事が遅れてすみませんが、自分で道を見つけるまで最近同じことを探していました。それは正しい方法ではないかもしれませんが、うまくいきます。 (問題のサイトでのみ機能し、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作業から(明らかに)。

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

1
Pezmo

あまり邪魔にならないUXソリューションの場合は、cookiestatement.eu(javascriptなし、ポップアップなし、広告なし)へのリンクを配置して、Google分析Cookieの暗黙の同意を設定できます。

1
Matt Clegg

これを処理する一般的な方法は、ユーザーがオプトインするまでスクリプトが実行されないようにするwolf-softwareのjqueryプラグインで使用される方法です。ただし、ICOは先週、 BBCサイトで使用されている種類の暗黙の同意」。私はそれが法律の精神の範囲内にあるとは本当に思っていませんが、それを強制する人々によって受け入れられると考えられるものです。 EUのほとんどがまだ指令を実施していないことを考えると、英国のリードに従う可能性が高いと思います。

英国の更新に関する興味深い記事がここにあります:

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

1
Chris Disley