ドメインをまたいでユーザーをトラッキングする

Google アナリティクスのクロスドメイン トラッキング機能を使用すると、2 つの関連サイト(e コマースサイトと、別のショッピング カート サイトなど)でのセッションが 1 回のセッションとしてアナリティクス レポートに記録されます。「サイト間のリンク」とも呼ばれるこの手法を活用することで、顧客の購入経路の全貌をより効果的にトラッキングできます。

Google アナリティクスは、一意のクライアント ID を生成することで、ユーザーが新規ユーザーかリピーターかを判断します。クライアント ID が一致するヒットがすでに同じプロパティに送信されていれば、ユーザーはリピーターとして認識されます。

クロスドメイン トラッキングは、ソースドメインとリンク先ドメインの間でクライアント ID を共有することによって機能します。クライアント ID はブラウザの Cookie に保存されるため、同じドメインのページからのみアクセスできます。所有する複数のドメインを 1 つのプロパティとして設定するには、トラッキングしたいすべてのドメインでクライアント ID を共有する必要があります。

ドメイン間でのクライアント ID の共有には、次の 2 つの手順があります。

  1. ソースドメインで、リンク先ドメインを参照するすべての URL にソースドメインのクライアント ID が含まれるよう設定する。
  2. リンク先ドメインで、ユーザーが URL に移動したときに、その URL にクライアント ID が含まれていることを確認できるよう設定する。

gtag.js を使用したクロスドメイン トラッキングでは、この手順を、リンク先ドメインを参照する URL にリンカー パラメータを追加することで行っています。リンカー パラメータには、クライアント ID だけでなく、現在のタイムスタンプとその ID にエンコードされたブラウザのメタデータも含まれます(タイムスタンプとメタデータを使用するのは、URL 共有時に問題が発生しないようにするためです)。

次のリンカー パラメータの例をご覧ください。

_ga=1.199239214.1624002396.1440697407

リンク先ドメインで、linker パラメータの domains プロパティに値を設定すると、gtag.js によって URL のリンカー パラメータがチェックされます。有効なリンカー パラメータが見つかると、そのパラメータからクライアント ID が抽出され、保存されます。

gtag.js を使用したクロスドメイン トラッキングを有効にすると、ページ上のリンクやフォームの URL にリンカー パラメータを自動または手動で追加できます。

ソースドメインで、リンク先ドメインを参照する URL に対して自動クロスドメイン トラッキングを設定するには、プロパティの config で linker パラメータの domains プロパティを設定します。

設定して実行すると、gtag.js はリンク先ドメインを参照するリンクが選択されるのを待ち、ページへの移動が始まる直前にこれらのリンクにリンカー パラメータを自動的に追加します(リンカー パラメータは 2 分で期限切れになるため、ユーザーがリンクをクリックするのを待ってリンカー パラメータを追加する必要があります)。

サイト上にリンク先ドメインを参照するフォームがある場合は、linker パラメータの任意の decorate_forms プロパティを true に設定します。

たとえば、このコードでは、リンク先ドメインである 'example.com' を参照するページのすべてのリンクにリンカー パラメータが追加されます。

gtag('config', 'GA_TRACKING_ID', {
  'linker': {
    'domains': ['example.com']
  }
});

リンカー パラメータを受け入れるサイトの設定

URL にリンカー パラメータが追加されているリンク先ドメインのページにユーザーがアクセスしたとき、このパラメータを探すように gtag.js に指示する必要があります。

リンク先ドメインがドメインを自動的にリンクするように設定されている場合は、リンカー パラメータはデフォルトで受け入れられます。

リンク先ドメインがドメインを自動的にリンクするように設定されていない場合は、リンク先プロパティの config で linker パラメータの accept_incoming プロパティを true に設定することで、リンカー パラメータを検索するよう指示できます。

gtag('config', 'GA_TRACKING_ID', {
  'linker': {
    'accept_incoming': true
  }
});

双方向のクロスドメイン トラッキング

「一方向クロスドメイン トラッキング」とは、あるドメインから別のドメインへのユーザーフローのみをトラッキングすることです。たとえば、ユーザーが example-source.com から example-destination.com に移動する場合などです。前述の手順は、このタイプのユーザーフローを前提としています。

ユーザーがどちらのドメインに最初にアクセスするかわからない場合は、どちらのドメインもソースまたはリンク先として機能するように構成された「双方向のクロスドメイン トラッキング」を実装する必要があります。双方向のクロスドメイン トラッキングを実装するには、両方のドメインで自動リンクを有効にし、リンカー パラメータを受け入れてドメインを自動的にリンクするように設定します。

source.com でプロパティの config を更新します。

gtag('config', 'GA_TRACKING_ID', {
  'linker': {
    'domains': ['example-destination.com']
  }
});

destination.com でプロパティの config を更新します。

gtag('config', 'GA_TRACKING_ID', {
  'linker': {
    'domains': ['example-source.com']
  }
});

1 つのスニペットをすべてのドメインに使用する

双方向のクロスドメイン トラッキングをさらに簡素化するには、追跡の対象となる可能性のあるすべてのドメインを、各ドメインのプロパティの config の linker パラメータの domains プロパティにリストします。これにより、すべてのドメインで同じコードのスニペットを使用できます。

example-1.com でプロパティの config を更新します。

gtag('config', 'GA_TRACKING_ID_1', {
  'linker': {
    'domains': ['example-1.com', 'example-2.com']
  }
});

example-2.com でプロパティの config を更新します。

gtag('config', 'GA_TRACKING_ID_2', {
  'linker': {
    'domains': ['example-1.com', 'example-2.com']
  }
});