*

Googleアナリティクス基礎:複数のトラッキングコード(マルチトラッキング)設定

公開日: : 最終更新日:2018/09/29 トラッキング


LINE facebook twitter URLコピー
B! pocket Evernote 楽天


マルチトラッキングUA

こんにちは。メディア立ち上げや運営の仕事をしていますカグア!です。

複数のサイトを管理していますと、個々のGoogleアナリティクス(ユニバーサルアナリティクス)を見つつも、全体を統合(マージ)してデータを見たくなるときがあります。そのときに使いますのがマルチトラッキングという、計測手法です。

Googleタグマネージャでの方法も含めて最新の情報でまとめましたので、ご参考になれば幸いです。

追記2015年7月17日 やはりドメインが同じ場合はcookieの処理をしないといけないっぽいです。ありがとうございます。

マルチトラッキングとは

マルチトラッキング

複数のサイトを運営するときに、それらをまたいで全体も見たいし、個々のサイトも見たい、というときにマルチトラッキング設定をして計測するケースが増えています。

ようは、サイトAとサイトBのトラッキングコードを別々に発行して、それぞれに貼り付け。

さらに、それらにまたがる統合的な計測のためのトラッキングコードを発行して、両方に貼るというものです。個々のサイトで見ますと、トラッキングコードが複数(マルチ)張られることになりますので、マルチトラッキングと呼ばれています。

マルチトラッキング公式ヘルプ
>>Advanced Configuration – Web Tracking (analytics.js)   |   Universal Analytics Web Tracking (analytics.js)   |   Google Developers

サブドメインのsetcookieの公式ヘルプ
>>Domains & Cookies – Web Tracking (analytics.js)   |   Universal Analytics Web Tracking (analytics.js)   |   Google Developers

どういうときにマルチトラッキングするの?

hatena

上図のようなサイト構成以外にも、ブログのプロバイダなどにもよく見られます。

ブログポータルの主催企業が全体のトラッキングをしたい、ただここのブログユーザーは自分のアクセス解析をしたい、というときに結果として、マルチトラッキングのGoogleアナリティクスのトラッキングコードが自動生成されているようです。

たとえば、ブログポータルで有名なはてなでは、以下のようなトリプルトラッキングのコードがはき出されているブログもありました。※ユニバーサル アナリティクスではなく非同期版のGoogleアナリティクスですが。

_gaq.push(
['_setAccount', 'UA-xxxxxxxxx-1'],
['_trackPageview']
,['b._setAccount', 'UA-xxxxxxxxx-2'],
['b._setDomainName', '.hatena.ne.jp'],
['b._trackPageview']
,['c._setAccount', 'UA-xxxxxxxxx-3'],
['c._trackPageview']
);

フィルタでビューを分けるのと何が違うの?

フィルタが適さない理由

ある程度Googleアナリティクスを知っている方ですと、上図のように思われる方もいらっしゃるのではないでしょうか。とりあえず、全体を取得しておいて、ビューを2つ複製しておいて、それぞれのビューでそのホスト名に一致したものだけを取得する、と。

ただ、これですと上図のように、切り分けて記録されたログの流入経路などが、特定できない可能性があります。フィルタというのは、ほんとに単純にデータを切り分けて記録するだけなのですね。

ですので、流入経路などセッションのひと通りの流れをも、個々にも、取ろうと思ったら、やはりマルチトラッキングになるのです。

クロスドメインでマルチトラッキングをする方法

1.トラッキングコード

それでは、ユニバーサル アナリティクスで、マルチトラッキング&クロスドメインをさせる、トラッキングコードを書いていきましょう。

具体的には、トラッカーを新しく生成し、そこにデータを送信する記述を追加します。ga(‘create’,~) メソッドでは、{} 内でカンマ区切りで、さまざまなキー(項目)とバリュー(値)を渡すことができます。

<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('create', 'UA-xxxxxxxx-2', 'auto', {'allowLinker': true ,'name': 'b'});

//クロスドメインを行き来するリンクにクッキーを渡す
ga('require', 'linker');
ga('linker:autoLink', ['aaa.jp','aaa-owned.jp']);

//データをsend
ga('send', 'pageview');
ga('b.send','pageview');
</script>

2.URLをマージするフィルタ

フィルタ構成

単にクロスドメイン設定をしただけですと、http://aaa.jp/index.html と http://aaa-owned.jp/index.html が同一の /index.html と記録され区別できません。Googleアナリティクスでは、ドメイン以下のURLしかデータ送信されないのです。

そこで、アナリティクス設定>ビュー設定>フィルタ を使い、計測URLにホスト名(ドメイン)をマージ(合体)させて、記録するフィルタを設定します。

これで、Googleアナリティクスで、レポート>行動>サイトコンテンツ>すべてのページ で見たとき、/index.html ではなく、http://aaa.jp/index.html と記録されるようになります。ただ、URL右につくアイコンをクリックしても、実際のページにジャンプする、という機能は動作しなくなりますがそこは仕方ありません。

3.参照元除外リストにドメイン追加

参照元除外

Googleアナリティクスで、アナリティクス設定>プロパティ>トラッキング情報>参照元除外リスト に、クロスドメインのホスト名を追加します。複数あるときは都度入力してください。カンマ区切りで入力します。
※公式ヘルプと異なる表記だったため修正いたしました。2015/07/14 15:46

これをすることで、流入元が管理下のドメインであったときにも、ちゃんとそれを除外して記録してくれます。

>>【保存版】Google Analytics(UA版)のトラッキングコードカスタマイズ5選+組み合わせ例4選 | NUMBER

Googleタグマネージャでクロスドメイン&マルチトラッキング

Googleタグマネージャの場合は、どちらのドメインにも入れるタグは、Googleタグマネージャのコンテナタグ1つで大丈夫です。とても簡単。

基本的に、ユニバーサル アナリティクスのタグを2つ入れれば、マルチトラッキング自体は稼働します。トラッカーも自動で生成してくれるので、トラッカー名も入れる必要はないです。

ドメイン(ホスト名)が変わるときに、2つ目のユニバーサル アナリティクスのタグの、プロパティIDを切り替えます。

1.トリガーとタグとの設定

タグマネージャ

Googleタグマネージャでは、ホスト名を取得する変数はすでに用意されています。ですから、個々のドメインで稼働させる2番目のユニバーサルアナリティクスタグの発火条件指定時に、そのままトリガー新規作成で、そのドメインを指定すればOKです。

2.アナリティクス側の設定

前述の、(2)と(3)の、フィルタと参上元除外リストの設定を行ってください。

マルチトラッキングの注意点

マルチトラッキングはいっけん便利そうですが、設置後に気をつけないといけないこともあります。

クロスドメインの場合はその設定も個々に必要

複数サイトにまたがるトラッキングコードの場合、それぞれの行き来をするときに、ちゃんとクロスド名設定がなされていませんといけません。

ユニバーサル アナリティクスの場合は、リンカーをトラッキングコードに追加し、フィルタでドメイン以下のURLをホスト名と結合させて、参照元ドメインの除外という通常の設定も行ってください。

たとえば、イベントトラッキングでも以下のように設定しなくてはなりません。

<a href="~" onClick="ga('send','event','click','aaa');
ga('b.send','event','click','aaa');">~</a>

上記ですと、イベントもマルチに送信しなてくはならなくなる、ということです。またもう一つのほうでは、新しく定義したトラッカー名をちゃんと入れないといけない、となります。上記では、b.send というところです。

非クロスドメインでもcookie干渉の検証が必要

たとえば、いかのようなマルチトラッキングをしたとします。

http://aaa.jp トラッキングコードA
http://aaa.jp/bbb トラッキングコードA、B
http://aaa.jp/ccc トラッキングコードA、C

この場合は、全体にまたがるトラッキングコードAに、クロスドメイン設定は必要ありません。

ただし、サブディレクトリ単位で計測するとき、同一ドメイン配下でcookieを処理させなくてはいけないため干渉がおこり、うまく計測できない可能性があります。ユニバーサル アナリティクス以前では、setcookiePathというメソッドがあり、ユーザー独自にそういった干渉対策としてcookieをコントロールできたのですが、ユニバーサル アナリティクスでは非推奨になっているようです。

>>UAでのサブディレクトリ設定方法について – Google プロダクト フォーラム

ですので、上記の場合は自己責任で検証しながら、実装していくことになります。お困りのさいは、弊社でも対応いたします。

現状ではタグマネージャ利用がもっとも低コスト

以上のことをふまえますと、何か新規の計測をしようというときに、都度都度セカンドトラッカーのことをどうするかなど、検証項目が増えるかたちになります。

いっぽう、Googleタグマネージャを使いますと、トラッカーは自動生成してくれますし、リンククリックのイベントもプロパティIDで自動認識してトラッカー名を識別するかんじです。Googleタグマネージャの公式ヘルプでも極力トラッカー名は指定しないでください、とあるほどです。

>>Tags – Tag Manager Help
>>一つのサイトを複数のGoogleアナリティクスプロパティで計測してみる(マルチトラッキング)<Googleタグマネージャ>|Googleアナリティクス雑記帳

ですので要検証ですが、おそらく自動で第2、第3のトラッカーもそのまま識別してくれるはずです。そう考えますと複雑なトラッキングをしたいときには、GTMを使ったほうがトータルではコスト安になると思います。


できる逆引き Googleアナリティクス Web解析の現場で使える実践ワザ240 ユニバーサルアナリティクス&Googleタグマネージャ対応: 木田 和廣, できるシリーズ編集部: 本


実践 Google タグマネージャ入門 増補版: 畑岡 大作(アユダンテ株式会社): 本

「トラッカーを個別に作る。」

関連するほかの記事を見てみよう!
このサイトのトップページへ行く

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

Profile



Yoshihiko Yoshida
メディア運営業界23年目。Googleアナリティクス公式コミュニティ・アンサリスト最高ランク「レジェンド」国内初獲得。「マツコの知らない世界」Googleマップ案内人TV出演。Googleストリートビュー認定フォトグラファー。教育システム情報学会会員。元立教大学非常勤講師。主な著書「Googleアナリティクス基礎講座」(技術評論社)。趣味はデジカメとゲームとパン作り。>>もっと読む

Instagram

◆代表者略歴 ◆受賞歴
◆おもな著書 ◆TV出演歴
◆新聞掲載歴 ◆雑誌/連載歴
 <<お問い合わせはこちら>>

Facebook

このブログをRSS購読しよう!(無料)

follow us in feedly

よろしければ「いいね」して下さい!

 
PAGE TOP ↑