リンカー プラグインを使用すると、クロスドメイン測定を簡単に実装できます。実装方法については、analytics.js 向けクロスドメイン測定ガイドをご覧ください。
概要
クロスドメイン測定を実行するには、ソースドメインとリンク先ドメインの間でクライアント ID を共有します。各ソースでのクライアント ID の共有は、2 つのステップで完了します。
- ソースドメインに関しては、リンク先ドメインを参照するすべての URL に、ソースドメインのクライアント ID が含まれるように設定します。
- リンク先ドメインに関しては、ユーザーが URL を参照したときに、クライアント ID が含まれていることが確認できるように設定します。
前述の手順は、リンカー プラグインを使用して、リンク先ドメインを参照する URL にリンカー パラメータを追加することで実行できます。リンカー パラメータには、クライアント ID だけでなく、その ID にエンコードされた現在のタイムスタンプとブラウザのメタデータも含まれます。タイムスタンプとメタデータを使用するのは、URL 共有時の問題が発生しないようにするためです。
次のリンカー パラメータの例をご覧ください。
_ga=1.199239214.1624002396.1440697407
リンク先ドメインの allowLinker
フィールドを true
に設定すると、analytics.js により URL 内のリンカー パラメータがチェックされます。有効なリンカー パラメータが見つかると、そのパラメータからクライアント ID が抽出されて、保存されます。
リンカー プラグインを使用すると、ページ上のリンクとフォームの URL に、リンカー パラメータを自動または手動で追加できます。通常は、自動追加を推奨します。
リンカー パラメータの自動追加
リンク先ドメインを参照する URL に対して、ソースドメインでクロスドメイン自動リンクを設定するには、リンカー プラグインを要求して、autoLink
メソッドを呼び出す必要があります。
autoLink
autoLink
メソッドは、コマンドキューを使用して呼び出すことができます。
autoLink メソッドが実行されると、analytics.js がリンク先ドメインを参照するリンクのクリックをリッスンし、ページ移動する直前に、これらのリンクにリンカー パラメータを追加します。リンカー パラメータは 2 分で期限切れになるため、ユーザーがリンクをクリックするのを待ってからリンカー パラメータを追加する必要があります。
サイト上にリンク先ドメインを参照するフォームがある場合は、decorateForms
プロパティを true
に設定します。
使用方法
ga('[trackerName.]linker:autoLink', domains, [useAnchor], [decorateForms]);
パラメータ
名前 | タイプ | 必須 / 省略可 | 説明 |
---|---|---|---|
domains |
Array[RexExp|string] |
必須 | URL の hostname と照合する文字列の配列または正規表現で、自動リンクを適用するドメインを示します。文字列が渡されると、analytics.js により部分文字列の照合が行われます。たとえば、example.com は blog.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
});
双方向のクロスドメイン測定
常に最初にソースドメインを参照してからリンク先ドメインに移動するユーザーのユーザーフローは、一方向のクロスドメイン測定と見なされます。前述の手順は、このタイプのユーザーフローを前提としています。
ユーザーがどちらのドメインに最初にアクセスするかわからない場合は、どちらのドメインもソースまたはリンク先として機能するように構成された「双方向のクロスドメイン測定」を実装する必要があります。
双方向のクロスドメイン測定を実装するには、両方のドメインで自動リンクを有効化し、いずれもリンカー パラメータを受け入れるように設定します。
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']);