ウェブトラッキングにおける同意ベースのタグ制御:技術的実装とGTM活用例
はじめに
近年のプライバシー意識の高まりと法規制の強化により、ウェブサイトにおけるユーザーデータの収集には適切な同意管理が不可欠となりました。単にユーザーに同意の選択肢を提供するだけでなく、ユーザーが選択した同意レベルに基づいて、個々のトラッキングタグの発火を正確に制御する技術的な実装が求められています。これは、法規制への準拠のみならず、ユーザーからの信頼を得るためにも重要な取り組みです。
本稿では、同意管理プラットフォーム(CMP)とタグ管理システム(Googleタグマネージャー: GTM)を連携させ、ユーザーの同意レベルに基づいたタグ制御を実現するための技術的な仕組みと具体的な実装方法について解説します。
同意管理プラットフォーム(CMP)の役割と同意状態の伝達
同意管理プラットフォーム(CMP)は、ウェブサイト訪問者に対してCookie利用ポリシーなどを提示し、データの収集・利用に関する同意を取得・管理するツールです。CMPは、ユーザーがどの種類のCookieやトラッキング技術に同意したかの情報を保持しています。
この同意状態は、ウェブサイト上で後続のスクリプト(特にタグ管理システムや個別のトラッキングタグ)が参照できるよう、様々な方法で伝達されます。一般的な伝達方法には以下のようなものがあります。
- Cookie: CMPが同意状態を記録したCookieをブラウザに保存し、他のスクリプトがそのCookieの値を読み取る方法です。シンプルですが、Cookieブロックの影響を受ける可能性があります。
- Local Storage/Session Storage: ブラウザのストレージ機能を利用して同意状態を保持する方法です。Cookieと同様にブラウザ側で管理されます。
- Data Layer: CMPがJavaScriptのデータレイヤー(多くの場合、グローバル変数として定義されます)に同意状態を書き込み、タグ管理システム(GTMなど)がそれを読み取る方法です。これはGTMと連携する上で非常に一般的かつ推奨される方法です。
通常、CMPのJavaScriptコードは、ウェブサイトの他のスクリプトよりも早期に読み込まれ、ユーザーの同意状態を確定させた後、その状態をData Layerなどに格納します。
タグ管理システム(GTM)による同意状態の取得
Googleタグマネージャー(GTM)は、ウェブサイトのコードを編集することなく、様々なトラッキングタグやマーケティングタグを一元管理できるツールです。GTMは、ページ読み込み時や特定のイベント発生時にタグを発火させるかを制御する「トリガー」機能を持っています。
同意レベルに基づいたタグ制御を実現するためには、まずGTMがCMPから伝達された同意状態を正確に取得できる必要があります。GTMでData Layerから同意状態を取得するには、「データレイヤー変数」を使用します。
例えば、CMPがData Layerに以下のようなオブジェクトをプッシュするとします。
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'cmp_consent_update',
'consent': {
'analytics': true,
'marketing': false,
'preferences': true
}
});
この場合、GTMで「データレイヤー変数」として以下の変数名を設定することで、各同意タイプ(analytics
, marketing
, preferences
)の真偽値を取得できます。
- 変数名:
consent.analytics
- 変数名:
consent.marketing
- 変数名:
consent.preferences
これにより、GTM内でユーザーが同意したトラッキングのカテゴリを把握することが可能となります。
同意レベルに基づいたタグ発火制御の実装(GTMの場合)
GTMで取得した同意状態を使用してタグの発火を制御する最も一般的な方法は、「トリガー」に条件を追加することです。特定の同意タイプ(例えば、アナリティクス関連タグはanalytics
に同意した場合のみ発火させる)に紐づくタグのトリガーに、同意状態をチェックする条件を追加します。
具体的な設定方法にはいくつかのアプローチがありますが、代表的なものを挙げます。
1. カスタム変数とトリガー条件を使用する方法
これはData Layer変数で同意状態を取得し、その変数の値がtrue
であるかをトリガーの条件として設定する方法です。
- データレイヤー変数の設定: 前述のように、CMPがData Layerにプッシュする同意状態に対応するデータレイヤー変数をGTM内で設定します。例えば、
consent.analytics
という名前で変数を作成します。 -
トリガー条件の設定: タグに紐づくトリガーを編集し、新しい条件を追加します。
- 条件タイプ:
ページビュー
やイベント
など、タグ本来の発火タイミングを指定します。 - 条件:
{{データレイヤー変数名}} 等しい true
(例:{{consent.analytics}} 等しい true
)
このように設定することで、ページビュー発生時であっても、ユーザーがアナリティクスに同意していない(
consent.analytics
がfalse
である)場合は、このトリガーは真にならず、タグは発火しません。 - 条件タイプ:
2. Google Consent Modeを使用する方法
Google Consent Modeは、Google広告タグやGoogle AnalyticsタグなどのGoogleタグの動作を、ユーザーの同意ステータスに基づいて調整するためのGoogleが提供する機能です。CMPはこの同意ステータスをGoogle Consent Mode APIを通じてGoogleタグに伝達します。
Google Consent Mode v2では、以下のような同意タイプが標準化されています。
ad_storage
: 広告関連Cookieの保存/読み取りに関する同意analytics_storage
: アナリティクス関連Cookieの保存/読み取りに関する同意ad_user_data
: 広告目的でユーザーデータをGoogleに送信することへの同意ad_personalization
: パーソナライズド広告に関する同意
GTMはこのConsent Modeに対応しており、タグの設定画面でこれらの同意タイプとタグの関連付けを行うことができます。CMPはGoogle Consent Mode API(gtag('consent', 'update', {...})
など)を使用して同意状態を更新し、GTMやGoogleタグはその状態を参照して自動的に動作を調整します。
例えば、Google Analytics 4 (GA4) のタグ設定において、「同意設定」の項目で「analytics_storage」を「必要な同意タイプ」として指定します。これにより、ユーザーがanalytics_storage
に同意しない限り、GA4タグはCookieを利用したトラッキングを行わないか、または同意なしモードでの限定的なデータ送信のみを行います。
Google Consent Modeを利用する利点は、各Googleタグの挙動を標準化された方法で制御できる点です。ただし、Googleタグ以外のタグ(Facebook Pixelなど)の制御には、個別の対応や前述のカスタム変数とトリガー条件を組み合わせる方法が必要になります。
実装における考慮事項
同意ベースのタグ制御を実装する際には、いくつかの重要な考慮事項があります。
- CMPとGTMの連携仕様: 使用するCMPによって、同意状態をData Layerにプッシュする方法や変数名などが異なります。CMPのドキュメントをよく確認し、正確な変数名をGTMで設定する必要があります。
- タグの分類: ウェブサイトで使用している全てのトラッキングタグやスクリプトを、それぞれがどの同意タイプ(アナリティクス、マーケティング、機能など)に該当するか明確に分類する必要があります。この分類に基づいて、各タグに適切なトリガー条件やConsent Mode設定を適用します。
- タグ実行順序: CMPのスクリプトは、同意状態を参照する全てのタグやGTMコンテナよりも前に実行される必要があります。GTMのコードスニペットや個別のタグコードの配置順序に注意が必要です。
- 同意の変更への対応: ユーザーが同意設定を変更した場合、CMPはその更新された同意状態をData Layerなどに再度プッシュする必要があります。GTMで設定するトリガーやConsent Modeは、この同意状態の更新イベントにも反応できるように設計することが望ましいです。
- デバッグと検証: 同意設定が意図通りにタグの発火を制御しているか、慎重にテストする必要があります。ブラウザの開発者ツールやGTMのプレビューモードを活用し、異なる同意設定で各タグが正しく発火/非発火することを確認します。
- パフォーマンス: 多数のタグを厳密に制御することは、ページ読み込みのパフォーマンスに影響を与える可能性があります。非同期読み込みなどを適切に設定し、パフォーマンスへの影響を最小限に抑える工夫が必要です。
- 法規制の変更: プライバシー関連の法規制は今後も変更される可能性があります。最新の規制動向を注視し、必要に応じて実装をアップデートできる柔軟性を持たせることが重要です。
まとめ
ウェブトラッキングにおける同意ベースのタグ制御は、現代のウェブサイト運用において必須の技術的要件となりつつあります。同意管理プラットフォーム(CMP)とタグ管理システム(GTM)を適切に連携させることで、ユーザーのプライバシー設定を尊重しながら、必要なデータを収集することが可能になります。
ウェブマーケターは、法規制やユーザーの期待に応えるため、同意管理の概念を理解し、技術的な実装担当者(エンジニア)と連携して、このような同意ベースのタグ制御メカニズムを正確に設計・実装・運用していくことが求められます。本稿が、その取り組みの一助となれば幸いです。