【Googleアナリティクス】フィルタの使い方、ドメインだけでなくURLで複雑なログ振分け技

Googleアナリティクスのフィルタに関する知見が貯まってきたので、ここで整理しておきたいと思います。

どういった状況でフィルタが使えるのか?

以下のような状況で、フィルタが活躍します。

  • 自分のアクセスを除外したい。
  • 開発サイトと本番サイトでログを振り分けたい。
  • サイト別にログを振り分けたい。
  • 計測するページをドメイン+ページにしたい。

screenshot.699

設定する前におさえておくべき、フィルタの特徴・注意点

  • フィルタが設定できるのは、ビュー単位
  • フィルタは、同一アカウント内で使いまわせる。
  • 複数のフィルタを設定した場合には、上から優先的にフィルタがかかる
  • デフォルトは、URL(http://xx.x~~~~.com/index.html)でのフィルタリングは不可
  • ドメイン(www.example.com)とページ(/index.html)は分けてフィルタ
  • もしもの時に、1つ別に「フィルタなし」ビューを作成する
     ※フィルタ設定を失敗したときに、1つもログがとれていないという状況を回避

screenshot.698

それでは、基本的な設定方法を紹介します。

基本編:自分のアクセスを除外する

自分のアクセスを除外したいというときには、このIPアドレスの除外フィルタを作成します。

ただ、自アクセス除外には注意点がいくつかあります。

  • 自分のアクセスが計測されないため検証ができなくなる
  • IPアドレスが変動するタイプだど上手く除外できない
  • モバイルからのアクセスはIPアドレスが違うため除外できない

まずは、ツールでIPアドレスを確認します。

Current IP Check
checkip.dyndns.org/

XXX.XXX.XXX.XXXとある数字自分のIPアドレスです。

「アナリティクス設定>該当のビュー>フィルタ>新しいフィルタ」を開きます。
新規フィルタを作成し、「IPアドレスからのトラフィック」でIPアドレスを除外します。

screenshot.687

今現在の計測状況は「レポート>リアルタイム>サマリー」から確認できます。
難しいですが、「計測されなくなった」ことを確認してください。

ドメイン名は「aaaa.com」ページ名は「/pc/」配下のみ計測する

いくつかのページを計測されている場合に特定のページのみをログ計測したい場合がこの設定が有効です。

計測ページはバラバラ

http://bbbb.com/pc/page1.html
http://aaaa.com/sp/index.html
http://aaaa.com/pc/index.html

このURLのみ計測したい。
http://aaaa.com/pc/index.html

1つ目のフィルタは、ホスト名「aaaa.com」でフィルタし、2つ目のフィルタでリクエストURIを「/pc/」を含むでフィルタします。

フィルタの特徴として、複数のフィルタを設定した場合には、上から優先的にフィルタが適用されます。

screenshot.692

開発サイトと本番サイトでログを振り分ける

1つのトラッキングコードで本番サイトと開発サイトの両方を計測している場合には、フィルタを使って、それぞれのサイトのログを別々のビューに貯めることができます。

screenshot.693

例えば、以下のようサイトが存在する場合には、

本番サイト「localhost.com」
開発サイト「test.localhost.com」

それぞれのビューにフィルタ設定をします。

本番サイトビュー:(一致)ホスト名「localhost.com」に等しい
開発サイトビュー:(一致)ホスト名「test.localhost.com」に等しい

これを応用して、ドメインの異なるサイト別に、ログを振り分けることも可能です。

複雑なフィルタを作る場合

AND条件は、上で示したとおり、フィルタを重ね合わせればよいですが、OR条件のフィルタを作る場合には、正規表現を使う必要があります。

例えば、「/pc/」配下と「/sp/」配下を計測する場合には、 「|」(パイプ)でつないでこのように記載します。

フィルタ設定:(一致)リクエストURL「/pc/|/sp/」

その他、以下の10種類の正規表現が利用できます。詳細は、googleのヘルプに詳しく解説されているのでご覧ください。

|.*+?!()\[]

正規表現の概要 – アナリティクス ヘルプ
support.google.com/analytics/answer/1034324?rd=1

応用編「ドメイン名+ページ名」でURLのようなページ名で計測する

通常は、ドメイン名を除いたページ名のみを計測します。

http://2m3g1.com/1574.html

の場合には、

/wp/1574.html

と計測されます。

これを「ホスト名追加」フィルタを適用すると、「/wp/1574.html」というページ計測を「2m3g1.com/1574.html」と変更できます。

通常:「/wp/1574.html」
ホスト名追加フィルタ:「2m3g1.com/1574.html」

新しいフィルタで以下の設定をします。

フィールドA:ホスト名「(.*)」
フィールドB:リクエストURI「(.*)」
出力先:「$A1$B1」

screenshot.695

実際の計測データは「レポート>リアルタイム>コンテンツ」から確認できます。

応用編「ドメイン名+ページ名」でフィルタする

以下のようにURLがある場合に、(1)(4)のみを計測したいという場合に、上記設定のOR条件とAND条件では難しくなります。

(1) http://aaaa.com/pc/index.html
(2) http://aaaa.com/mobile/index.html
(3) http://bbbb.com/pc/index.html
(4) http://bbbb.com/mobile/index.html

なぜなら、aaaa.comの場合は/pc/配下のみで、bbbb.comの場合は/mobile/配下のみというANDとORを組み合わせたフィルタは1つのフィルタではできないからです。

そこで使うのが、上で紹介した「ホスト名追加」フィルタです。
このフィルタは、ページ名を計測する「リクエストURI」をホスト名追加したもので上書きするため、その後は、その上書きした内容でフィルタできます。

「ホスト名追加」フィルタを追加した「後」に

リクエストURI:aaaa.com/pc/|bbbb.com/mobile

というフィルタを作成すると、(1)(4)のみフィルタすることができます。

応用編「ドメイン名+ページ名」でフィルタする

カスタムフィールドを使用すると、URL情報だけではなく、流入経路などなんでもANDとOR条件の組み合わせでフィルタできます。
例えば、流入経路「参照元/メディア」でyahooの自然検索(organic)と、googleの有料検索(cpc)のみをフィルタリングする場合には、

参照元:yahooまたはgoogle
メディア:organicまたはcpc

としてしまうと、yahoo/cpcやgoogle/organicといった余計なものまで抽出されてしまいます。
この場合には、カスタムフィールドを使用します。

一旦、「参照元+メディア」という情報をカスタムフィールド1に格納します。

screenshot.696

続いて、カスタムフィールド1を正規表現一致させます。フィルタ一致項目を先ほどの「参照元+メディア」に変更し、yahoo/organicまたはgoogle/cpcを指定します。

フィルタ:(一致)カスタムフィールド1「yahoo/organic|google/cpc」

screenshot.697

フィルタの設定後は、今現在のアクセス状況は「レポート>リアルタイム>トラフィック」から確認できます。

ぜひ、フィルタを正しく設定して、最適な計測を行ってください。

あなたにオススメ(Amazon)

あなたにオススメ(楽天)