会社サイトは example.com、予約や購入は別ドメインの shop.example.net に置いている、という構えは珍しくありません。この状態でGA4のレポートを見ると、会社サイト側は「商品ページまで読んで帰った人」の記録ばかりになり、予約サイト側には「どこから来たのか分からないのに申し込む人」が並びます。同じ1人の行動なのに、記録が2つに割れているためです。割れる理由はGA4の仕組みで決まっていて、直すための設定も管理画面の中にあります。ここでは Google アナリティクス ヘルプの記載にもとづいて、なぜ割れるのか、どこで何を設定するのか、設定が効いているかをどう確かめるのか、効かないときに何を疑うのかを順に見ていきます。ヘルプに記載を見つけられなかった項目は、推測で埋めずに確認できなかったものとして残しました。
ドメインが変わると、Cookie と ID が作り直される
はじめに、GA4が「同じ人」をどう見分けているかを押さえます。ヘルプは、Google アナリティクスが _ga という名前のファーストパーティ Cookie にクライアント ID を保存し、ユニーク ユーザーとそのユーザーによるサイトでのセッションを識別すると説明しています。つまり見分けの手がかりは、ブラウザに置かれた Cookie の中の ID です。
ファーストパーティ Cookie は、置いたドメインの中でしか読めません。ここがドメインをまたぐときの壁になります。ヘルプはクロスドメイン測定の説明で、ユーザーが別のドメインへ移動するたびに、新しい Cookie と新しい ID が設定されると書いています。会社サイトで付いた ID は予約サイト側から読めないため、予約サイト側は初めて来た人として新しい ID を発行します。レポートが2つに割れて見えるのは、計測が止まっているからではなく、見分けの手がかりが引き継がれていないからです。
クロスドメイン測定を設定すると、この引き継ぎが起きます。ヘルプの説明では、Cookie が URL パラメータ(_gl)を介してドメイン間で渡されます。リンクやフォームでドメインをまたぐときに、移動先のURLへこのパラメータが足され、受け取った側が同じ値を使う、という流れです。
「同じ人」と「同じ訪問」は、別の条件で決まっている
ここで混ざりやすいのが、ユーザーの話とセッションの話です。ヘルプは、セッションが開始されると session_start イベントが自動的に収集され、このときにセッション ID とセッション番号が生成されると説明しています。終わり方については、デフォルトでは30分間操作がなければセッションは終了(タイムアウト)すると書かれています。
挙げられている終了条件は、操作のない時間です。ドメインが変わること自体は、ヘルプが挙げるセッションの終了条件には出てきません。一方で、クライアント ID が別のものに変わってしまえば、そこから先は別のユーザーの記録として始まります。設定の有無で変わるのは、まずこの「誰として記録されるか」の部分だと考えておくと、レポートの読み方を取り違えません。
数え方そのものを追いかけたいときは、指標の定義を先にそろえておくほうが早いです。クリック数とセッション数が合わない理由を整理したSearch ConsoleとGA4の使い分けの側で、測っている場所の違いを扱っています。
設定の前に、2つの前提を確認する
ドメインの設定そのものは、画面を開ければ数分で終わります。ただし前提が崩れていると、保存はできるのに何も起きません。ヘルプが明記している前提は2つです。
1つはタグです。ヘルプは、全対象ページのタグで、同じウェブデータ ストリームの同じタグ ID(「G-」で始まる ID)が使用されている必要があると記載しています。会社サイトと予約サイトを別の時期に別の会社が作っている場合、ここが一致していないことがあります。予約サイト側に別のGA4プロパティのタグが入っていた、というのはよくある形です。設定を開く前に、両方のページでタグ ID を確認してください。
もう1つは権限です。ヘルプは、Google アナリティクス アカウントの編集者以上の権限が必要だと記載しています。閲覧する権限しかないアカウントでは、画面までたどり着いても保存できません。運用を外部に任せていて自分の権限が分からない場合は、権限の確認を先に済ませたほうが、作業の途中で止まらずに済みます。
| 確認すること | ヘルプの記載 | 崩れているときに起きること |
|---|---|---|
| タグ ID | 全対象ページのタグで、同じウェブデータ ストリームの同じタグ ID(「G-」で始まる ID)が使用されている必要がある | 設定を保存しても、そのページが引き継ぎの対象にならない |
| 権限 | Google アナリティクス アカウントの編集者以上の権限が必要 | 画面は開けても保存できない |
ドメインの設定は、タグ設定の中にある
場所が分かりにくい設定です。プロパティ側の設定ではなく、ウェブデータ ストリームの中にあります。ヘルプの手順は次のとおりです。「管理」で「データ ストリーム」をクリックし、「ウェブ」と対象のウェブデータ ストリームを選びます。続いて「タグ設定を行う」をクリックし、設定の中から「ドメインの設定」を選びます。あとは最適化案を承認するか、手動でドメインを追加して「保存」をクリックします。
手動で追加するときは、マッチタイプを選んでドメイン(example.com など)を入力します。どの選択肢が並ぶかについては、このヘルプページでは一覧を確認できませんでした。実際の画面に出ている選択肢から選んでください。ヘルプが例として挙げているのはドメイン名の指定で、ドメイン名そのものを入れる形です。
自動で提示される最適化案を承認する方法も用意されています。承認するだけで済むなら手数は減りますが、提示されたドメインが本当に自社で測りたい範囲なのかは、承認する前に読んでください。計測の対象に入れるつもりのない外部サービスのドメインが混ざっていないか、という観点です。
効いているかどうかは、移動先のURLで分かる
保存した直後に見るのはレポートではありません。ヘルプが挙げている確認方法は、ブラウザでの実地の確認です。クロスドメインのリンクがあるページを開き、そのリンクをクリックし、移動先のページが正しく表示されることを確かめたうえで、移動先ドメインのURLにリンカー パラメータ _gl が含まれていることを確認します。ダウンロードのリンクがある場合は、それも試します。
URLに _gl= から始まる値が付いていれば、引き継ぎの仕掛けは動いています。付いていなければ、設定か、ページ側の作りのどちらかに原因があります。レポートの数字を待つ必要はないので、設定した本人がその場で判定できます。
イベントの側まで見たいときは DebugView を使います。ヘルプによると、個人のデバイスでデバッグモードを有効にするには、tagassistant.google.com またはプレビュー モードで Google Tag Assistant を使います。gtag.js を直接置いている場合は config コマンドに 'debug_mode':true を追加する方法、Google タグ マネージャーを使っている場合は Google タグで debug_mode を true に設定する方法が記載されています。
DebugView の画面では、Seconds ストリームに過去60秒間に記録されたイベントが表示され、Minutes ストリームには過去30分間に発生した一連のイベントのアーカイブが表示されます。注意点も書かれています。クライアントサイドでプライバシー管理を実装している場合、または同意モードを設定していてユーザーがアナリティクスの Cookie に同意していない場合、イベントはデバッグモードに表示されません。自分の環境で同意を出していない状態だと、設定が正しくても何も出てこないことになります。
参照元に自社ドメインが出るときは、見る設定が違う
ドメインの設定を入れても、レポートの参照元に自社のドメインが並ぶことがあります。これは別の設定で扱う話です。ヘルプはサブドメインについて、ユーザーがサイトの1つのサブドメインから、別の Cookie ドメインを使用する別のサブドメインに移動すると、自己参照が表示される可能性があると記載しています。
このときに使うのが「除外する参照のリスト」です。手順は、管理画面の「データの収集と修正」から「データ ストリーム」をクリックし、「ウェブ」とウェブデータ ストリームを選び、「タグ設定を行う」をクリックします。「すべて表示」で全設定を表示して「除外する参照のリスト」を開き、マッチタイプを選んで対象のドメインを入力します。複数のドメインを足すときは「条件を追加」をクリックします。条件は OR ロジックで評価されます。最後に「保存」をクリックします。
上限も書かれています。データ ストリームごとに最大50個の除外する参照を設定できます。使いどころとしてヘルプが挙げているのは、第三者の決済代行業者やメール認証のプロセスなど、自社のビジネスプロセスの一部として機能するドメインの除外です。あわせて、全ページへ適用することはトラフィック情報の喪失を招くため推奨されないとも書かれています。外部からの流入を丸ごと消してしまう設定にもなり得るので、条件は必要なドメインだけに絞ってください。なお、個別のイベントに ignore_referrer=true を設定することは通常不要だと記載されています。
2つの設定は似た場所にありますが、役割が違います。
| 見るところ | クロスドメイン測定(ドメインの設定) | 除外する参照のリスト |
|---|---|---|
| 何をするか | ドメイン間で Cookie の値を _gl で渡し、同じユーザーとして記録する |
指定したドメインからの参照を、流入元として扱わない |
| 画面の場所 | データ ストリーム → タグ設定を行う → ドメインの設定 | データ ストリーム → タグ設定を行う → すべて表示 → 除外する参照のリスト |
| ヘルプに書かれた上限 | このページでは確認できませんでした | データ ストリームごとに最大50個 |
| 使う場面 | 会社サイトと別ドメインの予約・購入サイトをまたぐとき | 自己参照が出るとき、決済代行やメール認証のドメインを外したいとき |
社内のアクセスを数字から外す設定も、同じデータ ストリームとプロパティの組み合わせで行います。こちらは目印を付ける設定とデータを外す設定に分かれていて、手順も反映の時間も違います。GA4で自社のアクセスを除外するの側で扱っています。
効かないときに疑う順番
_gl が付いていないときは、ヘルプのトラブルシューティングに挙がっている内容から当たります。1つはリダイレクトです。リダイレクトの途中で _gl パラメータが取り除かれることがあり、移動先が任意のクエリパラメータを受け付けない作りになっている場合も同じことが起きます。ヘルプは、Chrome デベロッパー ツールでネットワーク リクエストを調べ、パラメータが保持されるようにサイト側を設定する方法を挙げています。
もう1つはスクリプトの競合です。クロスドメイン測定は document のレベルに置いたイベント リスナーに依存して動きます。そのため、ユーザーの直接の操作ではなく JavaScript が遷移を起こしている場合や、他のスクリプトがイベントが document のノードへ届く前に Event.stopPropagation() を呼んでいる場合には、期待どおりに動きません。この2つは設定画面を見ていても分からないので、サイトを作った側へ確認する項目になります。
_gl の有無、次の分かれ道は参照元の表示です。 出典:Google アナリティクス ヘルプ「[GA4] クロスドメイン測定のセットアップ」、同「[GA4] 除外する参照を指定する」、同「[GA4] DebugView でイベントをモニタリングする」(確認日 2026-10-05)ヘルプに記載を見つけられなかったこと
今回確認した範囲では、次の項目は見つけられませんでした。数字が必要な場面で出てきやすいものなので、書かなかったことを残しておきます。
| 知りたい項目 | 今回の確認結果 |
|---|---|
| 追加できる条件の個数の上限 | 日本語版のヘルプページでは記載を確認できませんでした |
| マッチタイプの選択肢の一覧 | 「マッチタイプを選択します」という記述だけで、選択肢の一覧は確認できませんでした |
| 設定してからレポートへ反映されるまでの時間 | 記載を確認できませんでした |
| リンカー パラメータの有効期限 | 記載を確認できませんでした |
社外の解説記事にはこれらの数字が書かれていることがありますが、出所をたどれないものを当サイトの確認済みの値として書くことはしません。実務では、管理画面に表示されている選択肢と、設定後に自分で確かめた移動先のURLを根拠にしてください。
作業の順番
最後に、手を動かす順番だけ並べておきます。まず、両方のサイトで同じタグ ID が入っていること、自分のアカウントが編集者以上であることを確認します。次に、ウェブデータ ストリームのタグ設定から「ドメインの設定」を開き、対象のドメインを登録して保存します。保存したら、実際にリンクをクリックして移動先のURLに _gl が付くかを見ます。付いているのに参照元へ自社のドメインが並ぶ場合は、「除外する参照のリスト」の側で条件を足します。付いていない場合は、リダイレクトとスクリプトの競合を疑い、サイトを作った側へ確認します。
どこまで測れるようになったかを広告の評価に使う段では、功績の配分の仕組みも関わってきます。GA4のアトリビューション設定の側で、モデルの違いと、数字が動くレポートの範囲を扱っています。
この分野の実務を相談したい方へ
記事で扱っている内容は、当社が実務として支援している領域です。 自社で進めるか外部に任せるかの判断からご相談いただけます。