ナレッジ
実務ハウツー データ分析

Consent Mode v2のデバッグ手順 — 同意状態がタグに反映されないときの確認箇所

Consent Mode v2の実装トラブルは、default設定の実行タイミングとupdateの発火漏れにほぼ集約されます。Tag AssistantのConsentタブでの同意状態の読み方、4つの同意シグナルの確認方法、症状別の原因と確認箇所を整理したデバッグ手順を解説します。

文責:サードパーティートラスト編集部

Consent Mode v2を実装したのに「同意したはずなのに計測されない」「拒否したのにタグが飛んでいるように見える」という相談は、いまだに定常的にあります。デバッグの経験から先に結論を言うと、この種のトラブルの原因はほぼ2つに集約されます。defaultの同意状態がタグより後に実行されているか、CMPバナー操作後のupdateが飛んでいないか、です。

この記事は概念の解説ではなく、トラブルシュートの手順書です。上から順に確認していけば、大半のケースで原因に到達できるはずです。

前提:4つの同意シグナル

確認作業の前に、見るべきシグナルを整理します。Consent Mode v2で管理される主な同意タイプは次の4つです。

シグナル 制御対象
analytics_storage GA4などの分析系ストレージ
ad_storage 広告系Cookieの読み書き
ad_user_data 広告目的でのユーザーデータ送信(v2で追加)
ad_personalization パーソナライズド広告(v2で追加)

「v2対応済み」と言えるのは、後ろ2つ(ad_user_data / ad_personalization)がdefaultとupdateの両方で制御されている状態です。CMP側がv1時代の2シグナルしか送っていない実装は、今でも監査でよく見つかります。

手順1:Tag AssistantのConsentタブで状態遷移を読む

GTMのプレビューモード(Tag Assistant)を起動し、左側のイベント一覧の上部にある「Consent」タブを開きます。ここに、各同意タイプの状態がイベント時点ごとに表示されます。

正常な実装では、次の順序が観測できます。

  1. ページ読み込みの最初期に「Consent Default」の行が現れ、全シグナルがdenied(またはリージョン設定に応じた初期値)になっている
  2. CMPバナーで同意操作をすると「Consent Update」の行が現れ、同意されたシグナルがgrantedに変わる

この2行が「この順序で」出ているかが最初の確認点です。よくある異常は次の2つです。

Defaultの行がタグ発火より後に出ている。この場合、最初のページビューはdefault未設定の状態で送信されています。原因はほぼ実装順序で、gtag('consent', 'default', ...)がGTMコンテナスニペットや他のタグより後に書かれています。defaultはGTMスニペットより前、headの最上部近くで実行される必要があります。

Updateの行が出ない。バナーで同意してもConsentタブに変化がなければ、CMPがgtag('consent', 'update', ...)を発行していません。CMP側の設定(Google Consent Modeとの連携オプション)が無効になっているか、CMPテンプレートとカスタム実装が混在して片方しか動いていないケースが典型です。

手順2:タグ側の挙動を確認する

同意状態が正しく遷移していても、タグ側の設定で計測が止まっていることがあります。

Tag Assistantで対象タグ(GA4設定タグ等)を選択し、発火状況を確認します。Consent Mode下では、タグは「発火しない」のではなく「同意状態に応じて挙動を変えて発火する」点に注意してください。analytics_storageがdeniedでもGA4タグ自体は発火し、Cookieを使わないping(cookieless ping)が送られます。ネットワークタブでcollect リクエストのgcsパラメータを見ると、同意状態がリクエストに反映されているかを直接確認できます(例:gcs=G111が全denied、G101はad denied/analytics grantedを表す形式)。

また、GTMのタグ設定には「追加の同意チェック」(タグに同意条件を追加する設定)があります。ここに条件が設定されていると、同意されるまでタグの発火自体がブロックされます。「Consentタブは正常なのにタグが発火しない」ときは、この設定を確認してください。

手順3:症状から原因を引く

よくある症状と確認箇所を表にまとめます。

症状 疑う原因 確認箇所
同意後も計測されない updateが飛んでいない ConsentタブにUpdate行があるか
初回PVだけ欠ける defaultの実行順序 Default行がタグ発火より前か、head内の記述位置
特定の国だけ計測されない リージョン指定のミス defaultのregion指定と対象国の対応
拒否したのに広告Cookieが残る CMPとConsent Modeの不整合 CMPのブロック方式(タグ自体の停止かConsent Mode連携か)の確認
v2シグナルだけ未設定と警告される CMPがv1実装のまま ad_user_data / ad_personalizationがdefault・update双方に含まれるか

リージョン指定のミスは見落とされがちです。defaultをregion: ['EEA諸国']のように限定している場合、指定外の国では別のdefault(または未設定)が適用されます。日本のユーザーで問題が出ているのにEEA向けの設定だけ見ていた、というケースは実際にありました。

デバッグを楽にする実装側の習慣

最後に、トラブルを事前に減らす実装習慣を2つだけ。

defaultの記述はCMPツールに任せず、自社管理のスニペットとしてhead最上部に固定すること。CMP側のスクリプト読み込みタイミングにdefaultを依存させると、CMPの配信遅延がそのまま計測欠損になります。

そして、同意状態の検証をリリースチェックリストに含めること。Consent Mode周りは「一度動けば壊れない」ものではなく、CMPのプラン変更・テンプレート更新・タグ追加のたびに壊れる可能性があります。四半期に一度、この記事の手順1〜2を流すだけで、静かに進行する計測欠損を防げます。

参考情報

関連するナレッジ

支援サービス

この記事に関連するサービス

記事のテーマに近い領域のサービスです。詳細は各サービスページをご覧ください。