リンカー

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

概要

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

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

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

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

_ga=1.199239214.1624002396.1440697407

リンク先ドメインの allowLinker フィールドを true に設定すると、analytics.js により URL 内のリンカー パラメータがチェックされます。有効なリンカー パラメータが見つかると、そのパラメータからクライアント ID が抽出されて、保存されます。

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

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

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

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

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

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

使用方法

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

パラメータ

名前 必須 説明
domains Array[RexExp|string] はい URL のhostnameと照合する文字列の配列または正規表現で、自動リンクを適用するドメインを示します。文字列が渡されると、analytics.js により部分文字列の照合が行われます。たとえば、example.comblog.example.com を参照するリンクと一致します。
useAnchor boolean いいえ true の場合、リンカー パラメータは URL のクエリ部分ではなくアンカー部分に追加されます。
decorateForms boolean いいえ 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 HTMLElement はい リンカー パラメータを追加する <a> または <form> 要素です。
useAnchor boolean いいえ 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']);