GTM(Googleタグマネージャー)でクロスドメイントラッキングを設定する完全ガイド【GA4対応】
「複数のドメイン間でユーザーの行動を正確に追跡したいけれど、設定方法がわからない」とお悩みではありませんか?
ECサイトと決済ページが別ドメインになっている場合や、メインサイトとサブドメインを統合計測したい場合、クロスドメイントラッキングの設定は必須です。GTM(Googleタグマネージャー)を使えば、タグを一元管理しながら効率的にクロスドメイントラッキングを実装できます。
本記事では、GA4に対応したGTMでのクロスドメイントラッキング設定方法を、初心者の方でも理解できるよう画面操作の手順から丁寧に解説します。設定後の動作確認方法やトラブルシューティングまで網羅しているため、この記事を読めば確実にクロスドメイントラッキングを実装できるようになります。
目次
GTMのクロスドメイントラッキングとは?基礎知識を理解する
クロスドメイントラッキングが必要なケース
クロスドメイントラッキングは、異なるドメイン間でのユーザー行動を1つのセッションとして追跡する仕組みです。設定を行わないと、ドメインが変わるたびに新しいセッションとして計測され、正確なユーザー行動の分析ができません。
クロスドメイントラッキングが必要となる主なケースは以下の3つです。
- 複数ドメイン間でのユーザー行動を追跡したい場合: 企業サイト(example.com)とサービスサイト(service.jp)など、複数のドメインを運営している場合、ユーザーがどのドメインからどのドメインへ移動したかを追跡できます
- ECサイトと決済ページが別ドメインの場合: 自社サイト(shop.com)から外部決済システム(payment.net)へ遷移する場合、決済完了までの導線を正確に把握するために必須です
- メインサイトとサブドメインを統合計測したい場合: コーポレートサイト(www.example.com)とブログ(blog.example.com)など、サブドメインを含めた全体のユーザー行動を分析したい場合に有効です
これらのケースで設定を行わないと、コンバージョン経路が正しく計測されず、マーケティング施策の効果測定に支障をきたします。特にECサイトでは、カート放棄率や購入完了率などの重要な指標が正確に測定できなくなるため、早急な対応が必要です。
GTMを使うメリットとGA4での変更点
GTMを使用することで、タグの設定変更をサイトのソースコードを編集せずに管理画面から行えるため、開発工数を大幅に削減できます。従来のUA(ユニバーサルアナリティクス)と比較して、GA4でのクロスドメイン設定は仕組みが大きく変更されました。
GTMを使うメリットは以下の通りです。
- タグの一元管理: 複数のドメインに設置されたタグを1つのGTMコンテナで管理できるため、設定変更時の作業効率が向上します
- バージョン管理機能: 設定変更の履歴を保存し、問題が発生した場合は以前のバージョンに戻すことができます
- プレビュー機能: 本番公開前に動作確認ができるため、設定ミスによるデータ欠損を防げます
GA4での主な変更点は、UAで使用していた「autoLink」プラグインの代わりに「allowLinker」パラメータと「linker」パラメータを使用する点です。また、GA4では管理画面で「ドメインの設定」を行う必要があり、GTM側とGA4管理画面の両方で設定を行う必要があります。UAでは参照元除外リストの設定が必要でしたが、GA4では不要になりました。
クロスドメイントラッキングの仕組み(_glパラメータ)
クロスドメイントラッキングは、_glパラメータと呼ばれる特殊なパラメータをURLに付与することで、ドメインをまたいでもセッション情報を引き継ぐ仕組みです。このパラメータには、ユーザーを識別するための暗号化された情報が含まれています。
リンカー機能の役割は以下の通りです。
- セッションIDの引き継ぎ: ユーザーが別ドメインに遷移する際、_glパラメータを通じてセッションIDを渡すことで、同一ユーザーとして認識されます
- クライアントIDの維持: GA4で使用されるクライアントIDを引き継ぐことで、ユーザーの一貫した行動追跡が可能になります
技術的な仕組みとしては、ユーザーがリンクをクリックした瞬間にGTMが動作し、遷移先のURLに自動的に_glパラメータを付与します。パラメータの例は「https://example.com/page?_gl=1abc123_ga*MTIzNDU2Nzg5」のような形式になります。遷移先のドメインでもGTMとGA4タグが正しく設定されていれば、このパラメータを読み取り、セッションを継続して計測します。
ただし、フォーム送信(POST)やJavaScriptでのページ遷移など、通常のリンククリック以外の方法では_glパラメータが自動付与されないため、別途設定が必要です。
【事前準備】GTMでクロスドメイン設定する前に確認すべきこと
GA4プロパティとデータストリームの確認
クロスドメイントラッキングを設定する前に、すべてのドメインで同一のGA4測定ID(Measurement ID)を使用していることを確認する必要があります。異なる測定IDを使用していると、ドメイン間でセッションが継続されません。
確認すべきポイントは以下の通りです。
- 同一Measurement IDの使用: GA4管理画面の「管理」→「データストリーム」から測定IDを確認し、すべてのドメインで同じIDが使用されているか確認します。測定IDは「G-XXXXXXXXXX」という形式です
- データストリームの設定状況チェック: 各ドメインが同じデータストリーム内で計測されているか確認します。別々のデータストリームを使用している場合は統合が必要です
- GTMコンテナIDの確認: GTMのコンテナIDも全ドメインで共通のものを使用することを推奨します。「GTM-XXXXXX」という形式のIDです
測定IDが異なる場合の対処法として、すべてのドメインで同じGA4プロパティの測定IDを使用するようGTM設定を変更します。既に別々の測定IDで計測している場合、過去データの統合はできないため、設定変更のタイミングを計画的に行う必要があります。データの連続性を保ちたい場合は、新旧両方の測定IDを一時的に併用する移行期間を設けることも検討しましょう。
対象ドメインとリンク構造の洗い出し
クロスドメイントラッキングを正しく設定するには、計測対象となるすべてのドメインとサブドメインを事前にリストアップする必要があります。設定漏れがあると、そのドメインでセッションが切れてしまいます。
リストアップすべき項目は以下の通りです。
- メインドメインとサブドメイン: 例えば、www.example.com、blog.example.com、shop.example.comなど、すべてのサブドメインを含めます
- 外部サービスのドメイン: 決済システム(payment.example.net)、予約システム(booking.example.jp)など、外部サービスを使用している場合は忘れずに追加します
- ドメイン間のリンク構造: どのドメインからどのドメインへユーザーが遷移するのか、導線を図式化しておくと設定漏れを防げます
確認方法として、実際にサイトを操作しながら、ドメインをまたぐリンクをすべて洗い出します。特に以下のポイントは見落としやすいため注意が必要です。
| 確認ポイント | 具体例 |
|---|---|
| ヘッダー・フッターのリンク | グローバルナビゲーションからの遷移 |
| ボタンやCTA | 「購入する」「申し込む」などのボタン |
| フォーム送信先 | お問い合わせフォームの送信先ドメイン |
| リダイレクト | HTTPSへのリダイレクトやドメイン変更時の転送 |
これらの情報を表計算ソフトなどにまとめておくと、設定時の参照資料として活用できます。
GTMコンテナの権限と公開状況の確認
GTMでクロスドメイン設定を行うには、対象となるすべてのドメインのGTMコンテナに対して編集権限が必要です。権限がない場合は、管理者に権限付与を依頼しましょう。
確認すべき項目は以下の通りです。
- 編集権限の有無: GTMにログインし、各コンテナに対して「公開」権限または「編集」権限があるか確認します
- コンテナの公開状況: 現在公開されているバージョンと、作業中のワークスペースの状態を確認します。複数人で作業している場合、他の担当者が編集中でないか確認が必要です
- バージョン履歴: 過去の設定変更履歴を確認し、以前にクロスドメイン関連の設定がないか確認します。既存設定がある場合は、それを上書きするか統合するか判断します
作業を開始する前に、現在の設定状態をバックアップする意味で、GTMのバージョンを保存しておくことを強く推奨します。「バージョン」→「新しいバージョンを作成」から、現在の状態を保存できます。バージョン名には日付と作業内容(例: 2024-12-09_クロスドメイン設定前)を記載しておくと、後から見返した際にわかりやすくなります。
【STEP1】GA4管理画面でのクロスドメイン設定手順
データストリームからドメイン設定を開く
GA4でのクロスドメイン設定は、データストリームの「ドメインの設定」から行います。この設定を行うことで、GA4側でクロスドメイントラッキングを受け入れる準備が整います。
設定手順は以下の通りです。
- GA4管理画面にログインし、左下の「管理」(歯車アイコン)をクリックします
- プロパティ列から「データストリーム」を選択します
- 対象のウェブデータストリームをクリックします(複数ある場合は、計測したいドメインが含まれるストリームを選択)
- データストリームの詳細画面が開いたら、下にスクロールして「タグ設定を行う」セクションを見つけます
- 「タグ設定を行う」をクリックすると、タグ設定のオプション一覧が表示されます
- その中から「ドメインの設定」を選択します
「ドメインの設定」メニューが見つからない場合、GA4のバージョンが古い可能性があります。その場合は、ブラウザのキャッシュをクリアしてから再度アクセスするか、GA4のヘルプセンターで最新の画面構成を確認してください。また、アカウントの権限が「閲覧者」になっている場合は設定変更ができないため、「編集者」以上の権限が必要です。
追跡対象ドメインの登録方法
「ドメインの設定」画面では、クロスドメイントラッキングの対象となるすべてのドメインを登録します。ここで登録したドメイン間でのみ、セッションが継続されます。
登録手順は以下の通りです。
- 「ドメインの設定」画面で「条件を追加」ボタンをクリックします
- 「次の条件のいずれかに一致するドメインを含める」というセクションが表示されます
- マッチタイプを選択します。主な選択肢は以下の通りです。
- 等しい: ドメインが完全一致する場合に使用(例: example.com)
- 含む: ドメインの一部が含まれる場合に使用(例: exampleと入力すると、example.comやshop.example.jpなどがマッチ)
- 先頭が一致: ドメインの先頭部分が一致する場合に使用
- 正規表現の一致: 複雑な条件を正規表現で指定する場合に使用
- ドメイン名を入力します。具体的な入力例は以下の通りです。
| 入力内容 | マッチタイプ | 対象となるドメイン |
|---|---|---|
| example.com | 等しい | example.comのみ |
| example | 含む | example.com、shop.example.jp、example.netなど |
| .example.com | 含む | www.example.com、blog.example.comなど(サブドメイン全体) |
- 複数のドメインを登録する場合は、「条件を追加」ボタンをクリックして繰り返し入力します
- すべてのドメインを入力したら、右上の「保存」ボタンをクリックします
注意点として、プロトコル(httpsなど)やパス(/pageなど)は入力せず、ドメイン部分のみを入力してください。また、サブドメインも含めて計測したい場合は、ルートドメイン(example.com)だけでなく、各サブドメイン(blog.example.com、shop.example.comなど)も個別に登録することを推奨します。
設定の保存と確認
ドメインの登録が完了したら、必ず設定内容を確認し、正しく保存されているかチェックします。保存漏れがあると、設定が反映されません。
確認手順は以下の通りです。
- 「保存」ボタンをクリックした後、「ドメインの設定」画面に戻ります
- 登録したドメインが一覧表示されているか確認します。登録したドメイン数と一致しているか、目視で確認してください
- 各ドメインのマッチタイプが正しく設定されているか確認します
- 編集が必要な場合は、各条件の右側にある編集アイコン(鉛筆マーク)をクリックして修正できます
- 削除が必要な場合は、ゴミ箱アイコンをクリックします
設定が正しく保存されているかの最終確認として、一度ブラウザをリロードしてから再度「ドメインの設定」画面を開き、入力内容が保持されているか確認することをお勧めします。設定内容をスクリーンショットで保存しておくと、後からGTM側の設定と照合する際に便利です。
GA4側の設定はこれで完了です。次のステップでは、GTM側でのタグ設定を行います。両方の設定が揃って初めてクロスドメイントラッキングが機能するため、GA4側の設定だけで終わらないよう注意してください。
【STEP2】GTMでのGA4設定タグのクロスドメイン設定
GA4設定タグ(Configurationタグ)を開く
GTMでのクロスドメイン設定は、GA4設定タグ(Configurationタグ)に対して行います。このタグがすべてのページで発火することで、ドメイン間のセッション情報が正しく引き継がれます。
タグを開く手順は以下の通りです。
- GTM管理画面にログインし、対象のコンテナを開きます
- 左メニューから「タグ」をクリックします
- タグ一覧から、GA4の設定タグを見つけてクリックします。タグ名は「GA4設定」「GA4 Configuration」「Google アナリティクス: GA4 設定」などの名前になっている場合が多いです
- タグタイプが「Google アナリティクス: GA4 設定」になっていることを確認します
既存タグの編集方法としては、上記の手順でタグを開いた後、設定内容を変更してから「保存」をクリックします。変更内容は自動的にワークスペースに保存されますが、「公開」ボタンをクリックするまでは本番環境に反映されません。
新規作成時の注意点として、まだGA4設定タグを作成していない場合は、以下の手順で作成します。
- 「新規」ボタンをクリックします
- タグの設定エリアをクリックし、「Google アナリティクス: GA4 設定」を選択します
- 測定IDフィールドに、GA4の測定ID(G-XXXXXXXXXXの形式)を入力します
- トリガーは「All Pages」(すべてのページ)を選択します
すでにイベントタグ(GA4イベント)を使用している場合でも、設定タグは別途必要です。イベントタグは個別のイベント計測用で、クロスドメイン設定は設定タグに対して行う必要があります。
allowLinkerフィールドの追加方法
クロスドメイントラッキングを有効化するには、GA4設定タグに「allowLinker」フィールドを追加し、値を「true」に設定する必要があります。この設定により、GTMが_glパラメータを付与できるようになります。
設定手順は以下の通りです。
- GA4設定タグの編集画面で、「設定フィールド」セクションを見つけます(画面中央付近にあります)
- 「フィールドを設定」の下にある「行を追加」ボタンをクリックします
- 左側の「フィールド名」欄に「allowLinker」と入力します(大文字小文字を区別するため、正確に入力してください)
- 右側の「値」欄に「true」と入力します(こちらも大文字小文字を区別します。「True」や「TRUE」ではなく、すべて小文字の「true」です)
allowLinkerをtrueに設定する理由は、デフォルトではセキュリティ上の理由からリンカー機能が無効になっているためです。この設定を行うことで、GTMは外部ドメインへのリンクに対して_glパラメータを付与する権限を得ます。
設定後の確認ポイントとして、以下を確認してください。
- フィールド名のスペルミス(「allowLinker」の「L」は大文字、他は小文字)
- 値の入力ミス(「true」はすべて小文字)
- 余計なスペースや改行が入っていないか
入力内容に誤りがあると、クロスドメイントラッキングが動作しないため、慎重に確認してください。設定は大文字小文字を区別するため、コピー&ペーストで入力することを推奨します。
クロスドメインフィールドへのドメイン入力
allowLinkerを有効化したら、次にクロスドメイントラッキングの対象となるドメインを指定します。ここで入力したドメインへのリンクに対してのみ、_glパラメータが付与されます。
設定手順は以下の通りです。
- GA4設定タグの編集画面で、「クロスドメイン トラッキング」セクションを探します(「設定フィールド」の下にあります)
- 「クロスドメイン トラッキング」セクションが折りたたまれている場合は、セクション名をクリックして展開します
- 「自動リンクドメイン」フィールドに、対象ドメインをカンマ区切りで入力します
入力例は以下の通りです。
example.com,checkout.example.com,blog.example.jp
重要な注意点は以下の通りです。
- GA4で登録したドメインと完全に一致させる: GA4の「ドメインの設定」で登録した内容と同じドメインを入力します。一方だけに登録してもクロスドメイントラッキングは機能しません
- カンマの後にスペースを入れない: ドメイン間の区切りはカンマのみで、スペースは入れません。「example.com, checkout.example.com」ではなく「example.com,checkout.example.com」が正しい形式です
- プロトコルやパスは不要: 「https://example.com」や「example.com/page」ではなく、「example.com」のみを入力します
- サブドメインも個別に記載: メインドメイン(example.com)だけでなく、サブドメイン(blog.example.com)も明示的に記載することを推奨します
入力内容の確認方法として、以下のチェックリストを使用してください。
| チェック項目 | 確認内容 |
|---|---|
| ドメイン数 | GA4で登録したドメイン数と一致しているか |
| スペルミス | 各ドメインのスペルが正しいか |
| カンマの位置 | ドメイン間のみにカンマがあり、余計なカンマがないか |
| プロトコル | https://などが含まれていないか |
すべてのドメインを入力したら、設定内容を保存します。次のステップでは、このタグをいつ発火させるかを設定するトリガーの設定を行います。
トリガー設定(全ページビュー)
GA4設定タグは、すべてのページで発火するように「All Pages」トリガーを設定する必要があります。特定のページのみで発火する設定にすると、そのページ以外でクロスドメイントラッキングが機能しません。
トリガー設定手順は以下の通りです。
- GA4設定タグの編集画面で、下部にある「トリガー」セクションを見つけます
- トリガーエリアをクリックすると、トリガー選択画面が表示されます
- 「All Pages」(すべてのページ)を選択します。このトリガーはGTMの初期設定で用意されているビルトイントリガーです
- トリガーを選択したら、画面右上の「保存」ボタンをクリックしてタグの設定を保存します
適切なトリガーの選択方法として、以下の点に注意してください。
- All Pagesが基本: クロスドメイントラッキングはサイト全体で機能させる必要があるため、All Pagesトリガーが最適です
- 複数トリガーの設定は避ける: 特別な理由がない限り、1つのトリガー(All Pages)のみを設定します。複数のトリガーを設定すると、タグが重複して発火する可能性があります
カスタムトリガーが必要なケースとしては、以下のような特殊な状況が考えられます。
- 特定のディレクトリのみで計測したい場合: URLパスに条件を追加したカスタムトリガーを作成します
- 特定のドメインでのみGA4を動作させたい場合: Page Hostname変数を使用した条件付きトリガーを作成します
- SPAサイトの場合: History Changeトリガーを追加で設定する必要があります
通常のWebサイトであれば、All Pagesトリガーのみで問題ありません。保存後は、GTMのワークスペースに変更内容が保存されます。この時点ではまだ本番環境には反映されていないため、次のステップのプレビューモードで動作確認を行った後に公開します。
【STEP3】GTMプレビューモードでの動作確認
プレビューモードの起動方法
GTMのプレビューモードを使用することで、本番公開前に設定内容が正しく動作するか確認できます。プレビューモードでは、タグの発火状況や変数の値をリアルタイムで確認できるため、設定ミスを事前に発見できます。
プレビューモード起動手順は以下の通りです。
- GTM管理画面の右上にある「プレビュー」ボタンをクリックします
- 「Tag Assistant」というポップアップウィンドウが表示されます
- 「Your website’s URL」フィールドに、テストしたいドメインのURLを入力します(例: https://example.com)
- 「Connect」ボタンをクリックします
- 新しいタブでテスト対象のサイトが開き、画面下部にデバッグパネルが表示されます
- デバッグパネルに「Connected」と表示されれば、プレビューモードが正常に起動しています
GTMワークスペースからのプレビュー開始時の注意点は以下の通りです。
- 広告ブロッカーを無効化: ブラウザの広告ブロック拡張機能がGTMの動作を妨げる場合があるため、テスト時は無効化してください
- シークレットモードは使用しない: シークレットモードではCookieが制限されるため、正確なテストができません。通常のブラウザウィンドウを使用してください
- 複数のワークスペースを同時にプレビューしない: 複数のワークスペースを同時にプレビューすると、どの設定が反映されているか分からなくなります
プレビューモードが起動しない場合のトラブルシューティングとして、以下を確認してください。
- ブラウザのCookieが有効になっているか
- GTMコンテナコードがサイトに正しく設置されているか
- ファイアウォールやセキュリティソフトがGTMの通信をブロックしていないか
プレビューモードが正常に起動したら、次のステップで_glパラメータの付与を確認します。
_glパラメータの付与確認
クロスドメイントラッキングが正しく設定されている場合、ドメイン間のリンクをクリックした際にURLに_glパラメータが自動的に付与されます。このパラメータの有無を確認することで、設定が機能しているか判断できます。
確認手順は以下の通りです。
- プレビューモードでサイトを表示した状態で、別ドメインへのリンクをクリックします(例: example.comからcheckout.example.comへのリンク)
- 遷移先のURLを確認します。URLに「?_gl=」または「&_gl=」というパラメータが含まれているか確認してください
- _glパラメータの後には、暗号化された長い文字列が続きます。例:
https://checkout.example.com/cart?_gl=1*abc123*_ga*MTIzNDU2Nzg5*_ga_XXXXXXXXXX*MTIzNDU2Nzg5
ドメイン間リンククリック時のURL確認のポイントは以下の通りです。
- リンクをクリックした直後にURLを確認: ページ読み込み後にURLが変わる場合があるため、遷移直後のURLを確認します
- ブラウザのアドレスバーで確認: デバッグコンソールではなく、ブラウザのアドレスバーに表示されているURLを確認してください
- 複数のリンクで確認: 1つのリンクだけでなく、複数の異なるリンクでも_glパラメータが付与されるか確認します
_glパラメータが表示されない場合の対処法は以下の通りです。
| 原因 | 対処法 |
|---|---|
| allowLinkerが設定されていない | GA4設定タグのallowLinkerフィールドがtrueになっているか確認 |
| ドメインリストに含まれていない | クロスドメインフィールドに遷移先ドメインが登録されているか確認 |
| タグが発火していない | GTMデバッグパネルでGA4設定タグが発火しているか確認 |
| リンクがJavaScriptで制御されている | JavaScriptでのページ遷移の場合、別途対応が必要 |
| フォーム送信(POST) | フォームの場合は_glパラメータが付与されないため、別の方法が必要 |
_glパラメータの内容を詳しく確認する必要はありませんが、パラメータが存在することを確認できればOKです。パラメータが正しく付与されていることを確認したら、次のステップでタグの発火状況を詳しく確認します。
タグの発火状況チェック
GTMのデバッグパネルを使用して、GA4タグが期待通りに発火しているか確認します。タグが正しく発火していない場合、クロスドメイントラッキングは機能しません。
確認手順は以下の通りです。
- プレビューモードのデバッグパネル(画面下部または別ウィンドウ)を確認します
- ページ読み込み時に「Container Loaded」「DOM Ready」「Window Loaded」などのイベントが表示されます
- 各イベントをクリックし、「Tags Fired」(発火したタグ)セクションを確認します
- GA4設定タグの名前が「Tags Fired」に表示されていれば、タグが正しく発火しています
GA4タグが正しく動作しているかの確認ポイントは以下の通りです。
- All Pagesイベントで発火: 「Window Loaded」または「All Pages」イベントでGA4設定タグが発火しているか確認します
- Tags Not Firedに表示されていないか: もしタグが「Tags Not Fired」(発火しなかったタグ)に表示されている場合、トリガー条件が満たされていません
- エラーメッセージの確認: タグ名の横に赤いエラーアイコンが表示されている場合、設定に問題があります
デバッグ情報の見方として、以下の情報を確認します。
- Tag Configuration: タグの設定内容が表示されます。測定IDやallowLinkerの設定値を確認できます
- Variables: タグ発火時の変数の値を確認できます。Page URL、Page Hostname、Referrerなどの値が正しいか確認します
- Data Layer: データレイヤーに送信されている情報を確認できます。GA4のイベントデータが正しく送信されているか確認します
複数ドメイン間でのテスト手順は以下の通りです。
- ドメインAでプレビューモードを起動
- ドメインBへのリンクをクリック
- ドメインBでも自動的にプレビューモードが継続されることを確認
- ドメインBでもGA4タグが発火していることを確認
- ドメインBからドメインAに戻るリンクでも同様に確認
もしドメインBでプレビューモードが継続されない場合、ドメインBにもGTMコンテナコードが正しく設置されているか確認してください。デバッグ情報で問題を発見した場合は、GTM設定に戻って修正し、再度プレビューモードで確認します。
【STEP4】GA4レポートでのセッション継続確認
リアルタイムレポートでの確認方法
GTMでの設定とプレビューモードでの確認が完了したら、GA4のリアルタイムレポートで実際にセッションが継続されているか確認します。リアルタイムレポートでは、現在サイトを訪問しているユーザーの行動をリアルタイムで確認できます。
確認手順は以下の通りです。
- GA4管理画面にログインし、左メニューから「レポート」→「リアルタイム」を選択します
- 別のブラウザまたはシークレットモードで、テスト対象のサイト(ドメインA)を開きます。プレビューモードは終了しておいてください
- リアルタイムレポートに自分のアクセスが表示されることを確認します(ユーザー数が1増える)
- テストサイトで、別ドメイン(ドメインB)へのリンクをクリックして遷移します
- リアルタイムレポートで、ユーザー数が1のまま(新規セッションとして計測されていない)であることを確認します
複数ドメイン遷移時のセッション継続チェックのポイントは以下の通りです。
- ユーザー数の変化を確認: ドメインをまたいで遷移した際、ユーザー数が1のままであればセッションが継続されています。ユーザー数が2に増えた場合、セッションが切れて新規ユーザーとして計測されています
- イベント数の確認: 「イベント数(過去30分間)」でpage_viewイベントが正しくカウントされているか確認します
- ページタイトルとスクリーンクラスの確認: リアルタイムレポートの下部に表示される「ページタイトルとスクリーンクラス」で、ドメインAとドメインB両方のページが表示されるか確認します
ユーザー識別の確認方法として、以下の手順を実行します。
- リアルタイムレポートの「ユーザー」セクションで、自分のアクセスが単一のユーザーとして表示されているか確認します
- 「デバイスカテゴリ」「市区町村」などのディメンションで、自分のアクセスが1ユーザーとしてカウントされているか確認します
- 複数ドメインを行き来しても、ユーザー数が増えないことを確認します
セッションが切れている(新規ユーザーとして計測されている)場合の確認ポイントは以下の通りです。
| 症状 | 原因の可能性 |
|---|---|
| ユーザー数が2に増える | セッションが継続されていない |
| 参照元が別ドメインになる | _glパラメータが正しく機能していない |
| page_viewが重複する | タグが複数回発火している |
リアルタイムレポートでの確認は、設定直後の簡易的なチェックに適しています。より詳細な分析を行う場合は、次のステップの探索レポートを使用します。
探索レポートでの詳細分析
クロスドメイントラッキングが正しく機能しているかを詳細に分析するには、GA4の探索レポートを使用します。探索レポートでは、ドメインをまたいだユーザーの行動パスやコンバージョン経路を詳しく確認できます。
確認手順は以下の通りです。
- GA4管理画面の左メニューから「探索」を選択します
- 「空白」テンプレートを選択して新しい探索レポートを作成します
- 「手法」で「経路データ探索」を選択します
- ディメンションに「ページパスとスクリーンクラス」と「ホスト名」を追加します
- 期間を「今日」または「昨日」に設定し、データを確認します
ドメインをまたいだコンバージョン経路の確認方法は以下の通りです。
- 探索レポートの設定で、開始地点を最初のドメインのページに設定します
- 終了地点を別ドメインのコンバージョンページ(購入完了ページなど)に設定します
- 「ホスト名」ディメンションを追加することで、どのドメインを経由しているか視覚的に確認できます
- 経路が途切れずに表示されていれば、クロスドメイントラッキングが正しく機能しています
セッションが切れている場合の判断方法は以下の通りです。
- 経路が途切れている: ドメインA→ドメインBの経路が表示されず、ドメインBが新しいセッションの開始地点として表示される場合、セッションが切れています
- 参照元が内部ドメインになっている: ドメインBへの流入が、ドメインAから(参照元)として計測されている場合、クロスドメイントラッキングが機能していません。正しく設定されていれば、ドメインBへの流入は参照元なし(直接)ではなく、セッションが継続されます
- コンバージョンの帰属が正しくない: 最初のドメインAでクリックした広告のコンバージョンが、ドメインBでの購入に正しく帰属されているか確認します
具体的な分析例として、ECサイトのケースを考えます。
- ユーザーがメインサイト(shop.com)で商品を閲覧
- カートに追加して決済ページ(checkout.net)に遷移
- 購入完了
この場合、探索レポートで以下のように表示されるべきです。
shop.com/product → shop.com/cart → checkout.net/payment → checkout.net/complete
もしこれが以下のように表示される場合、セッションが切れています。
shop.com/product → shop.com/cart
checkout.net/payment → checkout.net/complete (新規セッション)
データが十分に蓄積されるまで(最低でも数時間〜1日)待ってから確認することをお勧めします。設定直後はデータが反映されるまで時間がかかる場合があります。
テスト時の注意点(直帰を避ける)
クロスドメイントラッキングのテストを行う際は、単にリンクをクリックするだけでなく、複数ページを遷移する必要があります。1ページのみの訪問では、セッションの継続を正確に確認できません。
複数ページ遷移での検証の重要性は以下の通りです。
直帰(1ページのみ訪問してサイトを離脱)した場合、以下の問題が発生します。
- セッション時間が0秒: 1ページのみの訪問ではセッション時間が計測されないため、セッションが継続しているか判断できません
- エンゲージメントが発生しない: GA4では、10秒以上の滞在や複数ページの閲覧がないとエンゲージメントとして計測されません
- _glパラメータの効果が確認できない: パラメータは付与されていても、セッションデータが十分に記録されないため、正確な検証ができません
正確なテスト手順は以下の通りです。
- ドメインAで複数ページを閲覧: 最初のドメインで2〜3ページ閲覧し、セッションを確立します
- ドメインBに遷移: ドメイン間のリンクをクリックし、_glパラメータが付与されることを確認します
- ドメインBでも複数ページを閲覧: 遷移先のドメインでも2〜3ページ閲覧します
- ドメインAに戻る(オプション): 再度ドメインAに戻るリンクがあれば、それもクリックして往復の動作を確認します
- 十分な時間を置く: 各ページで少なくとも10秒以上滞在し、エンゲージメントを発生させます
テストケースの具体例を以下に示します。
| ステップ | 操作 | 確認ポイント |
|---|---|---|
| 1 | ドメインAのトップページを訪問 | リアルタイムレポートでユーザー数が1 |
| 2 | ドメインA内の別ページに遷移 | page_viewイベントが記録される |
| 3 | ドメインBへのリンクをクリック | URLに_glパラメータが付与される |
| 4 | ドメインBのページを閲覧 | ユーザー数が1のまま(2にならない) |
| 5 | ドメインB内の別ページに遷移 | セッションが継続している |
| 6 | GA4レポートで確認 | 単一セッション内で両ドメインのページが記録されている |
避けるべきテスト方法は以下の通りです。
- リンクをクリックしてすぐにページを閉じる: セッションデータが記録される前にページを離れると、正確な検証ができません
- ブラウザの「戻る」ボタンを多用する: 「戻る」ボタンでは_glパラメータが再度付与されないため、動作が変わる可能性があります
- 短時間に何度も同じテストを繰り返す: Cookieの有効期限内に同じテストを繰り返すと、前回のセッション情報が残っている可能性があります
テストは、実際のユーザーの行動に近い形で行うことが重要です。じっくりとページを閲覧し、自然な導線でドメイン間を移動することで、より正確な動作確認ができます。
よくあるトラブルと解決方法
_glパラメータが付与されない場合
_glパラメータが付与されない場合、クロスドメイントラッキングは機能しません。この問題は、GTM側の設定ミスが原因であることがほとんどです。
原因と対処法は以下の通りです。
allowLinker設定の再確認
最も一般的な原因は、allowLinkerフィールドが正しく設定されていないことです。以下を確認してください。
- GTMのGA4設定タグを開き、「設定フィールド」セクションを確認します
- フィールド名が「allowLinker」(大文字小文字を区別)で、値が「true」(すべて小文字)になっているか確認します
- スペルミスや余計なスペース、改行が入っていないか確認します
- フィールドが削除されていないか確認します
クロスドメインフィールドの確認
次に確認すべきは、クロスドメインフィールドの設定です。
- 「クロスドメイン トラッキング」セクションの「自動リンクドメイン」フィールドを確認します
- 遷移先のドメインが正しく登録されているか確認します
- ドメイン名にスペルミスがないか確認します
- カンマ区切りが正しいか(カンマの後にスペースがないか)確認します
- プロトコル(https://)やパス(/page)が含まれていないか確認します
GTMタグの発火タイミング問題
タグが発火していない、または発火タイミングが遅い場合も_glパラメータが付与されません。
- GTMプレビューモードでタグの発火状況を確認します
- GA4設定タグが「Tags Fired」に表示されているか確認します
- トリガーが「All Pages」に設定されているか確認します
- タグの発火順序を確認し、GA4設定タグが他のタグより先に発火しているか確認します
その他の確認ポイント
| 確認項目 | 対処法 |
|---|---|
| GTMコンテナが公開されていない | ワークスペースの変更を「公開」する |
| ブラウザのJavaScriptが無効 | JavaScriptを有効化する |
| 広告ブロッカーの影響 | テスト時は広告ブロッカーを無効化する |
| GTMコンテナコードの設置ミス | GTMコードが<head>タグ内に正しく設置されているか確認 |
| リンクがJavaScriptで制御されている | JavaScriptでのページ遷移の場合、GTMのイベントリスナーが機能しない可能性がある |
問題が解決しない場合は、GTMの設定を一度削除して最初から設定し直すことも検討してください。その際、必ず現在の設定のバックアップ(バージョン保存)を取っておきましょう。
セッションが切れてしまう場合
_glパラメータは付与されているのにセッションが切れる場合、GA4側の設定やドメイン登録に問題がある可能性が高いです。複数の原因が考えられるため、順番に確認していきます。
Measurement IDの不一致
最も重要な確認ポイントは、すべてのドメインで同一の測定IDを使用しているかです。
- GTMの各ドメインで使用されているGA4設定タグの測定IDを確認します
- 測定IDが「G-XXXXXXXXXX」の形式で、すべてのドメインで完全に一致しているか確認します
- 異なる測定IDを使用している場合、同一の測定IDに統一します
- GA4管理画面の「データストリーム」で、該当する測定IDが有効になっているか確認します
ドメイン登録漏れの確認
GA4とGTMの両方で、すべてのドメインが正しく登録されているか確認します。
- GA4側の確認:
- 「管理」→「データストリーム」→「タグ設定を行う」→「ドメインの設定」を開きます
- すべての対象ドメインが登録されているか確認します
- サブドメインを含め、漏れがないか確認します
- GTM側の確認:
- GA4設定タグの「クロスドメイン トラッキング」セクションを開きます
- 「自動リンクドメイン」フィールドに、すべてのドメインが登録されているか確認します
- GA4で登録したドメインとGTMで登録したドメインが完全に一致しているか確認します
リファラー除外設定の確認
GA4では基本的にリファラー除外設定は不要ですが、特殊なケースでは設定が影響する場合があります。
- GA4管理画面の「管理」→「データストリーム」→「タグ設定を行う」を開きます
- 「除外する参照のリスト」を確認します(通常は設定不要)
- もし設定されている場合、対象ドメインが含まれていないか確認します
その他の確認ポイント
以下の表で、その他の原因と対処法を確認してください。
| 症状 | 原因 | 対処法 |
|---|---|---|
| 一部のドメインでのみセッションが切れる | 特定ドメインの登録漏れ | そのドメインをGA4とGTMの両方に追加 |
| すべてのドメインでセッションが切れる | 測定IDの不一致またはallowLinkerの設定ミス | 測定IDとallowLinker設定を再確認 |
| 特定のブラウザでのみセッションが切れる | Cookieのブロック | Cookieを有効化、またはブラウザを変えてテスト |
| モバイルでセッションが切れる | アプリ内ブラウザの制限 | 通常のブラウザでテストする |
デバッグ方法
問題を特定するための詳細なデバッグ手順は以下の通りです。
- GTMプレビューモードで両方のドメインを確認し、GA4タグが両方で発火しているか確認します
- ブラウザの開発者ツール(F12)で、Networkタブを開き、GA4へのリクエスト(collect?のURL)を確認します
- リクエストパラメータに「tid=G-XXXXXXXXXX」が含まれ、両ドメインで同じ値になっているか確認します
- リクエストパラメータに「cid=」(クライアントID)が含まれ、ドメインをまたいでも同じ値が維持されているか確認します
これらの確認を行っても問題が解決しない場合は、GTMとGA4の設定を一度削除し、このガイドの手順に従って最初から設定し直すことをお勧めします。
フォーム送信時のクロスドメイン対応
通常のクロスドメイン設定では、リンククリックには対応できますが、フォーム送信(POST)には対応できません。フォームでのクロスドメイントラッキングを実装するには、別途設定が必要です。
リンククリック以外での制限事項
クロスドメイントラッキングの標準設定では、以下の方法でのドメイン遷移に対応できません。
- フォーム送信(POST): お問い合わせフォームや決済フォームなどでの遷移
- JavaScriptでのリダイレクト: window.location.hrefやlocation.replaceを使用したページ遷移
- metaタグでのリダイレクト: <meta http-equiv=”refresh”>を使用したリダイレクト
- サーバーサイドリダイレクト: 301/302リダイレクトなど
これらの方法では、GTMのリンカー機能が動作せず、_glパラメータが付与されません。
フォームトラッキングの別途設定方法
フォーム送信でクロスドメイントラッキングを実装する手順は以下の通りです。
方法1: フォームのactionをGET方式に変更(推奨)
可能であれば、フォームの送信方式をGETに変更することで、通常のクロスドメイン設定が機能します。
<!-- 変更前(POST) -->
<form action="https://checkout.example.com/payment" method="post">
<!-- 変更後(GET) -->
<form action="https://checkout.example.com/payment" method="get">
ただし、セキュリティ上の理由やデータ量の制限から、GET方式に変更できない場合も多くあります。
方法2: GTMでカスタムJavaScriptを実装
フォーム送信時に_glパラメータをhiddenフィールドとして追加する方法です。
- GTMで新しいカスタムHTMLタグを作成します
- 以下のようなJavaScriptコードを記述します:
<script>
(function() {
var forms = document.querySelectorAll('form[action*="checkout.example.com"]');
forms.forEach(function(form) {
form.addEventListener('submit', function() {
// _glパラメータを取得
var linkerParam = ga.getLinkerParam ? ga.getLinkerParam() : '';
if (linkerParam) {
// hiddenフィールドを作成して追加
var input = document.createElement('input');
input.type = 'hidden';
input.name = '_gl';
input.value = linkerParam.replace('_gl=', '');
form.appendChild(input);
}
});
});
})();
</script>
- トリガーは「DOM Ready」に設定します
- 遷移先のドメインでは、このhiddenフィールドの値を読み取ってCookieに設定する処理が必要です
方法3: サーバーサイドでの対応
より確実な方法として、サーバーサイドでセッション情報を引き継ぐ方法もあります。
- フォーム送信時に、サーバー側でユーザーのクライアントIDを取得します
- 遷移先のドメインにリダイレクトする際、URLパラメータとしてクライアントIDを渡します
- 遷移先のドメインで、パラメータからクライアントIDを読み取り、GA4タグに設定します
この方法は開発工数がかかりますが、最も確実にセッションを継続できます。
注意点
- フォームのクロスドメイン対応は、通常のリンククリックよりも実装が複雑です
- セキュリティ要件(HTTPS、CSRF対策など)を満たす必要があります
- 本番実装前に、十分なテストを行ってください
フォームでのクロスドメイントラッキングが必要な場合は、技術的な知識が必要になるため、開発チームと協力して実装することをお勧めします。
サブドメインでの設定注意点
サブドメイン間でのクロスドメイントラッキング設定には、ルートドメインとの関係性やCookie設定を考慮する必要があります。適切に設定しないと、サブドメイン間でもセッションが切れてしまいます。
ルートドメインとの関係性
サブドメインの扱いには注意が必要です。以下のポイントを理解しておきましょう。
- 同一ルートドメインのサブドメイン: www.example.comとblog.example.comのように、同じルートドメイン(example.com)を持つ場合、Cookieを共有できる可能性があります
- 異なるルートドメインのサブドメイン: sub.example.comとsub.example.jpのように、ルートドメインが異なる場合、完全に別のドメインとして扱う必要があります
サブドメインの設定パターンは以下の通りです。
| パターン | 設定方法 | Cookie共有 |
|---|---|---|
| 同一ルートドメインのサブドメインのみ | Cookie domainを.example.comに設定すれば、クロスドメイン設定不要の場合もある | 可能 |
| 異なるルートドメインのサブドメイン | 完全なクロスドメイン設定が必要 | 不可 |
| ルートドメインとサブドメインの混在 | すべてのドメインを明示的に登録 | 部分的に可能 |
Cookie設定の影響
GA4のCookie設定がサブドメイントラッキングに影響します。
- デフォルトのCookie設定: GA4はデフォルトで、Cookieを現在のドメインに設定します。www.example.comで設定されたCookieは、blog.example.comでは読み取れません
- Cookie domainの設定: GTMのGA4設定タグで、Cookie domainを明示的に設定することで、サブドメイン間でCookieを共有できます
Cookie domainの設定方法は以下の通りです。
- GTMのGA4設定タグを開きます
- 「設定フィールド」セクションで「行を追加」をクリックします
- フィールド名に「cookie_domain」、値に「.example.com」(ドットから始める)を入力します
- これにより、すべてのサブドメインでCookieが共有されます
推奨設定
サブドメインを含むサイトでの推奨設定は以下の通りです。
- 同一ルートドメインの場合:
- Cookie domainを「.example.com」に設定
- すべてのサブドメインをクロスドメインフィールドに明示的に登録
- GA4の「ドメインの設定」でも、「含む」条件で「.example.com」または「example」を登録
- 異なるルートドメインの場合:
- 各ドメインを個別に登録
- Cookie domainは設定しない(デフォルトのまま)
- 完全なクロスドメイン設定を実施
トラブルシューティング
サブドメインでよくある問題と対処法は以下の通りです。
- wwwあり/なしで問題が発生: www.example.comとexample.comを別ドメインとして扱い、両方を登録します
- 一部のサブドメインでのみセッションが切れる: そのサブドメインがGTMとGA4の両方に登録されているか確認します
- Cookieが共有されない: Cookie domainの設定を確認し、ドットから始まっているか確認します
サブドメインでの設定は複雑になりやすいため、設定前にドメイン構造を図式化し、どのドメイン間でセッションを継続させたいか明確にしておくことをお勧めします。
クロスドメイントラッキング設定後の運用とベストプラクティス
定期的な動作確認の重要性
クロスドメイントラッキングは一度設定すれば終わりではなく、定期的な動作確認が必要です。サイトの更新やシステム変更により、設定が意図せず無効化されることがあります。
定期確認が必要な理由は以下の通りです。
- サイトリニューアル時の影響: デザインやシステムの変更により、GTMタグが削除されたり、リンク構造が変わったりする可能性があります
- GTMの誤操作: 他の担当者がGTMを編集した際に、誤ってクロスドメイン設定を変更してしまうことがあります
- ドメインの追加: 新しいドメインやサブドメインを追加した際、クロスドメイン設定に追加し忘れることがあります
- ブラウザやGA4の仕様変更: Cookieポリシーの変更など、外部要因によって動作が影響を受けることがあります
サイト更新時のチェックポイント
サイト更新時には、以下の項目を必ず確認してください。
- GTMコンテナコードの設置確認:
- すべてのページにGTMコードが正しく設置されているか
- <head>タグ内の正しい位置に配置されているか
- コンテナIDが変更されていないか
- リンク構造の確認:
- ドメイン間のリンクが維持されているか
- 新しいページで追加されたドメイン間リンクの確認
- ボタンやCTAのリンク先が変更されていないか
- 動作テスト:
- 本番公開前にステージング環境でテスト
- プレビューモードでの_glパラメータ付与確認
- リアルタイムレポートでのセッション継続確認
ドメイン追加時の対応フロー
新しいドメインを追加する際の手順は以下の通りです。
| ステップ | 作業内容 | 担当 |
|---|---|---|
| 1 | 新ドメインへのGTMコード設置 | 開発チーム |
| 2 | GA4の「ドメインの設定」に追加 | マーケティングチーム |
| 3 | GTMのクロスドメインフィールドに追加 | マーケティングチーム |
| 4 | プレビューモードでテスト | マーケティングチーム |
| 5 | GTMの変更を公開 | マーケティングチーム |
| 6 | 本番環境で動作確認 | マーケティングチーム |
| 7 | 1週間後の動作確認 | マーケティングチーム |
定期確認のスケジュール
以下のスケジュールで定期確認を実施することをお勧めします。
- 毎月1回: リアルタイムレポートでの簡易確認
- 四半期に1回: GTM設定の見直しと動作テスト
- 年1回: 包括的なレビューと設定の最適化
確認作業をチェックリスト化し、誰でも実施できるようにドキュメント化しておくと、担当者が変わっても継続的な運用が可能になります。
GTMバージョン管理とドキュメント化
GTMの設定変更履歴を適切に管理することで、問題発生時の原因特定や設定の復元が容易になります。バージョン管理とドキュメント化は、複数人でGTMを運用する場合に特に重要です。
設定変更履歴の記録
GTMには標準でバージョン管理機能が搭載されています。効果的な活用方法は以下の通りです。
- 変更前にバージョンを作成:
- 重要な変更を行う前に、現在の状態をバージョンとして保存します
- GTM管理画面の「バージョン」→「新しいバージョンを作成」をクリック
- バージョン名には日付と変更内容を記載(例: 2024-12-09_クロスドメイン設定追加)
- 説明欄には詳細な変更内容と変更理由を記載
- 公開時のバージョン名とメモ:
- GTMを公開する際、必ずバージョン名とメモを記入します
- 「何を」「なぜ」変更したかを明記します
- 例: 「新決済システム(payment.example.net)をクロスドメイン設定に追加。2024年12月リニューアルに伴う対応」
- バージョン履歴の定期確認:
- 月に1回、バージョン履歴を確認し、不要な変更がないかチェックします
- 重要なバージョンには「説明を編集」で補足情報を追加します
チーム内での情報共有
複数人でGTMを運用する場合の情報共有方法は以下の通りです。
- 設定ドキュメントの作成:
- クロスドメイン設定の内容をドキュメント化します
- 対象ドメインのリスト、設定方法、確認手順などを記載します
- GoogleドキュメントやConfluenceなどで共有します
- 変更通知フロー:
- GTMの変更を行った際は、チームメンバーに通知します
- Slackやメールで変更内容を共有します
- 重要な変更の場合は、ミーティングで説明します
- 権限管理:
- GTMの編集権限は、必要最小限のメンバーに付与します
- 承認フローを設定し、変更前にレビューを行う体制を構築します
- GTMの「ユーザー管理」で適切な権限レベル(閲覧、編集、承認、公開)を設定します
ドキュメント化すべき項目
以下の項目をドキュメント化しておくことをお勧めします。
| ドキュメント項目 | 内容 |
|---|---|
| 対象ドメインリスト | すべての計測対象ドメインとその用途 |
| GTM設定内容 | タグ、トリガー、変数の設定詳細 |
| GA4設定内容 | 測定ID、ドメインの設定内容 |
| テスト手順 | 動作確認の具体的な手順 |
| トラブルシューティング | 過去に発生した問題と解決方法 |
| 連絡先リスト | GTM管理者、GA4管理者の連絡先 |
復元手順の確立
問題が発生した際の復元手順を事前に定めておきます。
- 問題の発生を検知したら、すぐにGTMのバージョン履歴を確認
- 直近の変更内容を確認し、問題の原因を特定
- 必要に応じて以前のバージョンに戻す(「バージョン」→対象バージョンの「公開」)
- 復元後、動作確認を実施
- 問題の原因と対処法をドキュメントに記録
適切なバージョン管理とドキュメント化により、チーム全体でGTMを効率的に運用でき、問題発生時の対応もスムーズになります。
パフォーマンスへの影響と最適化
GTMのタグ設定はサイトの読み込み速度に影響を与える可能性があります。クロスドメイントラッキングを含むGTM設定を最適化することで、ユーザー体験を損なわずに計測を行えます。
タグ読み込みの最適化
GTMタグの読み込みを最適化する方法は以下の通りです。
- 非同期読み込みの活用:
- GTMのコンテナコードは基本的に非同期で読み込まれます
- カスタムHTMLタグを使用する場合も、可能な限り非同期読み込みを実装します
- script タグに
async属性を追加します
- タグの発火タイミングの最適化:
- すべてのタグを「All Pages」で発火させる必要はありません
- ページの種類に応じて、必要なタグのみを発火させます
- 例: 商品ページでのみ商品計測タグを発火、コンバージョンページでのみコンバージョンタグを発火
- タグの統合:
- 同じ目的のタグは可能な限り統合します
- 複数のGA4イベントタグを使用している場合、1つのカスタムHTMLタグにまとめることを検討します
不要なタグの整理
GTMコンテナ内の不要なタグを定期的に整理することで、パフォーマンスを改善できます。
- 使用していないタグの確認:
- GTM管理画面で、各タグの発火状況を確認します
- 長期間発火していないタグは削除または一時停止を検討します
- 重複タグの削除:
- 同じ機能を持つタグが複数ある場合、1つに統合します
- 特に、過去のテスト用タグが残っていないか確認します
- レガシータグの更新:
- UAタグなど、使用していない古いタグは削除します
- 古いバージョンのタグテンプレートは、最新バージョンにアップデートします
パフォーマンス測定
GTM設定がサイトのパフォーマンスに与える影響を定期的に測定します。
- Google PageSpeed Insightsでの確認:
- https://pagespeed.web.dev/ でサイトのパフォーマンスを測定
- 「使用していない JavaScript の削減」セクションでGTMの影響を確認
- スコアが著しく低下している場合は、タグの最適化を検討
- GTM自体のパフォーマンス確認:
- ブラウザの開発者ツール(F12)→Networkタブで、GTMコンテナの読み込み時間を確認
- GTMコンテナの読み込みに1秒以上かかっている場合は要改善
- Core Web Vitalsの監視:
- LCP(Largest Contentful Paint)、FID(First Input Delay)、CLS(Cumulative Layout Shift)を監視
- これらの指標が悪化している場合、GTMタグが原因の可能性があります
最適化のベストプラクティス
| 項目 | 推奨設定 | 非推奨 |
|---|---|---|
| タグ数 | 10個以下を目標 | 20個以上 |
| カスタムHTML | 必要最小限 | 多用 |
| トリガー | ページタイプごとに最適化 | すべてAll Pages |
| タグの順序 | 優先度の設定 | 未設定 |
| 外部スクリプト | CDNから読み込み | 直接埋め込み |
定期的な見直しと最適化により、計測精度を保ちながらサイトのパフォーマンスを最大化できます。パフォーマンス低下が見られる場合は、GTM設定の見直しを優先的に実施してください。
まとめ:GTMでのクロスドメイントラッキング設定の重要ポイント
GTMを使用したクロスドメイントラッキングの設定は、GA4とGTMの両方で正しく設定することが成功の鍵です。本記事で解説した内容を振り返り、重要なポイントを確認しましょう。
設定の必須要件
クロスドメイントラッキングを機能させるために、以下の4点は必ず実施してください。
- GA4とGTM両方での設定が必須: GA4の「ドメインの設定」とGTMの「クロスドメイン トラッキング」の両方を設定する必要があります。片方だけでは機能しません
- 同一Measurement IDの使用: すべてのドメインで同じGA4測定ID(G-XXXXXXXXXX)を使用してください。異なる測定IDではセッションが継続されません
- allowLinkerの有効化: GTMのGA4設定タグで、allowLinkerフィールドを「true」に設定する必要があります
- ドメインリストの一致: GA4とGTMの両方で、同じドメインリストを登録してください。登録漏れがあると、そのドメインでセッションが切れます
動作確認の重要性
設定後は必ず以下の方法で動作確認を行ってください。
- プレビューモードでの入念なテスト: GTMプレビューモードで_glパラメータが付与されることを確認します
- 複数ページの遷移テスト: 1ページだけでなく、複数ページを遷移して実際のユーザー行動を模擬します
- GA4レポートでの確認: リアルタイムレポートと探索レポートで、セッションが継続していることを確認します
運用と保守
設定は一度で終わりではありません。以下の運用が重要です。
- 継続的な動作確認: 月に1回は動作確認を実施し、正しく機能しているかチェックします
- ドメイン追加時の対応: 新しいドメインを追加する際は、必ずクロスドメイン設定に追加します
- バージョン管理: GTMの変更履歴を記録し、問題発生時に迅速に対応できるようにします
- ドキュメント化: 設定内容をドキュメント化し、チーム内で共有します
よくある失敗と回避方法
以下の失敗例を避けることで、スムーズに実装できます。
- GA4側の設定を忘れる: GTMだけでなく、GA4の「ドメインの設定」も必ず行ってください
- 測定IDが異なる: すべてのドメインで同一の測定IDを使用しているか再確認してください
- スペルミス: allowLinkerやドメイン名のスペルミスに注意してください
- テスト不足: 本番公開前に十分なテストを実施してください
次のステップ
クロスドメイントラッキングの設定が完了したら、以下を実施することをお勧めします。
- 1週間ほどデータを蓄積し、GA4レポートで異常がないか確認する
- コンバージョン経路が正しく計測されているか、探索レポートで詳細分析する
- 設定内容をドキュメント化し、チームメンバーと共有する
- 定期的な動作確認のスケジュールを立てる
本記事の手順に従って設定を行えば、確実にクロスドメイントラッキングを実装できます。複数のドメインにまたがるユーザー行動を正確に把握し、マーケティング施策の効果を最大化してください。
よくある質問(FAQ)
Q1: クロスドメイントラッキングを設定しないとどうなりますか?
クロスドメイントラッキングを設定しないと、ドメインが変わるたびに新しいセッションとして計測され、ユーザーの行動を正確に追跡できなくなります。
具体的には、以下のような問題が発生します。
まず、セッション数が実際よりも多くカウントされます。例えば、1人のユーザーがメインサイト(example.com)から決済ページ(checkout.example.com)に移動した場合、本来は1セッションですが、クロスドメイン設定がないと2セッションとしてカウントされます。これにより、サイト全体の実際のセッション数や直帰率などの指標が正確でなくなります。
次に、コンバージョンの参照元が誤って計測されます。広告経由でメインサイトに訪問したユーザーが、別ドメインの決済ページで購入した場合、購入のコンバージョンが広告に正しく帰属されず、決済ドメインからの「直接流入」として計測されてしまいます。これにより、広告の効果測定が不正確になり、ROI計算にも影響します。
さらに、ユーザーの行動経路が分断されます。「どのページを見てから購入に至ったか」という重要な情報が失われ、ユーザージャーニーの分析ができなくなります。例えば、商品詳細ページ→カートページ→決済ページという一連の流れが、3つの独立したセッションとして記録されてしまいます。
これらの問題を解決するために、クロスドメイントラッキングの設定は必須です。特にECサイトや、外部決済システムを使用しているサイトでは、正確なデータ分析のために必ず実装してください。
Q2: サブドメイン間でもクロスドメイントラッキングの設定は必要ですか?
サブドメイン間でのトラッキングは、状況によって設定方法が異なります。同一ルートドメインのサブドメイン(例: www.example.comとblog.example.com)の場合と、異なるルートドメインのサブドメイン(例: sub.example.comとsub.example.jp)の場合で対応が変わります。
同一ルートドメインのサブドメインの場合、Cookieを共有する設定を行うことで、完全なクロスドメイン設定なしでもトラッキングが可能です。GTMのGA4設定タグで、「設定フィールド」にcookie_domainフィールドを追加し、値を.example.com(ドットから始める)に設定します。これにより、すべてのサブドメインでCookieが共有され、セッションが継続します。
ただし、より確実な計測のためには、Cookieドメインの設定に加えて、本記事で解説したクロスドメイン設定も実施することを推奨します。特に以下のケースでは必須です。
- サブドメインが複数あり、複雑な導線がある場合
- サブドメイン間で頻繁にユーザーが移動する場合
- より正確なデータを必要とする場合
異なるルートドメインのサブドメインの場合は、完全に別のドメインとして扱う必要があるため、本記事で解説した通常のクロスドメイン設定を実施してください。
設定方法の判断基準は以下の通りです。
| ドメイン構成 | Cookie共有設定 | クロスドメイン設定 | 推奨度 |
|---|---|---|---|
| www.example.com ⇔ blog.example.com | 必要 | 推奨 | ★★★ |
| example.com ⇔ www.example.com | 必要 | 推奨 | ★★★ |
| sub.example.com ⇔ sub.example.jp | 不要 | 必須 | ★★★ |
| example.com ⇔ example.jp | 不要 | 必須 | ★★★ |
迷った場合は、Cookie共有設定とクロスドメイン設定の両方を実施することで、確実にサブドメイン間のトラッキングが機能します。
Q3: クロスドメイン設定後、過去のデータは統合されますか?
クロスドメイン設定を行っても、設定前の過去のデータを遡って統合することはできません。GA4でのクロスドメイントラッキングは、設定を有効化した時点から機能します。
これは、GA4がリアルタイムでデータを処理する仕組みであるためです。過去に計測されたセッションは、その時点の設定に基づいて処理され、データベースに保存されています。後から設定を変更しても、既に保存されているデータを書き換えることはできません。
具体的な影響は以下の通りです。
設定前のデータ(例: 11月のデータ)
- ドメインAとドメインBは別々のセッションとして計測されている
- コンバージョンの参照元が正しくない可能性がある
- これらのデータは変更されず、そのまま残る
設定後のデータ(例: 12月のデータ)
- ドメインAとドメインBが1つのセッションとして計測される
- コンバージョンの参照元が正しく記録される
- 正確なユーザージャーニーが分析できる
このため、レポートで期間を指定する際は注意が必要です。例えば、11月と12月のデータを比較する場合、計測方法が異なるため、単純比較はできません。セッション数や直帰率などの指標が変化しますが、これは実際のユーザー行動が変わったのではなく、計測方法が変わった影響です。
対策として、以下の方法を推奨します。
- 設定日を明確に記録: クロスドメイン設定を有効化した日付を記録し、レポート分析時の参考にします
- 比較期間の調整: 前年同期比など、設定前後のデータを比較する際は、計測方法の違いを考慮します
- 新しいベースラインの設定: 設定後のデータを新しい基準値として、今後の分析を行います
設定を早めに実施することで、より多くの正確なデータを蓄積できます。可能な限り早期にクロスドメイントラッキングを設定することをお勧めします。
Q4: _glパラメータがURLに表示されることでユーザー体験に影響はありますか?
_glパラメータがURLに付与されても、ユーザー体験にほとんど影響はありません。ただし、いくつかの注意点があります。
まず、視覚的な影響について説明します。_glパラメータは暗号化された長い文字列(例: ?_gl=1*abc123*_ga*MTIzNDU2Nzg5)がURLに付与されるため、URLが長く複雑に見えます。しかし、これによってページの表示速度が遅くなることはありませんし、ページの機能にも影響しません。多くのユーザーはURLを詳しく見ないため、実際にはほとんど気づかれません。
SEOへの影響については、Googleは公式に「_glパラメータはトラッキング用のパラメータとして認識され、SEOに悪影響を与えない」と説明しています。検索エンジンはこのパラメータを自動的に無視し、パラメータの有無で別ページとして扱うことはありません。したがって、重複コンテンツの問題も発生しません。
URL共有時の注意点として、ユーザーがパラメータ付きのURLをコピーして共有した場合でも問題ありません。_glパラメータは有効期限が短く(通常2分程度)設定されているため、時間が経過すると自動的に無効になります。他のユーザーがパラメータ付きURLにアクセスしても、期限切れであれば通常のページとして表示されます。
ただし、以下のケースでは注意が必要です。
| ケース | 影響 | 対策 |
|---|---|---|
| URLを印刷物に記載 | パラメータが残る | 印刷用URLは手動で作成し、パラメータを除去 |
| QRコード生成 | パラメータが含まれる | QRコード用URLはパラメータなしで作成 |
| ソーシャルメディア共有 | OGP画像が正しく表示されない可能性 | パラメータの有無でOGPを変えない設計にする |
| 決済システムのURL検証 | 厳密なURL検証でエラーになる可能性 | 決済システム側で_glパラメータを許可する設定 |
もしどうしてもURLからパラメータを削除したい場合は、JavaScriptを使用してブラウザの履歴を書き換える方法もありますが、計測に影響する可能性があるため、基本的には推奨しません。
総じて、_glパラメータによるユーザー体験への悪影響は最小限であり、正確なトラッキングのメリットの方が大きいため、そのまま使用することを推奨します。
Q5: GTMのプレビューモードで確認できたのに、本番環境で動作しない場合はどうすれば良いですか?
プレビューモードでは動作するのに本番環境で動作しない場合、最も可能性が高い原因はGTMの変更が本番環境に公開されていないことです。その他にもいくつかの原因が考えられます。
まず最初に確認すべきことは、GTMの公開状況です。プレビューモードは「ワークスペース」での設定内容を確認するもので、これを本番環境に反映するには「公開」操作が必要です。以下の手順で確認してください。
- GTM管理画面の右上にある「公開」ボタンをクリック
- 「バージョンの説明」を入力(例: クロスドメイン設定の本番公開)
- 「公開」ボタンをクリックして、変更を本番環境に反映
公開後、設定が反映されるまで数分かかる場合があります。5〜10分待ってから再度確認してください。また、ブラウザのキャッシュをクリアしてから確認することも重要です。
次に確認すべきは、本番環境とプレビュー環境の違いです。
環境による違いの確認ポイント:
- GTMコンテナIDの違い: 本番環境とステージング環境で異なるGTMコンテナを使用している場合、ステージング環境での設定が本番環境に反映されません。両方の環境で同じ設定を行う必要があります
- キャッシュの影響: CDNやサーバーキャッシュにより、古いGTMコードが配信されている可能性があります。CDNのキャッシュをパージするか、時間を置いて再確認してください
- 広告ブロッカーやプライバシー保護機能: 本番環境での確認時に、ブラウザの広告ブロッカーやプライバシー保護機能がGTMの動作を妨げている可能性があります。一時的に無効化して確認してください
- Cookieの同意管理(CMP): 本番環境でCookie同意管理ツールを使用している場合、ユーザーが同意するまでGTMタグが発火しない設定になっている可能性があります。Cookie同意を許可してから確認してください
トラブルシューティング手順:
- GTMが公開されているか確認
- ブラウザのキャッシュをクリア(Ctrl+Shift+Delete)
- シークレットモードで確認
- ブラウザの開発者ツール(F12)でコンソールエラーを確認
- Networkタブで、GTMコンテナが正しく読み込まれているか確認
- GTMのデバッグビュー(GTM管理画面の「デバッグ」)で本番環境を接続して確認
それでも解決しない場合:
- GTMのバージョン履歴を確認し、意図しない変更が加えられていないか確認
- GA4管理画面の設定を再確認し、ドメインが正しく登録されているか確認
- すべての設定を一度削除し、このガイドの手順に従って最初から設定し直す
本番環境での動作確認は、実際のユーザー環境に近い条件で行うことが重要です。複数のブラウザ、デバイスで確認し、確実に動作することを確認してから運用を開始してください。
この記事を参考に、GTMでのクロスドメイントラッキング設定を確実に実装し、複数ドメインにまたがるユーザー行動を正確に把握してください。設定後は定期的な動作確認を忘れずに実施し、継続的に正確なデータを収集しましょう。