1. ホーム
  2. javascript

[解決済み] Google Analyticsに、まだ同意していないユーザーに対するCookieの使用を抑制する設定はありますか?

2022-04-13 02:01:57

質問

EUのEプライバシー指令(通称「クッキー法」)第5条3項によると、EUのユーザーを対象とするウェブサイトは、クッキーを設定する前に、ユーザーからオプトインの同意を得なければならないことになっています。

参照 ICOガイダンス

これと同じにしようとしているのが Googleアナリティクス を私のWebサイトに追加しました。

Google Analytics(GA)は、ある程度の分析データ収集は、しなくてもできるのではないかと想像しています。 を必要とします。 クッキーを使用すること。

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

サーバーサイドのスクリプトに hasConsentedToCookies=FALSE というフラグをJavaScriptタグに設定することで、Googleのサービスをグレースフルデグレード方式で実行するように指示することができます。

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

その場合、どこで情報を得ることができますか?

解決方法は?

EDIT(2019年)。以下の回答はGDPRより前のものであり、改訂が必要な可能性が高いです。

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

EUのクッキー規則(加盟国で実施されているもの)が、受動的なウェブ解析のトラッキングにはオプトインの仕組みが必要であると規定しているかどうかについては、曖昧なところがあります。いずれにせよ心配な場合は、弁護士に相談してください。Googleは、あなたがどのように進めたいかを決定する権限を与えています。

実装の詳細はお任せするとのことですが、考え方としては、Google Analyticsでユーザーを追跡するかしないかを決定した後、追跡しないという答えになった場合、Google Analyticsの実行前に以下のプロパティをtrueに設定することになります。

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

UA-XXXXXX-Y は Google Analytics のアカウント ID です。

他の投稿者が指摘しているように、Google AnalyticsはCookieに依存しています。つまり、Cookieがないとどんなトラッキングもできないわけです。もし、トラッキングのためにCookieを使用させたくない人がいると判断した場合、このような実装が必要になります。

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

オプトイン

Google Analyticsを最初に読み込むときに、このプロパティを設定する必要があるため、ちょっとしたコツが必要です。 以前 Google Analyticsはトラッキングが発生しないように実行されます。つまり、quot;opt in to tracking"アプローチでは、最初の訪問時に、オプトインクッキーがない場合は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']);