ブログに戻る

ブログ

CookiePass と Google 同意モード:同意バナーはトラフィックに何をもたらすか

公開 · 読了 5 分

当サイトでは CookiePass を使っています。Cookie 同意サービスで、Google 同意モード v2 を Google の仕様どおりに実装しています。この性質はバナーの色よりも重要です。訪問者が回答する前、「はい」の後、「いいえ」の後に、Google タグがページビューごとに何を送るかを決めるからです。これは、そのヒットがすべてコンテナを通過するサーバー側から見た姿です。

同意モードが実際に変えるもの

同意モードはタグのオン/オフスイッチではありません。導入後も Google タグはすべてのページで発火します。変わるのは各ヒットに付くフラグと、それによって Google がヒットをどう扱うかです。analytics_storage が拒否されている場合、タグは Cookie を設定せず、ページ間でクライアント ID を保持せず、Google が「Cookie なしの ping」と呼ぶヒットを送ります。GA4 はこれをレポートではなくモデリングに使います。

そのフラグは gcs というクエリパラメータで、2 文字と 2 桁の数字です。最初の数字が ad_storage、2 番目が analytics_storage を表し、1 が許可、0 が拒否です。

gcs=G100   ad_storage denied,  analytics_storage denied
gcs=G101   ad_storage denied,  analytics_storage granted
gcs=G110   ad_storage granted, analytics_storage denied
gcs=G111   both granted
(no gcs)   no Consent Mode on the page — treated as granted

見落とされがちなのは最後の行です。同意モードのないページは gcs を送らず、Google はそのヒットをすべて同意済みとして扱います。つまり同意モードを実装したバナーを追加しても送信量は減りません。送信について正直に伝え始めるだけです。

CookiePass はどう接続するか

同意モード v2 が求めるのは設定ではなく順序です。デフォルト状態は Google タグが読み込まれる前に宣言されなければならず(まだ選択していない人には拒否)、訪問者が決めた瞬間に更新が続き、再訪問のたびに復元される必要があります。順序を誤ると、バナーが描画される前に各セッションの最初のページビューが同意済みとして送られます。

これが CookiePass 自身のスクリプトが生成するシーケンスで、Tag Manager コンテナには何も入りません:

gtag('consent', 'default', {
  ad_storage: 'denied',
  analytics_storage: 'denied',
  ad_user_data: 'denied',
  ad_personalization: 'denied',
  wait_for_update: 500
});

// …the visitor accepts…
gtag('consent', 'update', {
  ad_storage: 'granted',
  analytics_storage: 'granted',
  ad_user_data: 'granted',
  ad_personalization: 'granted'
});

統合はこれで全部です。Google のタグは同意状態を自動的に尊重し、SignalHost がウェブコンテナに公開するタグも同様です。サーバーコンテナに同意条件は不要です。手作業で追加すると、ゲートされた Google タグの隣にゲートされていないイベントタグが並び、データが Google へ直接送られることになります。

選択の前後にサーバーコンテナが見るもの

ヒットの経路は変わりません。ブラウザが自社ホスト名に送り、エッジがサーバーコンテナへ転送し、コンテナが GA4 へ送ります。違いはペイロードだけです。

  • 選択前:すべてのヒットに gcs=G100、_ga Cookie なし、ページごとに新しいクライアント ID。GA4 は Cookie なしの ping を受け取り、コンテナはリクエストを 1 件数えます。
  • 同意後:gcs=G111、Cookie が設定され、セッションがつながります。ここからがレポートを構成するヒットです。
  • 拒否後:選択が続く限りすべてのページで gcs=G100。拡張計測のイベント(scroll、file_download など)も page_view と同じ規則に従います。

バナー導入後にコンテナページがイベントごとに 2 つの数字を示すのはこのためです。アナリティクスへの同意付きで送られたヒット(アナリティクスがユーザーとセッションとして報告するもの)と、スラッシュの後にコンテナが転送したすべてです。session_start と first_visit はどちらの列にも現れません。アナリティクスがイベントとして受け取るのではなく、最初の page_view のフラグから導き出すからです。

トラフィックの数字にとっての意味

2 つの列は一致しないものと考えてください。その差こそがページで最も役立つ数字です。

  • アナリティクスが報告するユーザーとセッションは、コンテナが数えるリクエストより少なくなります。差は拒否した、または回答しなかった訪問者の割合、つまり推測ではなく測定された同意率です。
  • GA4 はプロパティが Google のしきい値を満たせば、行動モデリングでその差の一部を埋められます。モデル化されたデータはレポートには現れますが、送信されないためコンテナには決して現れません。
  • ad_storage が拒否されていると、Google 広告のコンバージョン トラッキングには帰属先がなく、コンバージョン リンカーにはつなぐものがありません。サーバーコンテナはこれを変えませんし、変えるべきでもありません。ファーストパーティは同意不要という意味ではありません。
  • バナーのデザインは計測上の判断になりました。同意率 60% と 85% はボタンが違うだけの同じサイトで、列の差がどちらなのかを教えてくれます。

チェックリスト

  • 同意スクリプトを Google タグより前に読み込む。最初のヒットの前にデフォルト状態が存在しなければなりません。
  • バナー未回答のページを開き、ブラウザのネットワークパネルで /g/collect リクエストの gcs を読む。G100 のはずです。
  • 同意して次のページでもう一度読む。G111 のはずです。
  • サーバーコンテナ内のものに同意トリガーを追加しない。ウェブタグがすでに状態を運んでいます。
  • 翌日コンテナページに戻り、page_view の数字のペアを読む。最初の数を 2 番目で割ったものが同意率です。

CookiePass を選んだのは、上記のシーケンスをそのまま実行し、当サイトでは午後のうちに稼働し、バナーにサイト自身の色を使えるからです。前のセクションの数字が、それが機能している証拠です。

広告ブロッカーにデータを奪われ続けない

毎月 1 万リクエストを無期限で無料。役に立つかどうかは 4 分でわかります。