シナプス技術者ブログ

シナプスの技術者公式ブログ。インターネットで、鹿児島の毎日を笑顔にします。

Google Analytics でクロスドメイントラッキングを実現する

こんにちは、システム開発課の今門です。
2回目の投稿になります。

シナプスでは、公式サイト、各サービスごとのサイト、お客様用のコントロールパネル、コーポレートサイトなど、複数のサイトを運用しています。それらのサイトのアクセス解析は、Google Analyticsを使っており、それぞれにトラッキングコードを割り当てています。

しかし、複数のサイトのうちいくつかを、ひとつのまとまりとして解析したいケースもでてきます。 Google Analyticsでは、そのような解析方法を、「クロスドメイントラッキング」と呼びます 。

今回は、シナプスではどのようにクロスドメイントラッキングを行なっているかを紹介したいと思います。

クロスドメイントラッキングが発生するケース

例えば、シナプスではサービス紹介サイトとオンライン申込サイトはそれぞれ独立したサイトであり、別ドメインになっています。

申込が発生する場合は、主にサービス紹介サイトからオンライン申込サイトへの導線が発生します。それぞれのサイトごとに解析することもありますが、ふたつのサイトをまたいだ解析のほうが求められることは言うまでもありません。 このようなケースでは、Google Analyticsの設定を一般的なものから、クロスドメイントラッキングのものに変更します。

シナプスのサイト遷移例

クロスドメイントラッキングを実現するための3つの設定

Google Analyticsでは、クロスドメイントラッキングを実現するために、基本的に3つの設定が必要になります。どの設定項目を、どのように設定するのかは、下記のとおりとなります。

トラッキングコードをカスタマイズする

トラッキングIDは、それぞれのサイトで次のとおり取得/設定済みとします。

  • serv.synapse.jpのトラッキングID:UA-XXXXXX-1
  • apply.synapse.jpのトラッキングID:UA-XXXXXX-2
/****
    serv.synapse.jpでの設定(デフォルトの設定)
**/

(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'); 

// serv.synapse.jpをトラッキング 
ga('create', 'UA-XXXXXX-1', 'auto'); 
ga('send', 'pageview');
/****
    apply.synapse.jpでの設定(デフォルトの設定)
**/

(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'); 

// apply.synapse.jpをトラッキング
ga('create', 'UA-XXXXXX-2', 'auto'); 
ga('send', 'pageview');


それぞれのサイトのトラッキングIDに加えて、連携用のトラッキングIDを取得します。

  • 連携用のトラッキングID:UA-XXXXXX-3

連携用のトラッキングIDを取得したら、デフォルトの設定を、それぞれ次のように変更します。

/****
    serv.synapse.jpでの設定(変更後)
**/

(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'); 

// ID:UA-XXXXXX-1を持つserv.synapse.jpをトラッキング 
ga('create', 'UA-XXXXXX-1', 'auto'); 
ga('send', 'pageview’);

// 追加:apply.synapse.jpへの遷移もトラッキング
ga('create', 'UA-XXXXXX-3', {'name': 'newTracker'}, 'auto', {'allowLinker': true}); 
ga('require', 'linker'); 
ga('linker:autoLink', ['apply.synapse.jp']); 
ga('newTracker.send', 'pageview');
/****
    apply.synapse.jpでの設定(変更後)
**/

(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'); 

// apply.synapse.jpをトラッキング
ga('create', 'UA-XXXXXX-2', 'auto'); 
ga('send', 'pageview’);

// 追加:serv.synapse.jpからの遷移もトラッキング 
ga('create', 'UA-XXXXXX-3', {'name': 'newTracker'}, 'auto', {'allowLinker': true}); 
ga('require', 'linker'); 
ga('linker:autoLink', ['serv.synapse.jp']); 
ga('newTracker.send', 'pageview');


クロスドメイントラッキングを実現するためのコード変更は上記のとおりです。

この設定では、デフォルトの設定を残すことで、それぞれのサイトごとの解析も可能になっています。 もしクロスドメイントラッキングだけで十分だという場合は、デフォルトで設定していた最初の2行を削除してください。

リクエストURIをページ名に追加する

クロスドメイントラッキングでの解析について、次のような疑問を持つ方もいるかと思います。 「それぞれのドメインの、同じ名前のファイルは、どのように区分されるのだろう」

例えば、それぞれのドメインのトップページは次のURIを持ちます。

  • https://serv.synapse.jp/index.html
  • https://apply.synapse.jp/index.html

Google Analyticsでは、このURLはどちらも「/index.html」という同じページだと認識されてしまいます。

それぞれのドメインの同じファイル名を合算しないために、連携用のプロパティ(ここではトラッキングID:UA-XXXXXX-3のプロパティになります)配下のビューより、次の設定を行います。

管理(該当するプロパティ/ビューを選択)>フィルタへ進み、次のとおり設定します。

Google Analytics フィルター設定画面

この設定を保存すると、Google Analyticsは、リクエストURI(ホスト名+URL)を「個別のページ」と見なします。 Google Analytics上には、例えば次のように表示されます。

リクエストURIが表示されている状態

ふたつのサイトを参照元から除外する

これまで説明してきたサイト構成の場合、ふたつのサイト間を行き来することになるため、連携用のプロパティUA-XXXXXX-3には、serv.synapse.jpあるいはapply.synapse.jpとが、参照元として計測されることになります。 別のサイトや、検索エンジン結果ページから誘導されてきたとしても、本来の参照元であるURLがserv.synapse.jpやapply.synapse.jpで上書きされることになってしまいます。

そこで、UA-XXXXXX-3のプロパティにて、serv.synapse.jpとapply.synapse.jpを参照元から除外します。

管理(該当するプロパティを選択) >トラッキング情報>参照元除外リストから、serv.synapse.jpとapply.synapse.jpを登録します。

参照元の除外

まとめ

以上の方法で、クロスドメイントラッキングを実現しています。 実際にはこのあとさらに、目標到達プロセスなどを設定し、コンバージョン率を計測したりとさまざまな解析を行なっています。 それらについてはまたの機会に紹介します。