この記事は、同じ Google タグで複数のドメインを測定する必要があるデベロッパーを対象としています。この記事では、gtag.js コードの実装に焦点を当てて説明します。GA4 プロパティの Google タグ設定で追加のドメインを設定することもできます。
クロスドメイン測定を利用すると、別々のドメイン上にある複数の関連サイトをまとめて測定できます。Google タグには、カスタマー ジャーニーが複数のドメインにまたがっている場合に、サポートされているサービスでアクティビティを測定するための一般的な方法が用意されています。クロスドメイン測定は、Google アナリティクス、Google 広告コンバージョン測定、Floodlight コンバージョンなど、Google のすべてのサービスで機能します。
クロスドメイン測定を実装するケース
複数のドメインのデータを組み合わせる必要がある場合は、クロスドメイン測定を実装します。
たとえば、example-petstore.com
にウェブサイトがあり、そのウェブサイトの e コマース コンポーネントが別のドメインの第三者ショッピング カート(example-commerce-host.com/example-petstore
)でホストされているとします。
クロスドメイン測定を使用していない場合、オンライン ストアを訪れた後に第三者ショッピング カートに移動したユーザーは、異なる長さの 2 つのセッションを開始した 2 人のユーザーとしてカウントされます。クロスドメイン測定を使用している場合、アクティビティは 1 人のユーザーによるものとして捕捉されます。
仕組み
ドメイン リンカーは、ソースドメインとリンク先ドメインの間で測定用のファーストパーティ Cookie を共有します。測定用のファーストパーティ Cookie はウェブブラウザに格納されているため、同じドメインのページからのみアクセスできます。
ドメイン間での測定は、次の 2 ステップのプロセスで設定します。
- ソースドメインでは、リンク先ドメインを指す URL が修飾され、ソースドメインの測定用のファーストパーティ Cookie 値が含まれるようになります。
- リンク先ドメインでは、リンクされた測定用の Cookie の有無がチェックされます。
Google タグを使用したクロスドメイン測定では、リンク先ドメインを指す URL にリンカー パラメータが追加されます。リンカー パラメータは、キー _gl
を持つ URL クエリ パラメータで識別されます。
https://www.example.com/?_gl=1~abcde5~
リンク先ドメインでは、タグが URL のリンカー パラメータをチェックするように設定されます。有効なリンカー パラメータが見つかると、タグがファーストパーティの測定 Cookie を抽出して保存します。
クロスドメイン リンクを設定する
リンク先ドメインを参照する URL に対して、ソースドメインでクロスドメイン測定を設定するには、linker
オブジェクトを作成する必要があります。リンカーはリンク先ドメインを参照するリンクのクリックをリッスンし、これらのリンクの URL にリンカー パラメータを自動的に追加します。
linker
オブジェクトには、1 つ以上のドメインの配列である domains
パラメータが必要です。このコードでは、リンク先ドメインである「example.com」を参照する、ページ上のすべてのリンクにリンカー パラメータが追加されます。
gtag.js
Google タグのクロスドメイン測定を設定するには、次のように linker
コマンドをタグに追加します。example.com
は実際のドメインに置き換えます。
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('set', 'linker', {'domains': ['example.com']});
gtag('js', new Date());
gtag('config', 'TAG_ID');
</script>
domains
プロパティに複数の文字列値を列挙することができます。domains
プロパティに 1 つ以上の値があれば、gtag.js はデフォルトで受信ドメインリンクを受け入れます。domains
プロパティに複数の値を追加して、すべてのドメインで同じコード スニペットを使用できます。
Google アナリティクス 4 では、関連する config
コマンドの前に linker
コマンドが設定されている限り、gtag('set', 'linker', ...)
構成が適用されますが、Google アナリティクス 4 の管理ページでクロスドメイン測定を設定することをおすすめします。クロスドメイン測定の設定方法の詳細
gtag('set', 'linker', {
'domains': ['example.com', 'example-b.com']
});
タグ マネージャー
Google 広告タグと Floodlight タグの場合
タグ マネージャーで、コンバージョン リンカー タグを作成し、ドメインを自動的にリンクするよう設定します。
- [タグ] > [新規] をクリックします。
- [タグの設定] をクリックし、タグタイプとして [コンバージョン リンカー] を選択します。
- トリガーを選択しますほとんどの場合、クロスドメイン測定ではすべてのページビューで配信されるトリガー、または広告クリック後にサイト訪問者がアクセスする特定のコンバージョン ページに対して配信されるトリガーを使用する必要があります。
- [ドメイン間でのリンクの有効化] を選択します。この設定により、このタグは、リンカー パラメータを持つ受信リンクを処理できるようになります。
- [自動リンクドメイン] で、このタグにリンクするドメインのリストを入力します。このフィールドで指定したドメインを指すリンクの場合、URL にリンカー パラメータが付加されます。
- タグ設定を保存して公開します。
Google アナリティクス 4 タグの場合
Google アナリティクス 4 では、Google アナリティクスの管理画面からクロスドメイン測定を設定できます。Google アナリティクス 4 でクロスドメイン測定を設定する方法をご確認ください。
以前のユニバーサル アナリティクス タグの場合
タグ マネージャーで、複数のドメインをまたぐユーザーの操作を測定するよう以前のユニバーサル アナリティクス タグを設定する方法は次のとおりです。
- タグ マネージャーで、Google アナリティクス設定変数またはユニバーサル アナリティクス タグを開いて編集します。
- Google アナリティクス設定変数を開くには、[変数] をクリックし、リストから該当する変数をクリックします。
- ユニバーサル アナリティクス タグを見つけるには、[タグ] をクリックし、リストから適切なタグを選択します。
- [詳細設定] > [クロスドメイン トラッキング] に移動します。
- [自動リンクドメイン] フィールドに、ドメインのリストをコンマ区切りで入力します。
- 他のドメインからのリンクを受け取るには、[その他の設定] > [設定するフィールド] に移動し、allowLinker というフィールド名かつ true という値のフィールドを追加します。
- 変更を保存してコンテナを公開します。
リンカー パラメータ リファレンス
パラメータ | タイプ | 指定可能な値 |
---|---|---|
accept_incoming |
ブール値 | true (domains に値がある場合のデフォルト)、false |
decorate_forms |
ブール値 | true 、false (デフォルト) |
domains |
配列 | 1 つ以上のドメインの配列(例: ['example1.com', 'example2.com'] ) |
url_position |
文字列 | 'query' (デフォルト)、'fragment' |
accept_incoming
URL にリンカー パラメータが追加されているリンク先ドメインのページにユーザーがアクセスしたとき、そのパラメータを解析するようにタグを設定する必要があります。
リンク先ドメインがドメインを自動的にリンクするように設定されている場合は、リンカー パラメータはデフォルトで受け入れられます。リンク先ドメインでは、追加のコードは必要ありません。
リンク先ドメインがドメインを自動的にリンクするように設定されていない場合は、リンク先ページがリンカー パラメータを検索するよう指示できます。accept_incoming
プロパティを true
に設定します。
gtag.js
gtag('set', 'linker', {
'accept_incoming': true
});
タグ マネージャー
Google 広告と Floodlight のコンバージョンのコンバージョン リンカータグ
[リンカー パラメータを受け入れる] チェックボックスをオンにします。
ユニバーサル アナリティクス タグ
[詳細設定] > [クロスドメイン トラッキング] の Google アナリティクス設定変数またはユニバーサル アナリティクス タグにある [自動リンクドメイン] フィールドに値を追加すると、accept_incoming
が自動的に設定されます。
decorate_forms
複数のドメイン間で送信されるフォームデータを測定するには、decorate_forms
プロパティを true
に設定します。
gtag.js
gtag('set', 'linker', {
'domains': ['example.com'],
'decorate_forms': true
});
タグ マネージャー
Google 広告と Floodlight のコンバージョンのコンバージョン リンカータグ
[フォームをデコレート] を true に設定します。
Google アナリティクス 4 タグとユニバーサル アナリティクス タグ
Google アナリティクス タグの decorate_forms
は、タグ マネージャーで管理できません。代わりに、gtag.js に関するガイドをご覧ください。
domains
リンクする 1 つ以上のドメインの配列。
gtag.js
gtag('set', 'linker', {
'domains': [
'example1.com',
'example2.com',
'subdomain1.example3.com',
'subdomain2.example3.com'
]
});
タグ マネージャー
Google 広告と Floodlight のコンバージョンのコンバージョン リンカータグ
- [ドメイン間でのリンクの有効化] を選択します。
- [自動リンクドメイン] フィールドに、ドメインのリストをコンマ区切りで入力します。
Google アナリティクス 4
Google アナリティクスの管理ページでクロスドメイン測定を設定します。
ユニバーサル アナリティクス タグ
[詳細設定] > [クロスドメイン トラッキング] の Google アナリティクス設定変数またはユニバーサル アナリティクス タグにある [自動リンクドメイン] フィールドに値を追加すると、accept_incoming
が自動的に設定されます。
url_position
コンテンツ アプリケーションによっては、クエリ パラメータを示すために、より一般的に使用されている疑問符(?
)ではなくフラグメントまたはハッシュ文字(#
)を URL 文字列の区切り文字として使用する必要があります。リンカー パラメータが、URL で #
文字の後に表示されるように設定するには(https://example.com#_gl=1~abcde5~
など)、url_position
を fragment
に設定します。
gtag.js
gtag('set', 'linker', {
'domains': ['example.com'],
'decorate_forms': true,
'url_position': 'fragment'
});
タグ マネージャー
Google 広告と Floodlight のコンバージョンのコンバージョン リンカータグ
標準クエリ(?
)ではなくフラグメント(#
)から固有のパラメータを読み取るようにタグ マネージャーに指示する必要がある場合は、URL の位置をフラグメントに設定します。それ以外の場合は、このオプションをデフォルトのクエリ パラメータ オプションに設定したままにします。