この記事は、同じ 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 の位置をフラグメントに設定します。それ以外の場合は、このオプションをデフォルトのクエリ パラメータ オプションに設定したままにします。