リンカー

リンカー プラグインを使用すると、クロスドメイン トラッキングを簡単に実装できます。実装方法については、analytics.js 向けクロスドメイン トラッキング ガイドをご覧ください。

概要

クロスドメイン トラッキングを実行するには、ソースドメインとリンク先ドメインの間でクライアント ID を共有します。各ソースでのクライアント ID の共有は、2 つのステップで完了します。

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

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

リンカー パラメータは、次のように表示されます。

_ga=1.199239214.1624002396.1440697407

リンク先ドメインには allowLinker フィールドがあり、true を入力すると、URL 内のリンカー パラメータを確認するよう analytics.js に指示が出されます。リンカー パラメータが見つかり、それが有効であることが確認されると、パラメータからクライアント ID を抽出し、格納します。

リンカー プラグインを使用すると、ページ上のリンクやフォームの URL に、リンカー パラメータを自動または手動のいずれでも追加できます。通常は、自動追加を推奨します。

リンカー パラメータの自動追加

リンク先ドメインを参照する URL にリンクできるように、ソースドメインでクロスドメイン自動リンクを設定するには、リンカー プラグインを要求してautoLink メソッドを呼び出す必要があります。

autoLink メソッドは、コマンドキューを使用して呼び出すことができます。

autoLink メソッドが実行されると、analytics.js がリンク先ドメインを参照するリンクのクリックをリッスンし、ページ移動する直前に、これらのリンクにリンカー パラメータを追加します。リンカー パラメータは 2 分で期限切れになるため、ユーザーがリンクをクリックするのを待ってからリンカー パラメータを追加する必要があります。

ご使用のサイトにリンク先ドメインを参照するフォームが含まれる場合は、decorateForms パラメータを指定して true に設定してください。

使用方法

ga('[trackerName.]linker:autoLink', domains, [useAnchor], [decorateForms]);

パラメータ

名前 必須 説明
domains 配列 [RexExp| 文字列] はい URL のホスト名と照合する文字列の配列または正規表現で、自動リンクを適用するドメインを示します。文字列が一致したら、analytics.js は部分文字列を照合します。たとえば、example.com が一致した場合は、blog.example.com を参照するリンクを照合するということです。
useAnchor ブール値 いいえ true の場合、リンカー パラメータが URL のクエリ部分ではなくアンカー部分に追加されます。
decorateForms ブール値 いいえ true の場合、リンカー プラグインによって、domain パラメータに一致したリンク先を参照するフォームの送信に、リンカー パラメータが追加されます。

// Loads the Linker plugin
ga('require', 'linker');

// Instructs the Linker plugin to automatically add linker parameters
// to all links and forms pointing to the domain "destination.com".
ga('linker:autoLink', ['destination.com'], false, true);

リンカー パラメータの手動追加

decorate メソッドを使用すると、リンカー パラメータを特定の <a> 要素または <form> 要素に手動で追加できます。このメソッドが必要になるのは、前述の autoLink メソッドを使用していない場合に限ります。

decorate

decorate メソッドはコマンドキューを使用して呼び出すことができます。

リンカー パラメータは 2 分後に期限切れになるため、decorate メソッドは、できるだけページ移動する瞬間に近いタイミングで呼び出すようにしてください。ほとんどの場合では、このメソッドをイベント ハンドラで呼び出してください。

使用方法

ga('[trackerName.]linker:decorate', element, [useAnchor]);

パラメータ

名前 必須 説明
element HTML 要素 はい リンカー パラメータに追加する <a> 要素または <form> 要素です。
useAnchor ブール値 いいえ true の場合、リンカー パラメータが URL のクエリ部分ではなくアンカー部分に追加されます。

// Loads the Linker plugin
ga('require', 'linker');

// Gets a reference to a link pointing to an external domain.
var destinationLink = document.getElementById('destination-link');

// Adds click handler that decorates `destinationLink`.
destinationLink.addEventListener('click', function() {
  ga('linker:decorate', destinationLink);
});

linkerParam

decorate メソッドの他に、linkerParam フィールドで、トラッカーによって使用されるリンカー パラメータを手動で取得できます。

ga(function(tracker) {
  var linkerParam = tracker.get('linkerParam');
});

リンカー パラメータを使用できるサイトの設定

リンカー パラメータが URL に含まれるリンク先ドメインのページをユーザーが閲覧したとき、そのパラメータを探すように analytics.js が通知を受ける必要があります。

トラッカーの作成時に allowLinker フィールドを true に設定しておくと、ランディング ページにリンカー パラメータを探すよう指示することができます。

ga('create', 'UA-XXXXXX-X', 'auto', {
  'allowLinker': true
});

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

常に最初にソースドメインを参照してからリンク先ドメインに移動するユーザーのユーザーフローは、一方向のクロスドメイン トラッキングと見なされます。前述の手順は、このタイプのユーザーフローを前提としています。

"注: autoLink メソッドでは、リンカー パラメータは iframes に追加されません。"

双方向のクロスドメイン トラッキングを実装するには、両方のドメインで自動リンクを有効化し、いずれもリンカー パラメータを受け入れるように設定します。

source.com の場合:

ga('create', 'UA-XXXXX-Y', 'auto', {allowLinker: true});
ga('require', 'linker');
ga('linker:autoLink', ['destination.com']);

destination.com の場合:

ga('create', 'UA-XXXXX-Y', 'auto', {allowLinker: true});
ga('require', 'linker');
ga('linker:autoLink', ['source.com']);

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

さらに手順を簡素化するには、ユーザーが閲覧する可能性があって autoLink メソッドで追跡したいドメインをリストにすると、すべてのドメインに同じコードのスニペットを使用できます。

ga('create', 'UA-XXXXX-Y', 'auto', {allowLinker: true});
ga('require', 'linker');
ga('linker:autoLink', ['source.com', 'destination.com']);