ウェブトラッキングのすべて

ウェブトラッキングにおける同意ベースのタグ制御:技術的実装とGTM活用例

Tags: ウェブトラッキング, 同意管理, CMP, GTM, タグ管理

はじめに

近年のプライバシー意識の高まりと法規制の強化により、ウェブサイトにおけるユーザーデータの収集には適切な同意管理が不可欠となりました。単にユーザーに同意の選択肢を提供するだけでなく、ユーザーが選択した同意レベルに基づいて、個々のトラッキングタグの発火を正確に制御する技術的な実装が求められています。これは、法規制への準拠のみならず、ユーザーからの信頼を得るためにも重要な取り組みです。

本稿では、同意管理プラットフォーム(CMP)とタグ管理システム(Googleタグマネージャー: GTM)を連携させ、ユーザーの同意レベルに基づいたタグ制御を実現するための技術的な仕組みと具体的な実装方法について解説します。

同意管理プラットフォーム(CMP)の役割と同意状態の伝達

同意管理プラットフォーム(CMP)は、ウェブサイト訪問者に対してCookie利用ポリシーなどを提示し、データの収集・利用に関する同意を取得・管理するツールです。CMPは、ユーザーがどの種類のCookieやトラッキング技術に同意したかの情報を保持しています。

この同意状態は、ウェブサイト上で後続のスクリプト(特にタグ管理システムや個別のトラッキングタグ)が参照できるよう、様々な方法で伝達されます。一般的な伝達方法には以下のようなものがあります。

通常、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)の真偽値を取得できます。

これにより、GTM内でユーザーが同意したトラッキングのカテゴリを把握することが可能となります。

同意レベルに基づいたタグ発火制御の実装(GTMの場合)

GTMで取得した同意状態を使用してタグの発火を制御する最も一般的な方法は、「トリガー」に条件を追加することです。特定の同意タイプ(例えば、アナリティクス関連タグはanalyticsに同意した場合のみ発火させる)に紐づくタグのトリガーに、同意状態をチェックする条件を追加します。

具体的な設定方法にはいくつかのアプローチがありますが、代表的なものを挙げます。

1. カスタム変数とトリガー条件を使用する方法

これはData Layer変数で同意状態を取得し、その変数の値がtrueであるかをトリガーの条件として設定する方法です。

  1. データレイヤー変数の設定: 前述のように、CMPがData Layerにプッシュする同意状態に対応するデータレイヤー変数をGTM内で設定します。例えば、consent.analyticsという名前で変数を作成します。
  2. トリガー条件の設定: タグに紐づくトリガーを編集し、新しい条件を追加します。

    • 条件タイプ: ページビューイベント など、タグ本来の発火タイミングを指定します。
    • 条件: {{データレイヤー変数名}} 等しい true (例: {{consent.analytics}} 等しい true

    このように設定することで、ページビュー発生時であっても、ユーザーがアナリティクスに同意していない(consent.analyticsfalseである)場合は、このトリガーは真にならず、タグは発火しません。

2. Google Consent Modeを使用する方法

Google Consent Modeは、Google広告タグやGoogle AnalyticsタグなどのGoogleタグの動作を、ユーザーの同意ステータスに基づいて調整するためのGoogleが提供する機能です。CMPはこの同意ステータスをGoogle Consent Mode APIを通じてGoogleタグに伝達します。

Google Consent Mode v2では、以下のような同意タイプが標準化されています。

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)を適切に連携させることで、ユーザーのプライバシー設定を尊重しながら、必要なデータを収集することが可能になります。

ウェブマーケターは、法規制やユーザーの期待に応えるため、同意管理の概念を理解し、技術的な実装担当者(エンジニア)と連携して、このような同意ベースのタグ制御メカニズムを正確に設計・実装・運用していくことが求められます。本稿が、その取り組みの一助となれば幸いです。