[GA4] クロスドメイン測定のセットアップ

この記事では、複数のドメインをまたいで一貫した測定を行う必要がある場合(ウェブサイトとショッピング カートでドメインが異なる場合など)の設定方法を解説します。この記事は Google アナリティクス 4 プロパティに関するものです。ユニバーサル アナリティクスをご利用の場合は、こちらの記事をご覧ください。

クロスドメイン測定を使用すると、ドメインをまたいだユーザー行動を、同一ユーザーによるものとして正確に識別できます。別ドメインへのリンクがクリックされると、通常は拡張計測機能によって離脱クリック イベントとして処理されますが、リンク先ドメインがクロスドメイン測定の対象として登録されている場合はこの処理から除外されます。

概要を説明した動画

Cookie とクロスドメイン測定

同意がある場合、ファーストパーティの Cookie を使用して、ユニーク ユーザーとユニーク セッションごとに ID が設定されます。

  • クロスドメイン測定を行っていない場合、ユーザーが別のドメインへ移動するたびに、新しい Cookie と新しい ID が設定されます。これにより、同じデバイスで異なるルートドメイン(www.example.com と www.anotherexample.com など)にアクセスする 1 人のユーザーが個別に識別されます(1 人のユーザーの 1 つのセッションではなく、2 人のユーザーの 2 つのセッション)。
  • クロスドメイン測定を行っている場合、ユーザーがリンクまたはフォームを使ってドメイン間を移動する際、URL パラメータ(_gl)を介して Cookie もドメイン間で渡されるため同じ ID が保持されます。このため、1 人のユーザーの 1 つのセッションとして識別されます。
注: サブドメインでは、ルート Cookie と同じ Cookie が共有されるため、このセットアップは必要はありません(デフォルトの Cookie ドメイン設定を変更した場合を除く)。

ユニバーサル アナリティクス プロパティも運用している場合

ユニバーサル アナリティクス プロパティの場合、クロスドメイン測定はコードによって実装する必要がありました(analytics.js または gtag.js によってソースコード内で実装、または Google タグ マネージャーを使用)。Google アナリティクス 4 プロパティでは、この処理を管理ページで行います。後述の手順に沿って、ユニバーサル アナリティクスのページコードと同じようにドメインを指定しましょう。

ユニバーサル アナリティクス プロパティで、すでに Google タグ内に設定が存在する場合、Google アナリティクス 4 プロパティにもその設定が反映されます。コード内または管理ページで指定したドメインはすべて Google アナリティクス 4 プロパティに反映されますが、設定は管理ページのみで行うことをおすすめします。

管理ページでクロスドメイン測定を設定する

クロスドメイン測定を設定するには編集者のロールが必要です。条件は最大 100 件まで作成できます。

クロスドメイン測定に含める各ドメインについて、タグ(例: 各 HTML ページ内の Google タグ)の内容を確認しましょう。全対象ページのタグで、同じウェブデータ ストリームの同じタグ ID(「G-」で始まる ID)が使用されている必要があります。

  1. [管理] の [データの収集と修正] で、[データ ストリーム] をクリックします。
  2. [ウェブ]、ウェブデータ ストリームの順にクリックします。
  3. [ウェブ ストリームの詳細] で、下部にある [タグ設定を行う] をクリックします。
  4. [設定] セクションで、[ドメインの設定] をクリックします。
  5. 複数のドメインで同じ Google タグを使用している場合、それらは自動的に検出され、[最適化案] セクションに表示されます。最適化案を承認するには、[追加] をクリックします。
    ドメインを手動で追加するには、[次の条件のいずれかに一致するドメインを含める] で [条件を追加] をクリックします。
    • マッチタイプを選択します。
    • [ドメイン] で、対象に含めるドメインの識別子(example.com など)を入力します。
    • クロスドメイン測定に含める各ドメインを追加します。
    条件は OR ロジックに基づいて評価されます。
  6. [保存] をクリックします。

手動設定

クロスドメイン測定の設定は、アナリティクスの管理画面を通して行うことが推奨されますが、測定コードを通してカスタム ソリューションを実装する必要があるケースも考えられます。この場合、gtag.js API の get および set コマンドを使うことで、ドメイン間の ID 引き継ぎを手動セットアップできます。詳しくは、クロスドメイン測定の手動設定についての記事をご覧ください。

ソースドメインのクライアント ID を取得するには、get メソッドを使用します。

  
gtag('get', 'TAG_ID', 'client_id', (client_id) => {
  // クライアント ID を変数に格納。
});
gtag('get', 'TAG_ID', 'session_id', (session_id) => {
  // セッション ID を変数に格納。
});

  

次に、取得したクライアント ID とセッション ID が、別ドメインへのリンクに追加されるようにします。

<a href="https://example.com/?clientId=XXXXX&sessionId=YYYYY">example.com</a>

 

リンク先ページ側では、URL から各 ID を読み取り、config コマンドで設定します。


gtag('config','TAG_ID', {
'client_id': getClientIdFromUrl(),
'session_id': getSessionIdFromUrl()
});
  

クロスドメイン測定の動作を確認する

クロスドメイン測定は、ウェブサイトの URL にパラメータを追加することで機能します。ごくまれに、ウェブサーバーでエラー(例: 5xx エラー レスポンス コードが返される、ダウンロードが開始されない)が発生することがあります。

クロスドメイン測定の動作を確認する手順は以下のとおりです。

  1. サイトにアクセスして、クロスドメイン測定の対象に設定したドメインをリンク先とするリンクまたはフォームが含まれるページを開きます。
  2. リンクをクリック、またはフォームを送信して、リンク先ドメインに移動します。
  3. ページが正しく読み込まれることを確認します。
  4. リンク先ドメインの URL に、リンカー パラメータ _gl が含まれていることを確認します(例: https://www.example.com/?_gl=1*abcde5*)。
  5. ウェブサイトにダウンロード機能がある場合: URL にリンク設定パラメータがあるページに移動して、ダウンロードを開始します。ダウンロードが正常に開始されることを確認します。

エラーが発生した場合は、クロスドメイン測定のトラブルシューティングの手順をお試しください。

トラブルシューティング

上記の手順で、リンク先ドメインにアクセスした際の URL に _gl パラメータが追加されていなかった場合、管理画面で設定したドメインと実際のリンク先ドメインが一致しているか確認します。

ウェブサイトの設定によって、クロスドメイン測定の正常な動作が妨げられている可能性もあります。経験のあるウェブ開発者の協力を得て、以下の問題がないか調査しましょう。

URL リダイレクト

リンク先ページがリダイレクトを行っている場合、または任意形式のクエリ パラメータに対応していない場合は、元のページでアナリティクスが URL に追加した gl パラメータが削除されてしまう可能性があります(この処理は瞬時に完了するため、通常は目視での確認は困難です)。サイトでこの問題が発生しているかどうか確認するには、元のページからのネットワーク リクエストを Chrome デベロッパー ツールで調べます。問題を解決するには、リダイレクト時に _gl パラメータが維持されるよう、サイトの設定を変更します。

他のスクリプトとの競合

クロスドメイン測定は、ページのドキュメント ノードにイベント リスナーを作成することで機能します。ユーザーがリンクをクリックすると、クリック イベントがドキュメント ノードまでバブルアップし、リンク URL に _gl パラメータが追加される仕組みです。次のような場合には、この処理が正しく動作しません。

  • 遷移を発生させたのが JavaScript である(ユーザーの操作に対する直接的なレスポンスではない)
  • ページ内の競合スクリプトによってイベントの伝播が中断され、イベントがドキュメント ノードまで到達しない(例: Event.stopPropagation() が使用されている)

この情報は役に立ちましたか?

改善できる点がありましたらお聞かせください。
検索
検索をクリア
検索を終了
メインメニュー
12135170521910654552
true
ヘルプセンターを検索
true
true
true
true
true
69256
false
false