読者です 読者をやめる 読者になる 読者になる

まちいろエンジニアブログ

南池袋のWebサービス開発会社、株式会社まちいろのエンジニアブログです。

GoogleAnalyticsでクロスドメイン設定をやってみた

こんにちは! まちいろの日高です。

お客様のサイトで「別サイトを立てたんだけど、Analytics集計はいっしょにしたい」という要望がありました。

例えばECサイトだと決済を別URLにしていたり、問い合わせだけ別システムを使っていたり…

いろいろと使うタイミングはありそうです。

複数のサイトを一緒に集計できるクロスドメイン設定の方法を書いてみます。

まず初めに…

ここでは、AというサイトとBというサイト2つがあると仮定します。

サイトAではすでにGoogle Analyticsタグを埋め込んでいて計測を行っています。

サイトBの集計をサイトAにまとめるとします。

Aはaaa.machiiro.jpというドメインで、Bはbbb.machiiro.jpというドメインで運用しているとしましょう。

サイトAのGoogle Analyticsタグを変更する

サイトAは既にGoogle Analyticsタグを埋め込んでいます。 タグは初期設定だと以下のようになっているかと思います。

ga('create', 'UA-XXXXXXX-1', 'auto');
ga('send', 'pageview');

サイトBとクロスドメイン設定をするために下記のように書き換えます。

ga('create', 'UA-XXXXXXX-1','auto',{'allowLinker':true});
ga('require', 'linker');
ga('linker:autoLink', ['bbb.machiiro.jp']);
ga('send', 'pageview');

ga('linker:autoLink', ['リンクさせたいサイトのドメイン']); を記載するのがポイントです。

サイトBにGoogle Analyticsタグを挿入する

サイトBにもGoogle Analyticsタグを挿入する必要があります。

サイトAに挿入したタグのlinker:autoLink部分にサイトAのドメインを記載します。

ga('create', 'UA-XXXXXXX-1','auto',{'allowLinker':true});
ga('require', 'linker');
ga('linker:autoLink', ['aaa.machiiro.jp']);
ga('send', 'pageview');

Google Analyticsフィルタ設定を変更する

両サイトにタグを埋め込むことで計測自体は可能になります。

ただし、このままでは、aaa.machiiro.jp/index.html も bbb.machiiro.jp/index.html も /index.html としてカウントされてしまいます。

どちらのサイトが計測されてのか?が分からなくなります。

これを解消するため、GoogleAnalyticsの設定を変更します。

Google Analyticsを開いて、「アナリティクス設定」から「ビュー」→「フィルタ」を選択し、新規フィルタ追加を行います。

f:id:shidaka:20160531100247p:plain

フィルタの種類は「カスタム」を選んで、さらに「詳細」を選択します。 以後、以下の通りに設定を行います。

フィールド A -> 引用 Aホスト名(.*)
フィールド B -> 引用 BリクエストURI(.*)
出力先 -> 構成リクエストURI$A1$B1

この設定を行うことで、ドメイン/ページで以降のカウントが可能になります。

Google Analytics参照元除外リストを変更する

例えば Yahoo → サイトA → サイトB と着地した時、参照元はYahooとサイトAがカウントされます。

サイトAはカウントされないよう参照元除外リストに追加します。

Google Analyticsを開いて、「アナリティクス設定」から「プロパティ」→「トラッキング情報」→「参照元除外リスト」を選択して、参照の除外を追加します。

サイトAのドメイン、サイトBのドメイン両方を追加します。

まとめ