mizukami

クロスドメインを複数プロパティで管理する方法
(ユニバーサルアナリティクス版)

GoogleAnalyticsで複数ドメインを管理する際に、ドメインを統合したプロパティと、ドメインごとに個別のプロパティで計測したいというニーズがあった場合の設定方法をご紹介します。


例えば、下記のような別ドメインのサイトがあるとします。

・ブランドサイト「brand.co.jp」
・ECサイト「brandshop.com」

上記を、「統合したプロパティ」と「個別のプロパティ」で管理したい場合、
下記のように3つのプロパティを用意します。

①ブランドサイトのプロパティ→UA-11111111-1
②ECサイトのプロパティ→UA-22222222-1
③2つのサイトを統合したプロパティ(クロスドメイントラッキング)→UA-33333333-1

手順1.③のクロスドメイン用のトラッキングコードを作成します。

[ブランドサイト用]
<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-33333333-1', 'auto', {'allowLinker': true});
  ga('require', 'linker');
  ga('linker:autoLink', ['brandshop.com']);
  ga('send', 'pageview');

</script>
[ECサイト用]
<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-33333333-1', 'auto', {'allowLinker': true});
  ga('require', 'linker');
  ga('linker:autoLink', ['brand.co.jp']);
  ga('send', 'pageview');

</script>

※各コードでハイライトされた箇所には、クロスドメイン先のドメインを設定してください。
ブランドサイトのコードにはECサイトのドメインを。
ECサイトのコードにはブランドサイトのドメインを。

手順2.個別で計測したいプロパティID①②を各コードに追加します。

[ブランドサイト用]
<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-33333333-1', 'auto', {'allowLinker': true});
  ga('require', 'linker');
  ga('linker:autoLink', ['brandshop.com']);
  ga('send', 'pageview');

  ga('create', 'UA-11111111-1', 'auto', {'name': 'newTracker', 'cookieName': 'new_cookie_name1',});
  ga('newTracker.send', 'pageview');

</script>
[ECサイト用]
<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-33333333-1', 'auto', {'allowLinker': true});
  ga('require', 'linker');
  ga('linker:autoLink', ['brand.co.jp']);
  ga('send', 'pageview');

  ga('create', 'UA-22222222-1', 'auto', {'name': 'newTracker', 'cookieName': 'new_cookie_name2',});
  ga('newTracker.send', 'pageview');

</script>

※各コードでハイライトされた箇所に個別で計測したいプロパティIDを入れます。
また、それぞれの12行目には
1:クロスドメインで使用されているデフォルトのトラッカーとは違うトラッカー名を入れます。(「'name': 'newTracker'」の箇所)
2:クロスドメインで使用されているデフォルトのcookieとは違うcookie名を入れます。(「'cookieName': 'new_cookie_name1'」の箇所)
13行目には
3:新しく名前を付けたトラッカーにページビューが送信されるように「send」の前に12行目で設定したトラッカー名を入れます。

【上記のタグを貼り付けて遷移を確認】
下記のようにそれぞれのプロパティ用にcookieが2つ設定されている事が確認できました。

[ブランドサイト用]
ブランドサイト用cookie

[ECサイト用]
ECサイト用cookie

【GoogleAnalyticsの各プロパティで計測できているか確認】

①ブランドサイトのプロパティ
ブランドサイトのプロパティ

②ECサイトのプロパティ
ECサイトのプロパティ

③2つのサイトを統合したプロパティ(クロスドメイントラッキング)
2つのサイトを統合したプロパティ(クロスドメイントラッキング)

正常にそれぞれのプロパティで計測が確認できました。

■参考サイト■

・トラッカー
メソッド リファレンス - ウェブ トラッキング(analytics.js)>呼び出し構文
高度な設定 - ウェブ トラッキング(analytics.js)>複数のトラッキング オブジェクトの処理
・Cookie
analytics.js のフィールド リファレンス>Cookie 名
ドメインと Cookie - ウェブ トラッキング(analytics.js)
Google アナリティクスによるウェブサイトでの Cookie の使用
・参考書籍
できる逆引き Googleアナリティクス Web解析の現場で使える実践ワザ240 ユニバーサルアナリティクス&Googleタグマネージャ対応

新しいウェブ体験を作ろう TAMのPWA開発
お問い合わせはこちら