256 トラッキングの不具合

1つのページに2つのトラッキングコードをミスなく挿入する

複数のドメインやサブドメインでサイトを運営している場合、1つのサイト内のページに複数のトラッキングコードを挿入し、別々のプロパティとして計測したいというニーズがあります。例えば、以下のような2つのサイトについて考えてみましょう。

  • コーポレートサイト「impress.co.jp」
  • ECサイト「shop.dekiru.net」

異なるドメインの2つのサイトを統合して解析したいが、同時に各ドメインを別々に解析したいときは、ワザ074で解説したように3つのプロパティを作成して運用するのが適当です。

  • プロパティ①:コーポレートサイトと紐付ける
  • プロパティ②:ECサイトと紐付ける
  • プロパティ③:両方のサイトに紐付け、クロスドメイントラッキングを設定する

ただ、こうした運用では、1つのサイトに2つのトラッキングコードを挿入することになります。上記の例では、コーポレートサイトにはプロパティ①③のコードを、ECサイトにはプロパティ②③のコードを挿入する、といった具合です。また、③のコードでは「クロスドメインリンク設定」と呼ばれるカスタマイズが必要になります。コーポレートサイトとECサイトのそれぞれに挿入すべきコードは、以下のようになります。

コーポレートサイト「impress.co.jp」に挿入するトラッキングコード

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXXX-③', 'auto', {'allowLinker': true});
  ga('require', 'linker');
  ga('linker:autoLink', ['shop.dekiru.net']);
  ga('send', 'pageview');

  ga('create', 'UA-XXXXXXXX-①', 'auto', {'name':'newTracker'});
  ga('newTracker.send', 'pageview');
</script>

4:allowLinkerトラッキング設定パラメータをtrueに設定し、クロスドメイントラッキングを行う。トラッキングIDはプロパティ③のものを記述する
6:linker:autoLinkコマンドによりクロスドメインリンク設定が呼び出される。また、クロスドメイン先(ここではECサイト)となるURLを記述する
9:クロスドメイントラッキングを行わないプロパティ①のトラッキングIDを記述する。トラッカー名とCookie名も③と異なるものにする

ECサイト「shop.dekiru.net」に挿入するトラッキングコード

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXXX-③', 'auto', {'allowLinker': true});
  ga('require', 'linker');
  ga('linker:autoLink', ['impress.co.jp']);
  ga('send', 'pageview');

  ga('create', ''UA-XXXXXXXX-②', 'auto', {'name':'newTracker'});
  ga('newTracker.send', 'pageview');
</script>

4:allowLinkerトラッキング設定パラメータをtrueに設定し、クロスドメイントラッキングを行う。トラッキングIDはプロパティ③のものを記述する
6:linker:autoLinkコマンドによりクロスドメインリンク設定が呼び出される。また、クロスドメイン先(ここではコーポレートサイト)となるURLを記述する
9:クロスドメイントラッキングを行わないプロパティ②のトラッキングIDを記述する。トラッカー名とCookie名も③と異なるものにする

それぞれのトラッキングコードを見るとわかるように、正確には2つのコードを挿入するのではなく、2つのトラッキングID(ウェブプロパティID)を持つコードを挿入する形になります。Googleアナリティクスの公式コミュニティでも、このようなケースでのトラッキングの不具合が報告されることがあるため、慎重に設定を行う必要があります。

一方、Googleタグマネージャ経由でクロスドメイントラッキングを行うには、以下の設定を行います。前のページと同じ2つのサイトを例にしています。

①「impress.co.jp」と「shop.dekiru.net」の両サイトの基本ページビュータグを編集し、[このタグでオーバーライド設定を有効にする]にチェックマークを付ける。

②両サイトのタグの[トラッキングID]に、同一のトラッキングIDを入力する。

③両サイトのタグの[詳細設定]→[設定するフィールド]にフィールドを追加し、[フィールド名]に「allowLinker」、[値]に「true」と入力する。

④「impress.co.jp」のタグの[詳細設定]→[クロスドメイントラッキング]において、[自動リンクドメイン]に「shop.dekiru.net」のドメインを入力する。

⑤「shop.dekiru.net」のタグの[詳細設定]→[クロスドメイントラッキング]において、[自動リンクドメイン]に「impress.co.jp」のドメインを入力する。

2つのコードの挿入は複数ドメインの解析に不可欠ですが、カスタマイズのミスによるトラブルも目立ちます。事前にテストを行いましょう。