Google Tag Manager に CMP(Cookie同意管理プラットフォーム) を導入する手順

CMP導入後にアクセス数や広告の計測値が変わったとき、実際の行動変化と設定による欠損・二重送信を区別できないと、施策の評価を誤るおそれがあります。この記事では、同意状態に応じたタグ制御と、意図どおりに計測されているかの確認手順を説明します。

CMP を入れる作業の大半は、バナーの設定ではなく、Google Tag Manager(GTM)の中で起きます。どのタグを、どの同意で、いつ動かすか。ここを決めて作り込まないと、バナーは出ているのに同意前にタグが動く、あるいは同意したのに計測されない、という状態になります。

この記事では、GTM 側の作り方を、次の順で説明します。

  1. 先に決めること(オプトインかオプトアウトか、拒否された時に Google へ送信するか)
  2. タグの棚卸しと、「同意の初期化」に置くタグ
  3. タグごとの同意設定
  4. CMP が送るイベントを使って、同意の後に page_view と各タグを動かす方法
  5. 確認の方法(gcs の読み方を含む)

先に決めること:オプトインか、オプトアウトか

同意の取り方には、2つの方式があります。

方式 内容 計測が始まる時
オプトイン 利用者が同意するまで、計測も広告のタグも動かさない 同意した時
オプトアウト 最初から動かす。利用者が拒否したら止める ページを開いた時

どちらを採るかは、GTM の作業の前に決めます。決め手は、訪問者がいる地域の法律と、会社の方針です。以下は一般的な整理です。法的な助言ではありません。自社への当てはめは、法務の担当者や弁護士に確認してください。

地域 一般的な方式 主な根拠
EU・EEA、英国 オプトイン ePrivacy 指令 第5条3項:端末に情報を保存する、または端末の情報を読み出すには、事前の同意が要る(サービスの提供に厳密に必要なものを除く)。同意の条件は GDPR が定めており、自由な意思による、明確な行為での同意が要る。EU 司法裁判所の Planet49 判決(2019年)は、あらかじめチェックが入った同意欄を無効とした。英国は PECR と英国 GDPR が同じ枠組みを採る
アメリカ オプトアウト 連邦の包括的な法律は無く、州法で決まる。カリフォルニア州の CCPA/CPRA をはじめとする各州の法律は、個人情報の「販売」「共有」やターゲティング広告を拒否する権利を利用者に与える形を採る。事前の同意は求めない。代わりに、拒否の手段(「Do Not Sell or Share My Personal Information」のリンクなど)を置く。ブラウザが送る拒否の信号(Global Privacy Control)を拒否として扱うことを義務づける州もある。機微な情報や未成年者の情報は、事前の同意が要る
日本 通知・公表、またはオプトアウト 個人情報保護法では、Cookie や端末の識別子は、単体では個人情報に当たらない。ただし、提供先で個人データと結び付けられる場合は「個人関連情報」の第三者提供として、本人の同意を確認する必要がある。電気通信事業法の外部送信規律(2023年6月施行)は、対象となる事業者に、外部へ送信する情報の内容・送信先・利用目的の通知または公表を求める。同意の取得とオプトアウトの提供は、その代わりに選べる手段であり、同意は必須ではない。自社の商品を売るだけの EC サイトや自社の紹介サイトは、この規律の対象となる電気通信事業に当たらないとされている

この表は、2026年9月時点の一般的な整理です。各地域の法律は改正が続いています。最新の内容は、一次情報で確認してください。

法令に関する注記: この表は実装方針を考えるための一般的な説明であり、個別のサイトへの適法性を保証するものではありません。対象地域、取り扱う情報、事業の内容によって要件は異なります。適用される法令・施行状況の最新情報を各当局の一次情報で確認し、実際の対応は法務担当者や専門家にご確認ください。

Google の広告と計測の機能を EEA・英国の利用者に使う場合は、法律とは別に、Google の「EU ユーザーの同意ポリシー」が同意の取得を求めています。2024年3月以降は、同意モード(v2)で同意状態を Google に渡していないと、EEA の利用者についてリマーケティングなどの機能が使えません。

会社の方針は、おおむね次の3通りに分かれます。

方針 内容 向いている会社
地域で出し分ける EU・英国はオプトイン、アメリカと日本はオプトアウト、または通知のみ 多くの会社。計測の欠損を必要な範囲に留められる
全世界でオプトイン 最も厳しい地域に合わせる グローバルで方針を統一したい会社。日本からの訪問でも、同意しなかった分は計測されない
日本向けのみで、通知と公表 プライバシーポリシーでの公表と、オプトアウトの案内 訪問者がほぼ国内に限られる会社

出し分けは、CMP が訪問者の国を判定して行います。GTM 側の作りは、どの方針でも同じです。この記事の手順で作ると、地域ごとの違いは次の2か所だけで吸収されます。

  • 同意のデフォルト設定(手順2)を、地域ごとに変える。オプトインの地域は denied、オプトアウトの地域は granted。
  • CMP が、その地域の方式に従って同意状態を更新する。

オプトアウトの地域では、ページを開いた時点で「計測してよい状態」になっているので、page_view はすぐに送られます。以下の説明は、作り込みが多いオプトインを中心に進めます。

もう1つ決めること:拒否された時に、Google へ何も送らないか

Google のタグは、同意モードを使っていると、利用者が拒否した場合でも止まりません。Cookie を読み書きしない形に切り替わり、イベントそのものは Google へ送信されます。Google はこの動作を「高度な同意モード」と呼んでいます。送られたデータは、Google 側での推計(モデリング)に使われます。

会社の方針として、拒否された時はイベント自体を送りたくない場合があります。「拒否したのに通信が出ている」という状態を避けたい場合です。この場合、Google のタグも、非 Google のタグと同じように、同意が無い間は発火させない作りにしなければなりません。Google はこちらを「基本的な同意モード」と呼んでいます。

方針 拒否された時の Google のタグ 特徴
高度な同意モード 発火する。Cookie を使わずに送信する 拒否した利用者の分も、推計の材料になる。通信は発生する
基本的な同意モード 発火させない。何も送信しない 拒否した利用者については、通信が一切発生しない。推計の材料は少なくなる

どちらにするかで、手順3の設定、手順7の止め方、手順8の確認の見方が変わります。GTM の作業の前に決めてください。

完成形

オプトインの地域で、ページを開いてから page_view が送られるまでの順序です。

順序 起きること
1 同意のデフォルト状態(すべて denied)を設定する
2 CMP を読み込む
3 保存済みの選択がなければ、バナーを表示する
4 利用者が選択する。CMP が同意状態を更新する
5 解析が許可されていれば、page_view を1回送る
6 許可されたカテゴリの広告タグなどが動く

保存済みの選択がある再訪者は、3 を飛ばして、読み込みの直後に 4〜6 が起きます。

手順1:タグを棚卸しする

トリガーに手を付ける前に、コンテナの全タグが「どのサービスのタグか」を一覧にします。後の手順は、すべてこの一覧を根拠に決めます。

判別は次の順で行います。

  1. タグの種類を見る。組み込みのタグは、これで確定します。
  2. カスタムテンプレートのタグは、テンプレートの定義を見る。テンプレートの名前とブランド名で、サービスを特定します。
  3. カスタム HTML は、必ず本文を読む。送信先のドメインと、グローバル変数の名前で判定します。

コンテナをエクスポートした JSON では、タグの種類は type に入っています。

type タグの種類 分類
googtag Google タグ Google
gaawe GA4 イベント Google
awct Google 広告のコンバージョン Google
sp Google 広告のリマーケティング Google
gclidw コンバージョン リンカー Google
html カスタム HTML 本文で判定
img カスタム画像 送信先で判定(広告が多い)
cvt_ で始まる カスタムテンプレート テンプレートの定義で判定

カスタム HTML の本文で見るドメインの例です。

分類 ドメインの例
広告 connect.facebook.net、yimg.jp、doubleclick.net、taboola.com
解析 hs-scripts.com、hotjar.com、clarity.ms

一覧には、タグ名、種類、サービス、分類に加えて、判別根拠の列を必ず作ります。「種類が GA4 イベント」「本文に connect.facebook.net」のように、何を見てそう判断したかを書きます。

タグ名やトリガー名だけで判断しないでください。実際にあった例では、「トップページ」という名前のトリガーが、全ページで発火していました。名前は、作られた当時の意図を表しているだけです。

判定できなかったタグは「不明」として残し、人が本文を読んで決めます。dataLayer の加工や DOM の操作だけを行うタグは、同意の対象外です。

手順2:「同意の初期化」で動かす2つのタグを置く

次の2つのタグを、「同意の初期化 – すべてのページ」トリガーで動かします。このトリガーは、他のどのトリガーよりも先に発火します。

タグ 役割
同意のデフォルト設定 同意モードの各項目を、初期状態にする
CMP のタグ CMP を読み込む

同意のデフォルト設定には、コミュニティ テンプレート ギャラリーの同意モード用テンプレートが使えます。オプトインの地域の設定は次のとおりです。

項目 値
Consent Command Default
ad_storage、ad_user_data、ad_personalization、analytics_storage denied
functionality_storage、personalization_storage 方針に合わせる
security_storage granted(不正防止と認証のための項目です。テンプレートの初期値のまま denied になっていることが多いので確認します)
Regions オプトインにする地域の国コード

地域で方式を出し分ける場合は、Regions を変えたデフォルト設定を、もう1つ追加します。オプトアウトの地域には、granted のデフォルトを設定します。Regions を空にした設定は、どの地域の指定にも当てはまらない訪問者に適用されます。

確認する点が2つあります。

  • CMP のタグが「初期化 – すべてのページ」に置かれていないか。「同意の初期化」と「初期化」は、名前が似ていますが別のトリガーです。「初期化」は、「同意の初期化」の後に発火します。既存のコンテナで、CMP のタグが「初期化」で動いている例がありました。
  • 2つのタグの順序。同じトリガーで動くタグの順序は保証されません。デフォルト設定のタグに、CMP のタグより大きい「タグ配信の優先度」を付けて、先に動くことを明示します。

手順3:タグごとの同意設定を決める

GTM のタグには「同意設定」があります。タグの編集画面の「詳細設定」の中です。棚卸しの分類に従って、次のように設定します。

タグの分類 拒否された時も Cookie なしで送る(高度な同意モード) 拒否された時は何も送らない(基本的な同意モード)
Google タグ、GA4 イベント 追加同意は不要 追加同意が必要:analytics_storage
Google 広告(コンバージョン、リマーケティング、コンバージョン リンカー) 追加同意は不要 追加同意が必要:ad_storage
非 Google の解析タグ 追加同意が必要:analytics_storage 同左
非 Google の広告タグ 追加同意が必要:ad_storage 同左
dataLayer の加工など 設定しない 同左

Google のタグは、同意状態に応じて自分の動作を変える仕組み(組み込みの同意チェック)を持っています。同意が無ければ、Cookie を読み書きせずに送信します。高度な同意モードでは、この仕組みに任せるので「追加同意は不要」にします。非 Google のタグにはこの仕組みがないので、GTM に止めさせます。

拒否された時にイベント自体を送りたくない場合は、Google のタグも「追加同意は不要」のままにしてはいけません。組み込みの同意チェックは、Cookie を使わない形に切り替えるだけで、送信は止めないからです。表の右の列のとおり、Google のタグにも「追加同意が必要」を設定し、非 Google のタグと同じように GTM に止めさせます。Google タグ(設定のタグ)、GA4 イベント、Google 広告の各タグの、すべてが対象です。1つでも「追加同意は不要」のまま残っていると、そのタグだけは拒否された時にも送信します。

エクスポートした JSON では、次の形になります。

"consentSettings": {
  "consentStatus": "NEEDED",
  "consentType": {
    "type": "LIST",
    "list": [{ "type": "TEMPLATE", "value": "ad_storage" }]
  }
}

「追加同意は不要」は "consentStatus": "NOT_NEEDED"、未設定は "NOT_SET" です。

「追加同意が必要」の動作には、注意が要ります。Google の公式ヘルプは、「タグがトリガーされた時点で、指定した同意タイプがすべて granted の場合にのみ配信される」と説明しています。トリガーが来た時に同意が無ければ、そのタグは配信されません。後から同意が与えられても、自動では配信されません。ページの読み込みで動くタグは、同意の後に来るイベントで発火させる必要があります(手順5、手順6)。

前提知識:GTM の「イベント」と、CMP が送るイベント

手順4から先は、GTM の「イベント」の考え方を使います。先に整理しておきます。

GTM のトリガーは、すべて「イベント」を待っています。ページの読み込みも、クリックも、GTM の内部ではイベントです。プレビュー画面の左側に並ぶ「Container Loaded」「Click」などが、それです。トリガーとは、「このイベントが、この条件で起きたら」という指定です。

イベントは、GTM が用意したものだけではありません。ページ側のスクリプトが、次のコードで自分の名前を付けたイベントを起こせます。

window.dataLayer.push({ event: 'イベントの名前' });

これを、トリガーの種類「カスタム イベント」で待ち受けます。イベントの名前は、決まった単語ではなく、起こす側が自由に付けた文字列です。

CMP は、この仕組みで GTM に合図を送ります。「CMP の準備ができた」「同意状態が変わった」といった合図を、CMP が決めた名前のイベントとして push します。GTM 側は、その名前をカスタム イベント トリガーに書いて待ち受けます。名前は CMP ごとに違うので、手順4で調べます。

手順4:自分の CMP が GTM に何を渡すかを調べる

ここから先は、CMP が GTM に何を渡すかで、作り方が分かれます。CMP の管理画面やドキュメントで、次の2点を調べます。

  1. 同意状態を同意モードに反映する機能があるか。あれば、手順3の同意設定が働きます。
  2. どんな名前のイベントを、いつ push するか。同意状態が dataLayer の変数に入る場合は、その変数の名前も調べます。

実際に push される内容は、ブラウザで確認できます。コンソールで dataLayer と入力して中身を見るか、GTM のプレビューで、左側のイベント一覧と「データレイヤー」タブを見ます。初回訪問(同意 Cookie を削除した状態)と、同意した後の再読み込みの両方で確認してください。見る点は、イベントが「CMP の準備ができた時」に来るのか、「利用者が選択した時」に来るのかです。

page_view の起点に使えるのは、利用者が同意を選択した後(保存済みの選択がある場合は、その選択が読み込まれた後)に来るイベントです。

公開されているドキュメントから、2つの製品のイベントを例に挙げます。

例1(OneTrust) 例2(webtru)
イベントの名前 OneTrustGroupsUpdated cmpWidget:thirdPartyReady
イベントが来る時 同意状態が確定・更新された時。保存済みの選択がある再訪で、読み込み時にも来るかは、自分の環境で確認する ウィジェットの初期化が完了し、サードパーティのタグを動かしても安全になった時。利用者の選択より前に来る
同意状態の渡し方 dataLayer の OnetrustActiveGroups に、許可されたカテゴリ ID がカンマ区切りで入る(例:,C0001,C0002,) 同意モードの同意状態を更新する
page_view の起点に使えるか 使える そのままでは使えない。初回訪問では、同意の選択より前に来るため

実際の発火については、ご自身のサイトでご確認ください。 CMP の設定やバージョンによって、イベントが発生するタイミングは異なる場合があります。特に OneTrustGroupsUpdated は、初回訪問・同意の選択後・保存済みの選択がある再訪・同意変更時のそれぞれで、GTM プレビューのイベントと同意状態、実際の送信を確認してください。

カテゴリ ID は、CMP の管理画面で確認します。OneTrust の標準では、C0002 がパフォーマンス(解析)、C0004 がターゲティング(広告)です。

例2のように、見つかったイベントが「準備完了」だった場合は、それとは別に、同意の変更を通知するイベントが無いかを、CMP のドキュメントとサポートで確認します。

手順5:page_view を、同意を選択した後に1回だけ送る

page_view の起点には、CMP が同意の変更後に発生させるカスタム イベントを使います。以下は、イベントと一緒に「許可されたカテゴリ」が dataLayer に渡される CMP の例です。

まず、許可されたカテゴリを読む変数を作ります。

項目 値
変数の種類 データレイヤーの変数
データレイヤーの変数名 OnetrustActiveGroups

次に、トリガーを作ります。

項目 値
トリガーの種類 カスタム イベント
イベント名 OneTrustGroupsUpdated
発生場所 一部のカスタム イベント
条件 {{OnetrustActiveGroups}} 正規表現に一致 ,C0002,

カテゴリ ID の前後のカンマまで、条件に含めます。C0002 だけだと、C00021 のような別の ID にも一致します。

GA4 の page_view を送るタグは、このトリガーだけで発火させます。「All Pages」は外します。広告用には、,C0004, を条件にしたトリガーを同じ形で作ります。

CMP が同意モードの同意状態だけを更新し、許可されたカテゴリを dataLayer に渡さない場合は、条件の代わりに、タグの同意設定(手順3)で制御します。

呼び出しオプションは「1ページにつき1度」にする

page_view を送るタグの呼び出しオプションは、「1ページにつき1度」にします。利用者が同じページで設定を変え直すと、同意変更のイベントがもう一度来て、page_view が二重に送られるためです。

動作は次のようになります。

場面 起きること
オプトインの地域の初回訪問 利用者が同意した時点でイベントが来て、page_view が1回送られる
保存済みの同意がある再訪者、オプトアウトの地域 読み込みの直後にイベントが来て、page_view が1回送られる
同じページで設定を変え直した イベントはもう一度来るが、page_view は送られない
拒否した、または選択しなかった 条件を満たさないので、page_view は送られない

SPA のサイトでは動作確認が要る

SPA(画面が切り替わっても、ページが再読み込みされないサイト)でも、同意後に page_view を送る考え方は同じです。CMP が同意の変更後に発生させるカスタム イベントを使います。

ただし、「1ページにつき1度」の「1ページ」は、ページの読み込み1回を指します。SPA では、画面が切り替わってもページは読み込み直されません。そのため、呼び出しオプションを「1ページにつき1度」にすると、page_view が最初の画面でしか送られないケースがあります。SPA のサイトでは、画面を2つ3つと進めて、画面ごとに page_view が送られるかを必ず確認してください。

page_view を送っているタグを漏らさない

page_view を送るのは、GA4 イベントのタグだけではありません。

タグ page_view を送るか 「1ページにつき1度」にするか
GA4 イベント(イベント名が page_view) 送る する
Google タグ(send_page_view が true、または未指定) 送る(初期化と同時) する
Google タグ(send_page_view が false) 送らない しない

send_page_view を指定していない Google タグは、既定で page_view を送ります。見落としやすいので、棚卸しの一覧に列を足して確認します。

Google タグと GA4 イベントのタグの両方が page_view を送る設定になっていると、二重に送られます。どちらが送るのかを決めて、もう一方を止めます。

手順6:ページビュー系のトリガーを付け替える。例外も一緒に

page_view 以外にも、ページの読み込みで動くタグがあります。広告のベースコードやヒートマップなどです。これらも、手順5で作ったトリガー(CMP の同意変更のイベントを待つトリガー)へ付け替えます。

付け替えるトリガー 付け替えないトリガー
ページビュー、DOM Ready、ウィンドウの読み込み クリック、リンクのクリック
履歴の変更 スクロール距離、要素の表示
初期化、同意の初期化、All Pages タイマー、YouTube 動画
旧 CMP のイベント その他のカスタム イベント

「特定のページだけ」のような条件を持つトリガーは、条件を引き継いだ専用のトリガーを作ります。名前は「同意変更 – 元のトリガー名」のようにして、同じ条件のものは共用します。

例外(ブロック)のトリガーも、同じイベントへ付け替えます。GTM の例外は、タグが発火するイベントと同じイベントの上で評価されて、初めて効きます。

例を挙げます。あるタグが「All Pages」で発火し、例外に「SPA の画面(ページビュー型のトリガー)」を持っているとします。発火トリガーだけを同意変更のイベントのトリガーに付け替えると、タグは同意変更のイベントで発火します。ところが、例外はページビューのイベントでしか評価されません。結果として、例外は一度も効かなくなります。エラーは出ません。

発火と例外の両方を、同じイベントのトリガーに揃えてください。

手順7:クリックなどで動くタグを止める

対象は、非 Google のタグです。拒否された時に何も送らない方針(基本的な同意モード)の場合は、クリックなどで動く Google のタグ(GA4 イベント、Google 広告のコンバージョンなど)も、同じ方法で止めます。

クリックやスクロールで動くタグは、トリガーを変えません。止め方は、CMP の同意状態の渡し方によって違います。

  • CMP が同意モードの同意状態を更新する場合。手順3の同意設定(追加同意が必要)で止まります。クリックした時点で同意が無ければ、タグは配信されません。
  • CMP が許可カテゴリを dataLayer に渡すだけの場合。例外トリガーを追加します。

例外トリガーは、次の形にします。

項目 値
トリガーの種類 カスタム イベント
イベント名 .*(「正規表現一致を使用」にチェック)
条件 {{OnetrustActiveGroups}} 正規表現に一致しない ,C0004,

イベント名を .* にして、すべてのイベントに一致させるのが要点です。理由は手順6と同じです。例外をページビュー型のトリガーで作ると、クリックやカスタム イベントで発火するタグを止められません。

手順8:確認する

公開の前に、GTM のプレビューで確認します。プレビューは、GTM の画面右上の「プレビュー」から入ります。Tag Assistant の「ドメインを追加」から入ると、公開済みのコンテナを検証することになり、未公開の変更は反映されません。

確認する項目です。

  • 同意 Cookie を削除して再読み込みし、初回訪問の状態から始める。
  • 未選択の間は、page_view も非 Google のタグも配信されていない。
  • 同意した後、同じページで page_view が1回だけ送られる。
  • 同じページで設定を変え直しても、2回目が送られない。
  • 次のページへ進み、page_view が1回だけ送られる。
  • すべて拒否した場合、非 Google のタグは「配信されなかったタグ」に入っている。
  • 例外を持つタグ(SPA の除外など)が、付け替えの後も除外されている。
  • SPA のサイトでは、画面を進めるごとに page_view が送られる。

Google のタグは gcs の値で確認する

非 Google のタグは、配信されたかどうかで判定できます。Google のタグは違います。同意モードを使っていると、同意が無くてもタグは配信され、Cookie を使わない形で送信されます。「配信された」だけでは、同意が正しく伝わったかが分かりません。

そこで、実際に送られたリクエストの gcs を見ます。gcs は、Google のタグがリクエストに付けるパラメータで、送信した時点の同意状態を表します。

見方は次のとおりです。

  1. ブラウザの開発者ツールで「ネットワーク」タブを開く。
  2. フィルタに collect と入力する。GA4 のリクエスト(google-analytics.com/g/collect)が残る。
  3. リクエストを選び、ペイロード(クエリ文字列)の gcs を見る。イベントの名前は en に入っている。en=page_view のリクエストを探す。複数のイベントがまとめて送られた場合、en はリクエストの本文側に入る。

値は G1 の後に数字が2つ続きます。1つ目が ad_storage(広告)、2つ目が analytics_storage(解析)です。1 が granted、0 が denied です。

gcs ad_storage(広告) analytics_storage(解析) 意味
G100 denied denied どちらも同意が無い。Cookie を使わずに送られている
G101 denied granted 解析だけ同意がある
G110 granted denied 広告だけ同意がある
G111 granted granted どちらも同意がある

gcs が付いていないリクエストは、同意モードが働いていない状態で送られています。GTM を通さずにページへ直接書かれた計測タグが、残っている可能性があります。

この記事の設計での、正しい値は次のとおりです。

リクエスト 正しい gcs そうでない場合
page_view G101 か G111 G100 や G110 の page_view があれば、同意の前、または解析を拒否した状態で送られている。page_view のタグに「All Pages」などのトリガーが残っていないかを確認する
クリックなどで送られる、その他の Google のイベント 利用者の選択どおりの値 全同意なのに G100 なら、CMP が同意状態を更新できていない

高度な同意モードでは、G100 のリクエストがあること自体は、不具合ではありません。拒否した利用者がボタンを押せば、そのイベントは G100 で送られます。見るべきなのは、「利用者の選択と gcs が合っているか」と、「page_view が同意の前に送られていないか」の2点です。

拒否された時に何も送らない方針(基本的な同意モード)では、見方が変わります。拒否した状態と未選択の状態で、Google へのリクエストが1件も出ていないことを確認します。G100 のリクエストが1件でもあれば、「追加同意は不要」のまま残っている Google のタグがあります。解析だけを拒否した状態なら、GA4 のリクエストが出ていないことを確認します。Tag Assistant では、そのタグが「配信されなかったタグ」に入っています。

同意モード v2 で加わった ad_user_data と ad_personalization は、gcs には入りません。別のパラメータ gcd に入りますが、書式は Google が公式には説明していません。この2つは、Tag Assistant でイベントを選び、「同意」タブで確認するのが確実です。デフォルトの値と、更新後の値が、項目ごとに表示されます。

この設計で変わる数字

page_view を同意の選択後に送る設計にすると、オプトインの地域では、導入の前後で数字の意味が変わります。導入の前に、関係者へ伝えておくことを勧めます。

  • バナーを選択しないまま離脱した訪問と、拒否した訪問は、計測されません。page_view が1件も送られないためです。ページビュー数とセッション数は、導入前より減ります。減った分は、訪問が減ったのではなく、計測の対象から外れた分です。
  • 同意した訪問は、1ページ目から計測されます。ランディングページと流入元(utm_*、リファラー、クリック ID)は、1ページ目のものが記録されます。
  • 同意前に page_view を送る設計では、ここがずれます。同意前のヒットは Cookie を持ちません(gcs=G100)。同意の後にイベントを送らなければ、Cookie を持つ最初のヒットは2ページ目になります。ランディングページは2ページ目として記録され、1ページ目にしか無い流入元の情報は、セッションに付きません。この記事の設計を採る理由は、これです。

オプトアウトの地域では、ページを開いた時点で送られるので、この変化は起きません。

チェックリスト