開発期間から本番公開にいたるまでのおすすめGAプロファイル設定

Google Analytics Web制作

飯田です。
いたってまじめな記事です。
すいません。

今回はGoogle Analytics(以下GA)について書きます。

開発期間と公開後でGAの設定ってどうするの?

Webサイト制作において、開発期間というものは必ずあります。
その形態も開発用サーバーと公開用サーバーと2台建てたり、
開発用サーバー1台で、公開時に公開用として切り替えてしまう場合など様々です。

最近では、アクセス解析ツールとしてGAをいれることが多いですね。
でも、開発期間中と公開後でGAの設定をどのように行えばよいのでしょうか。

アカウント2つ用意する?とりあえず同じもの入れちゃう?
うーんちゃんとしたデータとれているのだろうか。。

そんな悩みを整理します!

サーバー構成

この質問に対する回答は、サーバー構成や開発の方針によって変わってきます。
いくつか具体例を挙げてみます。

1.同一サーバー内で開発用ディレクトリを持つ場合
こちらは、既に運用しているサイトの中に新しいコンテンツを追加するような場合です。
この場合、開発用ディレクトリには、basic認証やIP制限などをかけておくことになるかと思います。

2.開発サーバーから公開サーバーに切り替える場合
こちらは、新規Webサイトを構築する際に、開発から公開までサーバーを1台で済ましてしまうケースです。

3.開発サーバーと公開サーバーを2台に分ける場合
こちらは、確認用のデータを置くサーバーと、
本番用のデータを置くサーバーを明確に分ける方法です。
開発サーバーのことを検証環境といったり、ステージング環境という場合もあります。

それぞれのGAの挙動

さて、順番にGAに関する挙動を確認します。

1.同一サーバー内で開発用ディレクトリを持つ場合
すでに運用しているGAがあると仮定します。
GAは、basic認証やIP制限などがかかっているページでも、
そのページにアクセスできる人のログはとることができます。
したがって、同じトラッキングコードを埋め込んでいれば、
本番運用しているプロパティに、公開していないページへのアクセスが混ざる形になります。

2.開発サーバーから公開サーバーに切り替える場合
本番用にGAのアカウントをとって、開発期間中から本番用のコードを埋め込んで開発を進めている、と仮定します。
このとき、本番用のドメインをあてていれば当然集計されるのですが、
開発期間中でドメインがなく、IPでアクセスした場合でもデータ集計されます。
これは、basic認証やIP制限をかけている場合にも同じようにふるまいます。

3.開発サーバーと公開サーバーを2台に分ける場合
ここでは、2通りの実装が考えられます。
わかりやすいのは、”開発サーバーのドメイン”と”公開サーバーのドメイン”とで
GAのプロパティを別々に設定し、別々のトラッキングコードで集計する方法でしょう。
しかし、これでは検証環境でテストしたものに対し、
トラッキングコードを差し替えて公開しなければなりません。

これを、ひとつのプロパティで管理し、
同一のトラッキングコードを埋め込んだ場合にはどうなるでしょうか?

答えとしては、この場合にも開発サーバーと公開サーバー、両方のデータがとれることになります。
後から差し替えをしなくていいので、運用上はこちらのほうが好都合です。

しかし、きちんとしたデータをとるためには、ちょっとひと手間が必要です。

GAのドメインに対する考え方と環境ごとの設定方法

GAでは、初期設定で集計対象のサイトのドメインを登録します。
しかし、異なるドメインの異なるページに同一のトラッキングコードを埋め込んだ場合には、
別ユーザーとしてカウントされるだけで、それらのアクセス情報は集計されてしまいます。

Google先生に聞くと、以下のような詳細なドキュメントを教えてくれます。
https://support.google.com/analytics/answer/1033876?hl=ja

また、アナリティクスでは複数の異なる URL へのアクセスをそれぞれ関連のないユニークなアクセスとして処理します(参照リンクは例外です)。このため、あるウェブサイトから収集したユーザー データが、関連のない別のウェブサイトのアナリティクス レポートに表示されることはありません。

たとえば、オンライン ストアを運営していて、サードパーティのショッピング カートが次のように別のドメインでホストされているとします。

www.example-petstore.com
www.example-commerce-host.com/example-petstore/
クロスドメインのカスタマイズ設定を行わないと、最初にオンライン ストアを訪れ、それからサードパーティのショッピング カートに移動したユーザーは、異なる期間に異なる訪問を開始した 2 人のユーザーとしてカウントされます。しかしこれは、このモデルの適切な処理ではありません。

この場合は、クロスドメイン トラッキングを使用すれば、2 つのサイトのトラフィックを 1 つのアナリティクス レポートに記録できます。

……(^v^;)

なかなかわかりにくく、私もしばらく悩まされました。

要するに、こういうことです。

  • GAは、設定しているドメインに関係なくトラッキングコードが埋め込んであるページのアクセスを集計します。
  • でも、ドメインが違う場合はcookieの制御により別ユーザーとしてカウントされます。
  • ドメインは違うけど、オンラインの決済のように1人のユーザーの一連の処理を流れを切らずに集計したいときはカスタマイズしてね!

※ちなみに、以下のように、他のサイトで使われているトラッキングコードをコピーしたことによって、関係ないデータが混入してしまうトラブルも報告されています。
http://productforums.google.com/forum/#!topic/analytics-ja/fw4iRCabbAk

では、上記を前提にどのような設定を行えばよいのかというと、
同じプロパティ内で環境ごとにプロファイルを作り、
フィルタリングでそれぞれのデータを抽出する必要があります。

言葉ではわかりにくいので、上記の内容を各設定ごとに表にまとめてみました。

プロファイル フィルタリング条件設定 開発サーバー
(dev.aaa.com
basic認証あり)
から集計できる情報
本番サーバー
(aaa.com)
から集計できる情報
GAで集計している情報
Raw data なし 管理者 管理者
+
一般閲覧者
開発サーバーの管理者
+
本番サーバーの管理者
+
本番サーバーの一般閲覧者
filtered1 管理者IPに等しいIPアドレスからのトラフィックを除外

aaa.comに最後が一致するホスト名へのトラフィックのみ
一般閲覧者 本番サーバーの一般閲覧者
filtered2 aaa.comに最後が一致するホスト名へのトラフィックを除外 管理者 開発サーバーの管理者
filtered3 管理者IPに等しいIPアドレスからのトラフィックのみ

aaa.comに最後が一致するホスト名へのトラフィックのみ
管理者 本番サーバーの管理者

Raw data:フィルターをかけない生のデータ。
filtered1:本番環境で管理者のアクセスを除外し実質的なデータをとるための一般的な設定。
filtered2:開発環境で開発環境へアクセスできる管理者のデータだけをとるための開発・テスト用設定。
filtered3:本番環境で管理者のデータだけをとるための開発・テスト用設定。

上記の設定をプロファイルのフィルタの設定で行えば、目的のデータを正確にとることができます。

フィルタ設定の詳しいやり方は、他のわかりやすい記事にゆだねるとして、
GAの開発環境と本番環境での設定方法について一通り説明しました。
これらはCMSを入れているサイトでも役立つ考え方だと思いますので、参考にしてみてください!

※記事に関する質問はtwitterでひかくちゃんに聞いてみると答えてくれるかもしれません。最近ふてこいので保証はできません。