2017/8/21

Google Analytics クロスドメイントラッキングの設定方法

区切り線

cross_domain_tracking

少し前の話になりますが、社内でSSLを導入することになった時にクロスドメイントラッキングを行う必要がありました。
「クロスドメイントラッキングって何?」という人も多いと思うので、紹介したいと思います。

クロスドメイントラッキングとは

クロスドメイントラッキングとは、その名の通り複数のドメイン間にまたがってアナリティクスのセッション情報を取得する方法です。

例えば、次のような場合に使用します。

  • メールフォームに別ドメインの共有SSLを利用している
  • 本サイトとは別に外部ブログを利用している
  • 自社が抱えるサイトが複数あり、それらをトータルで管理したい

クロスドメイントラッキングを使用しないと

「複数のドメイン間にまたがってアナリティクスのセッション情報を取得する」と述べましたが、実はクロスドメイントラッキングを使用しないでも、トラッキングコードさえ設置されていれば、PV数など、ある程度の計測はすることができます。
では、何故クロスドメイントラッキングの設定が必要になるのかというと、セッション情報の正確性の問題です。

例えば、Googleから検索経由で○○○.comというサイトに訪れた後に△△△.comというサイトに訪れた場合、クロスドメイントラッキングの設定をしていないと△△△.comの参照元はGoogleではなく○○○.comということになってしまいます。
つまり、セッション情報の繋がりが失われてしまうというわけです。

クロスドメイントラッキング無し

クロスドメイントラッキング有り

メールフォームからコンバージョンがあったのに、そのコンバージョン経路が特定できないとなったら困りますよね?
そのために、クロスドメイントラッキングが必要になるのです。

クロスドメイントラッキングの設定方法

では、実際にクロスドメイントラッキングの設定方法を見ていきましょう。

※ここでは、Googleアナリティクスの登録、プロパティ作成まで完了していることを前提に説明していきます。
Googleアナリティクスの登録方法についてはこちらの記事を参考にして下さい。

トラッキングコードの変更

クロスドメイントラッキングを設定するには、Googleアナリティクスのトラッキングコードを、若干変更する必要があります。
以下の様に変更しましょう。

通常のトラッキングコード

<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-1', 'auto');
  ga('send', 'pageview');
</script>

○○○.comに設置するトラッキングコード

<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-1', 'auto', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['△△△.com'] );
ga('send', 'pageview');
</script>

△△△.comに設置するトラッキングコード

<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-1', 'auto', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['○○○.com'] );
ga('send', 'pageview');
</script>

解説

通常のトラッキングコードにlinkerという記述を追記し、それぞれのサイトから別サイトのドメインを指定する形です。
この記述をすることで、ドメイン間のセッション情報のやり取りが出来るようになります。
ドメイン数が3つ以上になる場合は[‘○○○.com,△△△.com’]といったように、カンマで区切るようにして下さい。

アナリティクス側の設定

参照元除外リストの設定

クロスドメイントラッキング 参照元除外リスト
トラッキングコードを変更しただけでは、参照元に自サイトのドメインが表示されてしまいます。
そこで、自サイトのドメインが参照元に表示されないようにするために、上記の様に参照元の除外リストを設定しましょう。

フィルタの設定

クロスドメイントラッキング フィルター設定

さらに、フィルタの設定を行って、取得したデータのURLをドメイン付きのものにしましょう。
上の画像を参考に入力をしていき、フィールド A -> 引用 Aには「ホスト名」「(.*)」と入力を、フィールド B -> 引用 Bには「リクエストURI」「(.*)」、出力先 -> 構成には「リクエストURI」「$A1$B1」と入力をして下さい。

共有SSLでのクロスドメイントラッキングの注意点

クロスドメイントラッキングとは直接関係があるわけではありませんが、共有SSLのドメインを使ったクロスドメイントラッキングでコンバージョンを取得する場合、注意しなくてはいけないことがあります。

それは、到達ページのURLです。
通常はドメイン以降の/thanks.phpなどを指定しますが、
共有SSLで目標の到達ページのURLを入力する時は、「先頭が一致」の状態で「www.ドメイン名/ページ名」の形でwwwから入力をして下さい。

【例】
www.example.com/thanks.php

この様に設定をしないとコンバージョンの取得が出来ないので、必ずwwwから入力をするようにしましょう。

クロスドメイントラッキングの確認方法

クロスドメイントラッキングの設定が完了したら、正しく設定されているかを確認しましょう。
確認には、Chrome拡張機能のGoogle Tag Assistantを使用すると便利です。

また、クロスドメイントラッキングを設定していると、別ドメインに移動した際、URLに以下のようなパラメータがつくので、そちらでも簡易的に確認が出来ます。
Crossdomaintraking_url

まとめ

僕が初めてクロスドメイントラッキングの設定をした時は、「難しそう・・・!」という印象だったのですが、実際にやってしまえばクロスドメイントラッキングの設定はとても簡単です。
トラッキングコードをちょっと変える、アナリティクス内で参照元の除外設定とフィルタ設定をする。たったこれだけです。

SSLの利用が普及してきたこともあって、同一サイト内で複数のドメインが使われるケースは思いの外多いと思うので、クロスドメイントラッキングを試したことがないという方は、是非試してみて下さい。

参考

  • このエントリーをはてなブックマークに追加

区切り線

コメントをどうぞ

メールアドレスが公開されることはありません。