この記事では、Google アナリティクス 4 プロパティについて説明します。ユニバーサル アナリティクス プロパティを使用している場合は、ヘルプセンターのユニバーサル アナリティクスのセクションをご覧ください。

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

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

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

概要を説明した動画

 

Cookie とクロスドメイン測定

アナリティクスでは、個々のユニーク ユーザーとセッションの ID をウェブサイトに設定するためにファーストパーティの Cookie を使用します。

  • クロスドメイン測定を行っていない場合、ユーザーが別のドメインへ移動するたびに、新しい Cookie と新しい ID が設定されます。アナリティクスでは、それぞれ別のユーザー、別のセッションとしてカウントされます。
  • クロスドメイン測定を行っている場合は、別ドメインのサイトへ移動しても、URL パラメータの _gl キーを介して共通の ID が渡されるため(例: https://www.example.com/?_gl=1*abcde5*)、同一ユーザーとして識別可能です。

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

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

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

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

クロスドメイン測定の設定には編集権限が必要です。

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

  1. 管理ページで、クロスドメイン測定に含めるプロパティのいずれかを開きます。
  2. [プロパティ] 列で [データ ストリーム] > [ウェブ] の順にクリックします。
  3. ウェブサイトのデータ ストリームをクリックし、[追加の設定] で [タグ付けの詳細設定] をクリックします。
  4. [ドメインの設定] をクリックします。
  5. [次の条件のいずれかに一致するドメインを含める] で次を行います。
    • マッチタイプを選択します。
    • [ドメイン] で、対象に含めるドメインの識別子(example.com など)を入力します。
    • [条件を追加] をクリックして、次のドメインを追加します(クロスドメイン測定に含めるドメインをすべて追加してください)。
    各条件は OR ロジックで評価されます。
  6. [保存] をクリックします。

手動設定

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

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

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

  

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

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

 

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


gtag('config','G-XXXXXXX', {
'client_id': getClientIdFromUrl(),
'session_id': getSessionIdFromUrl()
});
  

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

  1. サイトにアクセスして、クロスドメイン測定の対象に設定したドメインをリンク先とするリンクまたはフォームが含まれるページを開きます。
  2. リンクをクリック、またはフォームを送信して、リンク先ドメインに移動します。
  3. リンク先ドメインの URL に、リンカー パラメータ _gl が含まれていることを確認します(例: https://www.example.com/?_gl=1*abcde5*)。

トラブルシューティング

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

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

URL リダイレクト

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

他のスクリプトとの競合

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

  • 遷移を発生させたのが JavaScript である(ユーザーの操作に対する直接的なレスポンスではない)
  • ページ内の競合スクリプトによってイベントの伝播が中断され、イベントがドキュメント ノードまで到達しない(例: Event.stopPropagation() が使用されている)
この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。
検索
検索をクリア
検索を終了
Google アプリ
メインメニュー
ヘルプセンターを検索
true
69256
false