2013年7月23日火曜日

Googleアナリティクスのデータを複数アカウント(プロパティ)で管理する方法

Googleアナリティクスのデータを複数のアカウント(プロパティ)で管理したい時がありますよね。
「じゃあトラッキングコードを複数貼り付ければ・・・」と思ってしまいますが、1つのサイトで複数のGoogleアナリティクスのトラッキングコードを実装することは推奨されていません。

では、複数のアカウント(プロパティ)でデータを取得したい場合はどうするのか?
今日はその方法をご紹介します。
ついこないだ実際の業務で実装したものなので備忘録も兼ねて。

まず、Googleアナリティクス管理画面で新規プロパティを作成します。
そのアカウント番号(UA-XXXXXXXX-2)を2つ目のアカウントとして使用します。

作成後、トラッキングコードには以下のような追記を行います。

--
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
  _gaq.push(['_trackPageview']);
  _gaq.push(['b._setAccount', 'UA-XXXXXXXX-2']);
  _gaq.push(['b._trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
--

といった形で、一つ目のアカウントである、
  _gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
  _gaq.push(['_trackPageview']);

の後に、2つ目のアカウントである
  _gaq.push(['b._setAccount', 'UA-XXXXXXXX-2']);
  _gaq.push(['b._trackPageview']);

を入れてください。

ここで注意しなければいけないのは、2つ目のアカウントの方は、「_setAccount」「_trackPageview」それぞれの頭に「b.」をつける必要があります。
クロスドメイン設定で「_setDomainName」等の追記が必要な場合は、「b._setDomainName」になります。