サイトを様々な角度から分析ができるということでGoogle Analyticsはサイト運営者の必須のツールだが、サブドメインを使って複数のサイトを運用している時に、そのサイトの数だけAnalyticsのアカウントを用意して管理するのは大変だ。
目次
クロスドメイントラッキングで一括管理
そこで、Google Analyticsのクロスドメイントラッキング機能の登場。これは複数のサイトを一つにまとめて一括管理できる便利な機能だ。
クロスドメインなので、a.sample.comやb.sample.comなどのサブドメインに限らず、abc.comやhoge.comなどのようにドメインをまたがって利用できるので、商品は自分のサイト、ショッピングカートは他のWebサービスを利用しているようなECサイトにも利用できる。
クロスドメイントラッキングの問題点
新しいトラッキングコードを発行せずに一括管理できるので、なんか良さそうにも見えるが、問題点もある。
見づらくなる
複数のサイト、ドメインが一つにまとまるので当然といえば当然だが、見づらくなる。URIを追加したりして見やすくする方法もあるが、それでも下記の問題もある。
リンク、ページ解析が見れない
複数のドメインが混ざるので、解析ページのリンクへ飛べなかったり、ページ解析が利用できなくなったりする。
なので、一括で管理しないで、プロパティに新しいドメインを追加して新しいトラッキングコードを使った方が好都合な場合もある。
サブドメインをビューのフィルターで一括管理
Analyticsのアカウントは、下記のような階層に分かれている。
- アカウント
- プロパティ (アクセス解析を行うためのトラッキングコードの発行)
- ビュー (プロパティの中の特定のデータを取り出して表示)
個人の場合、多数の個別ドメインよりは、サブドメインを多数取り扱っている人も多いと思うのだが、今回はサブドメインをビューのフィルターを使って一括管理することで、上記の問題点を回避する方法を紹介。
(サブドメインじゃなくてもトラッキングコードの貼り付けは同様の手順)
トラッキングコードの貼り付け
今回のサンプルドメインはこんな感じで、予めメインのhoge.comをアナリティクスで運用している前提。
- hoge.com (メインのドメイン)
- sub.hoge.com (サブドメイン)
そのうちAnalyticsはユニバーサルアナリティクスに移行されるのだが、新しいユニバーサルアナリティクスのトラッキングコードは以下な感じ。
メインのhoge.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-XXXX-Y', 'hoge.com');
ga('send', 'pageview');
</script>
↓
下の2行を、下記のように書き換え、hoge.comに貼り付け。もちろん、「UA-XXXX-Y」は自分のトラッキング 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-XXXX-Y', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['destination']);
ga('send', 'pageview');
</script>
↓sub.hoge.comのサブドメインや、他のドメインに貼り付けるトラッキングコード。
「UA-XXXX-Y」、「hoge.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-XXXX-Y', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['hoge.com']);
ga('send', 'pageview');
</script>
以上でトラッキングコードの設定は終わりでそのままでもいいのだが、先程も述べたように、ドメインが混在するために見づらさとアナリティクスページからのリンクアクセス問題を回避するための方法を以下で設定する必要がある。
ビューのフィルタ作成作業
サブドメインの除外フィルタ設定
まずは、メインのドメイン「hoge.com」ビューのフィルタ設定で、サブドメイン「sub.hoge.com」を除外するための設定。
画像の番号を参考に設定して貰えれば。
- アナリティクス設定を選択
- メインのドメインのビューを選択
- フィルタを選択
- 除外を選択
- ホスト名へのトラフィックを選択
- 等しいを選択
- 「..hoge.com」と入力して保存。
この⑦の「..hoge.com」は、正規表現を使用しており、「*.hoge.com」という不特定のサブドメインを除外するという意味になる。参照
サブドメイン用のビュー作成
続いては、サブドメイン用のビュー作成。「新しいビューを作成」選択し、名前を入力して保存。
該当サブドメイン以外のドメインの除外フィルタ設定
先ほどと同様の手順でフィルタを設定していくのだが、今度は除外ではなく該当のサブドメインのみを表示させる設定だ。
- 右のみを含むを選択
- ホスト名へのトラフィックを選択
- 等しいを選択
- 「sub.hoge.com」を入力して保存。
これで、ビューでメインドメインか、サブドメインを選択すれば該当のアクセス解析データを閲覧できるのだが、ビューを切り替える時点で果たして一括管理というのか分からないが、無駄にトラッキングコードを追加して管理する必要が無くなるという意味では便利だ。