クロスドメイン測定を使用すると、ドメインをまたいだユーザー行動を、同一ユーザーによるものとして正確に識別できます。別ドメインへのリンクがクリックされると、通常は拡張計測機能によって離脱クリック イベントとして処理されますが、リンク先ドメインがクロスドメイン測定の対象として登録されている場合はこの処理から除外されます。
概要を説明した動画
Cookie とクロスドメイン測定
同意がある場合、ファーストパーティの Cookie を使用して、ユニーク ユーザーとユニーク セッションごとに ID が設定されます。
- クロスドメイン測定を行っていない場合、ユーザーが別のドメインへ移動するたびに、新しい Cookie と新しい ID が設定されます。これにより、同じデバイスで異なるルートドメイン(www.example.com と www.anotherexample.com など)にアクセスする 1 人のユーザーが個別に識別されます(1 人のユーザーの 1 つのセッションではなく、2 人のユーザーの 2 つのセッション)。
- クロスドメイン測定を行っている場合、ユーザーがリンクまたはフォームを使ってドメイン間を移動する際、URL パラメータ(
_gl
)を介して Cookie もドメイン間で渡されるため同じ ID が保持されます。このため、1 人のユーザーの 1 つのセッションとして識別されます。
自己参照を防ぐ方法:
- サイトのすべてのページにアナリティクス測定コードがタグ付けされていることを確認する
- すべてのページでクロスドメイン測定が正しく設定されていることを確認する
- 測定コードで Cookie ドメインの設定を確認し、ドメイン内のすべてのサブドメインで同じ Cookie ドメインが使用されていることを確認する
- 除外リストにサブドメインを追加する
管理ページでクロスドメイン測定を設定する
クロスドメイン測定に含める各ドメインについて、タグ(例: 各 HTML ページ内の Google タグ)の内容を確認しましょう。全対象ページのタグで、同じウェブデータ ストリームの同じタグ ID(「G-」で始まる ID)が使用されている必要があります。
- [管理] の [データの収集と修正] で、[データ ストリーム] をクリックします。
- [ウェブ]、ウェブデータ ストリームの順にクリックします。
- [ウェブ ストリームの詳細] で、下部にある [タグ設定を行う] をクリックします。
- [設定] セクションで、[ドメインの設定] をクリックします。
- 複数のドメインで同じ Google タグを使用している場合、それらは自動的に検出され、[最適化案] セクションに表示されます。最適化案を承認するには、[追加] をクリックします。
ドメインを手動で追加するには、[次の条件のいずれかに一致するドメインを含める] で [条件を追加] をクリックします。- マッチタイプを選択します。
- [ドメイン] で、対象に含めるドメインの識別子(example.com など)を入力します。
- クロスドメイン測定に含める各ドメインを追加します。
- [保存] をクリックします。
手動設定
クロスドメイン測定の設定は、アナリティクスのインターフェースを通して行うことが推奨されますが、測定コードを通してカスタム ソリューションを実装する必要があるケースも考えられます。この場合、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 エラー レスポンス コードが返される、ダウンロードが開始されない)が発生することがあります。
クロスドメイン測定の動作を確認する手順は以下のとおりです。
- サイトにアクセスして、クロスドメイン測定の対象に設定したドメインをリンク先とするリンクまたはフォームが含まれるページを開きます。
- リンクをクリック、またはフォームを送信して、リンク先ドメインに移動します。
- ページが正しく読み込まれることを確認します。
- リンク先ドメインの URL に、リンカー パラメータ
_gl
が含まれていることを確認します(例:https://www.example.com/?_gl=1*abcde5*
)。 - ウェブサイトにダウンロード機能がある場合: URL にリンク設定パラメータがあるページに移動して、ダウンロードを開始します。ダウンロードが正常に開始されることを確認します。
エラーが発生した場合は、クロスドメイン測定のトラブルシューティングの手順をお試しください。
トラブルシューティング
上記の手順で、リンク先ドメインにアクセスした際の URL に _gl
パラメータが追加されていなかった場合、管理画面で設定したドメインと実際のリンク先ドメインが一致しているか確認します。
ウェブサイトの設定によって、クロスドメイン測定の正常な動作が妨げられている可能性もあります。経験のあるウェブ開発者の協力を得て、以下の問題がないか調査しましょう。
URL リダイレクト
リンク先ページがリダイレクトを行っている場合、または任意形式のクエリ パラメータに対応していない場合は、元のページでアナリティクスが URL に追加した gl
パラメータが削除されてしまう可能性があります(この処理は瞬時に完了するため、通常は目視での確認は困難です)。サイトでこの問題が発生しているかどうか確認するには、元のページからのネットワーク リクエストを Chrome デベロッパー ツールで調べます。問題を解決するには、リダイレクト時に _gl
パラメータが維持されるよう、サイトの設定を変更します。
他のスクリプトとの競合
クロスドメイン測定は、ページのドキュメント ノードにイベント リスナーを作成することで機能します。ユーザーがリンクをクリックすると、クリック イベントがドキュメント ノードまでバブルアップし、リンク URL に _gl
パラメータが追加される仕組みです。次のような場合には、この処理が正しく動作しません。
- 遷移を発生させたのが JavaScript である(ユーザーの操作に対する直接的なレスポンスではない)
- ページ内の競合スクリプトによってイベントの伝播が中断され、イベントがドキュメント ノードまで到達しない(例:
Event.stopPropagation()
が使用されている)