Google Analyticsでは、様々な場所で正規表現が使えます。
正規表現を理解すると複雑な集計が簡単に行えたりします。特にWEBマーケッターやブロガーなど、数字分析が重要な方はぜひ覚えておくと良い技術です。
その中でもこれだけ知っておくと分析などで便利に使える正規表現をご紹介します。
正規表現を使うと楽になる場合は?
正規表現の使い方はこの後記載しますが、どういった風に使えるかを少し触れたいと思います。
例えばランディングページの分析で、「hoge」ディレクトリの中にindex.html、index2.html、index3.htmlの3ファイルが存在する場合に、index.htmlとindex3.htmlの数字だけを見たい場合の集計方法を考えたいと思います。
正規表現を使わない場合
正規表現を使わない場合は「アドバンス」をクリックし、/hoge/ページを集計対象とし、/hoge/index2.htmlを除外すると対象のファイルの数字のみが分析できます。
正規表現を使う場合
これを正規表現で表現する場合は、「含む」を「正規表現一致」に変更し、以下のように記述します。除外上限は必要ありません。
- /hoge/(index|index3)\.html
これぐらいなら正規表現を使う必要も無いと思う方もいるかもしれませんが、もし「hoge」ディレクトリの中に10ファイル存在し、その内3ファイルの数字だけ見たい場合は?と、複雑な集計対象になればなるほど正規表現が力を発揮します。
Google Analyticsの目標設定など、集計条件の記述に制限がある場合は、なおさら正規表現が必要となってくると思います。
前方一致・後方一致・部分一致
実際の正規表現の内容について触れて行きたいと思います。
まず「前方一致・後方一致・部分一致」は基本的なものとなります。難しくは無いのですぐに覚える事ができると思います。
前方一致
名前の通り前方から一致させる場合に使う正規表現で「^」を頭に付けます。
- ^/hoge/
/hoge/index.htnl、/hoge/aaaa/は集計対象となりますが、/aaa/hoge/は集計対象外となります。
後方一致
こちらは末尾を一致させる場合に使う正規表現で「$」を最後に付けます。
- /hoge/$
/hoge/index.htnl、/aaa/hoge/は集計対象となりますが、/hoge/aaaa/は集計対象外となります。
完全一致
指定した文字列と同じ場合に集計対象となります。「^」を頭に付け「$」を最後に付け、前方一致と後方一致を同時に指定します。
- ^/hoge/$
/hoge/は集計対象となりますが、/hoge/index.htnl、/aaa/hoge/、/hoge/aaaa/は集計対象外となります。
部分一致
指定した文字列がどこかに入っていれば集計対象となります。前方一致や後方一致を指定していなければ部分一致となります。
- /hoge/
/hoge/、/hoge/index.htnl、/aaa/hoge/、/hoge/aaaa/は、全て集計対象となります。
複数のファイル名を集計対象とする方法
最初の事例でも紹介した複数のファイル名を集計する場合の正規表現です。()で括った中を「|」で区切ります。「|」はor条件を表し()でグループ化しています。
事例でも示した/hoge/ディレクトリの、index.htmlとindex3.htmlファイルを集計する場合は以下のように記述します。
- ^/hoge/(index|index3)\.html$
少し補足をしますと「.」は、正規表現上任意の1文字という意味があります。その意味を「\」を前方に付ける事で無効化できます。
この場合は付けなくてもほとんど問題がありませんが、例えば「index5html」というアクセスが許可されていると、そのアクセスも対象となってしまいます。
ディレクトリとindex.htmlを集計する場合
サーバーでは「/hoge/」のディレクトリアクセスと「/hoge/index.html」のアクセスを許可しているケースもあると思いますが、この2つのアクセスのみを集計したい場合の記述方法です。
- ^/hoge/(|index\.html)$
「(|」とする事で「/hoge/」の後ろは何も無いアクセスを集計対象しています。
違うディレクリ場所にある複数ファイルを集計対象とする方法
/hoge/aaa/ディレクトリと、/hoge/aaa/ccc/aaa/ディレクトリのファイルを集計する場合です。
「/aaa/$」でも集計できますが、/test/aaa/なども存在していると仮定し、ピンポイントで2つのディレクトリを集計した場合です。
ここでは「.*」のワイルドカードを使います。「.」は任意の一文字を表し「*」は直前の文字が0回以上出現する場合という意味を表します。その為「.*」は任意の文字が0回以上出現する場合となります。とても便利なので「.*」をセットで覚えておくと良いかと思います。
今回の場合はこれを使うと以下のように記述できます。
- ^/hoge/.*aaa/$
こうすると「.*」は任意の文字が0文字以上なので、「.*」は空白でも良いとなりますので「/hoge/aaa/」も対象となります。
少し例としてわかにくかったかもしれませんが、以下のようなディレクトリやファイルが入り混じっての集計をしたい場合などは、今まで紹介した方法も組み合わせて記述する事ができます。
- ^/hoge/.*(aaa/|bbb/|ccc/xxx/|ddd/test\.html)$
この条件で集計されるファイル群を、正規表現を使わず集計しようとするとどれほど困難かを想像いただければ正規表現の便利さがわかっていただけると思います。
Googla Analyticsで正規表現が使える場所は?
Google Analyticsでは、表示を絞り込めるほとんどのページで使用可能です。
他にもセグメントの条件設定でも利用できます。
カスタムレポート内の条件設定でも利用できます。
目標設定でも利用できます。
Google Analyticsでは色々な個所で利用できますが、GAのレポートではほとんど正規表現は利用できません。探索では利用ができるのでそちらで詳細なレポートは分析していく事になりそうです。
最後に
今回Google Analyticsの正規表現に触れましたが、JavaScriptやPHPなど様々なプログラムでも正規表現は利用されています。表記方法が違う場合もありますが、基本は同じような考え方です。
Google Analyticsは簡素な事しかできませんが、初めて正規表現に触れるには凄く入りやすいと個人的には感じています。ぜひご興味ある方はGoogle Analyticsで、正規表現の世界に触れてみてください。