mcpField
G
google-consent-mode-v2

google-consent-mode-v2

github.com/mukul975マーケティング・グロース32343 回インストール32 週間前に更新
リポジトリ

google-consent-mode-v2 について

ユーザーの同意状態に応じて Google タグを調整する広告主や実装担当者向けに、Google Consent Mode v2 の設定方法を解説します。パラメータの対応付け、GTM の設定、地域別ルール、検証を扱います。

主な機能

  1. 01同意状態の初期値と更新の設定
  2. 02CMP の同意カテゴリとの対応付け
  3. 03GTM の同意トリガー設定
  4. 04地域別の初期値の適用
  5. 05タグとネットワークリクエストの確認
  6. 06モデリング要件の確認

活用シーン

  1. 01EEA ユーザー向け Consent Mode v2 の導入
  2. 02CMP の選択肢と Google タグの対応付け
  3. 03同意状態とタグ動作のデバッグ
  4. 04GA4 と Ads の測定設定の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/privacy-data-protection-skills --skill google-consent-mode-v2

インストール後、Claude Code で/google-consent-mode-v2を入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
consent_mode_gtag.html
consent_mode_gtm.html
consent_parameters.md
template.md
references/
standards.md
workflows.md
scripts/
process.py

詳細

Google Consent Mode v2 の設定

概要

Google Consent Mode v2 は、ユーザーの同意状況に応じて Google タグ(Analytics、Ads、Floodlight)の動作を調整するフレームワークです。2023 年 11 月に発表され、2024 年 3 月から適用が開始された Consent Mode v2 では、既存の analytics_storage および ad_storage パラメーターに加えて、ad_user_data と ad_personalization という 2 つの新しいパラメーターが導入されました。欧州経済領域(EEA)のユーザーにサービスを提供する広告主は、Google Ads および GA4 で測定機能とオーディエンス機能を維持するために、Consent Mode v2 の実装が必要です。実装しない場合、Google はリマーケティングリストやコンバージョン測定のために EEA ユーザーのデータを処理しません。

Consent Mode v2 のパラメーター

パラメーターの定義
パラメーター制御対象デフォルト説明
ad_storage広告 Cookiedenied広告関連の Cookie(gcl*、IDE)の読み書きを制御します
ad_user_data広告用ユーザーデータdenied広告目的でユーザーデータを Google に送信できるかどうかを制御します
ad_personalization広告のパーソナライズdeniedリマーケティングやパーソナライズド広告にデータを使用できるかどうかを制御します
analytics_storageアナリティクス Cookiedeniedアナリティクス Cookie(_ga、_gid)の読み書きを制御します
functionality_storage機能性 Cookiegranted機能性 Cookie(言語設定)を制御します
personalization_storageパーソナライズ Cookiedeniedパーソナライズ Cookie(レコメンデーション)を制御します
security_storageセキュリティ Cookiegrantedセキュリティ関連の Cookie(認証、不正行為の防止)を制御します
Pinnacle E-Commerce Ltd の同意状態のマッピング

CMP の同意カテゴリを Consent Mode のパラメーターにマッピングします。

CMP カテゴリad_storagead_user_dataad_personalizationanalytics_storage
すべて拒否(デフォルト)denieddenieddenieddenied
アナリティクスのみdenieddenieddeniedgranted
アナリティクス+広告grantedgrantedgrantedgranted
アナリティクス+広告(パーソナライズなし)grantedgranteddeniedgranted
すべて許可grantedgrantedgrantedgranted

実装

基本的な実装(Google Tag/gtag.js)

ステップ 1:Google タグを読み込む前にデフォルトを設定する

このスクリプトを Google タグより前の <head> に配置します。

<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

// Set default consent state — deny all non-essential before user interaction
gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied',
  'functionality_storage': 'granted',
  'personalization_storage': 'denied',
  'security_storage': 'granted',
  'wait_for_update': 500  // Wait 500ms for CMP to load
});

// Enable URL passthrough for conversion measurement without cookies
gtag('set', 'url_passthrough', true);

// Enable ads data redaction when ad_storage is denied
gtag('set', 'ads_data_redaction', true);
</script>

ステップ 2:Google タグを読み込む

<script async src="https://www.googletagmanager.com/gtag/js?id=G-PINNACLE123"></script>
<script>
gtag('js', new Date());
gtag('config', 'G-PINNACLE123');
</script>

ステップ 3:ユーザーが CMP を操作したときに同意状態を更新する

// Called by the CMP when user makes a consent choice
function updateGoogleConsent(consentState) {
  gtag('consent', 'update', {
    'ad_storage': consentState.advertising ? 'granted' : 'denied',
    'ad_user_data': consentState.advertising ? 'granted' : 'denied',
    'ad_personalization': consentState.personalization ? 'granted' : 'denied',
    'analytics_storage': consentState.analytics ? 'granted' : 'denied'
  });
}
Google Tag Manager の実装

ステップ 1:Consent Initialization トリガーを設定する

GTM で、デフォルトの同意タグには「Consent Initialization — All Pages」トリガータイプを使用します。このトリガーは、ほかのすべてのトリガーより先に発火します。

デフォルトの同意タグ(Consent Initialization トリガー):

設定値
タグタイプGoogle tag: Consent configuration
アクションDefault
ad_storageDenied
ad_user_dataDenied
ad_personalizationDenied
analytics_storageDenied
更新を待機500 ms
URL パススルーEnabled
広告データの編集Enabled

ステップ 2:同意更新タグを設定する

同意変更時に発火するカスタム HTML タグを作成するか、CMP 固有のテンプレートを使用します。

同意更新タグ(カスタムイベントトリガー:consent_update):

設定値
タグタイプGoogle tag: Consent configuration
アクションUpdate
ad_storage{{CMP - Ad Storage Consent}}
ad_user_data{{CMP - Ad User Data Consent}}
ad_personalization{{CMP - Ad Personalization Consent}}
analytics_storage{{CMP - Analytics Storage Consent}}

ステップ 3:タグの同意設定を構成する

GTM の各 Google タグで、組み込みの同意チェックを設定します。

タグ必須の同意追加の同意
GA4 Configurationanalytics_storage—
GA4 Eventanalytics_storage—
Google Ads Conversionad_storagead_user_data
Google Ads Remarketingad_storagead_user_data, ad_personalization
Floodlight Counterad_storagead_user_data
Floodlight Salesad_storagead_user_data
地域別の設定

ユーザーの地域に応じて異なるデフォルト設定を適用します。

// Strict defaults for EEA users
gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied',
  'region': ['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR',
             'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL',
             'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'IS', 'LI', 'NO']
});

// Less restrictive defaults for US users (adjust per state law)
gtag('consent', 'default', {
  'ad_storage': 'granted',
  'ad_user_data': 'granted',
  'ad_personalization': 'granted',
  'analytics_storage': 'granted',
  'region': ['US']
});

コンバージョン モデリングと Cookie を使用しない ping

Consent Mode による測定の維持

同意が拒否された場合でも、Google タグは Cookie を使用しない ping を送信します。ping には次の情報が含まれます。

  • ページ URL(ads_data_redaction が適用されたもの)
  • タイムスタンプ
  • ユーザーエージェント
  • リファラー(ads_data_redaction が false の場合)
  • 同意状態の集計情報

Google は、これらの ping と同意したユーザーのデータを組み合わせて、次の値を推定する機械学習モデルを構築します。

  • コンバージョン モデリング:ad_storage に同意しなかったユーザーからのコンバージョン数を推定します
  • GA4 の行動モデリング:同意しなかったユーザーの推定ユーザー数とセッション指標を算出します
コンバージョン モデリングの要件

Google がモデル化されたコンバージョンを生成するには、Pinnacle E-Commerce Ltd が次の要件を満たす必要があります。

要件しきい値
1 日あたりの同意済みコンバージョンの最小数コンバージョン アクションごとに 70 件以上
1 日あたりのコンバージョンの合計最小数コンバージョン アクションごとに 100 件以上
Consent Mode の実装期間7 日間以上連続
タグのカバレッジコンバージョンに関係するすべてのページ
GA4 の行動モデリング

GA4 の行動モデリングは、アナリティクスデータの不足部分を補います。

要件しきい値
1 日あたりの同意済みユーザーの最小数プロパティごとに 1,000 人以上
データの最小日数7 日間以上連続
Consent Mode のカバレッジすべての GA4 ページビュータグとイベントタグ

検証とデバッグ

Google Tag Assistant による検証

Google Tag Assistant(ブラウザー拡張機能)を使用して、次の点を確認します。

  1. デフォルトの同意がタグより先に発火する:Tag Assistant のタイムラインで、同意のデフォルト設定が Google タグの設定より先に表示されることを確認します
  2. CMP の操作時に同意更新が発火する:ユーザーが Cookie バナーを操作したときに、同意更新イベントが表示されることを確認します
  3. タグの動作が同意状態に一致する:同意状態に基づいて GA4 タグと Ads タグが発火(またはブロック)されることを確認します
リアルタイムデバッグ

GA4 DebugView では、同意の影響を受けるイベントに次の情報が表示されます。

  • 現在の同意状態を示す「consent」バッジ
  • analytics_storage が拒否された場合に欠落するユーザー ID/セッション ID
  • Cookie を使用しない ping を示すインジケーター
ネットワークレベルでの検証

https://www.google-analytics.com/g/collect へのネットワークリクエストを監視します。

パラメータ同意あり同意なし
_p(ページ ID)存在存在
cid(クライアント ID)_ga cookie から取得ヒットごとにランダム生成
gcs(同意状態)G111(すべて許可)G100(すべて拒否)
gcd(同意のデフォルト)存在存在
設定される Cookie_ga、_gidなし

EEA の要件(2024年3月)

Google のデジタル市場法(DMA)への準拠要件:

  1. Consent Mode v2 が必須:EEA のユーザーをターゲットとするすべての広告主は、リマーケティングリストとコンバージョン測定を維持するために Consent Mode v2 を実装する必要があります
  2. ad_user_data と ad_personalization が必須:新しい v2 パラメータの 2 つを設定する必要があります。省略した場合は「拒否」として扱われます
  3. 認定済み CMP を推奨:Google は、EU での同意取得に Google 認定の CMP パートナーを使用することを推奨しています
  4. 同意を得た Enhanced Conversions:Enhanced Conversions(ファーストパーティデータの照合)には、ad_user_data = granted が必要です

主な参考資料

  • Google Consent Mode v2 Documentation — 公式の実装ガイド
  • Google Tag Manager Consent Configuration — GTM 固有の設定手順
  • Google Ads DMA Compliance Guide(2024年3月) — EEA 固有の要件
  • EU Digital Markets Act(DMA)Regulation 2022/1925 — Google の同意要件の法的根拠
  • ePrivacy Directive 2002/58/EC, Article 5(3) — Cookie 同意の法的根拠
  • CJEU Case C-673/17(Planet49) — 同意モードのデフォルト状態に適用される積極的な同意の要件

コメント