Googleアナリティクスやタグマネージャではレポートの作成やタグの発動条件などの設定を行う際に正規表現を使うことができます。
正規表現とは文字列のパターンを特殊な記号を使って表現することです。
正規表現を使えば、使わない場合に比べて煩雑な条件設定も手軽に行うことができるようになります。
正規表現は始めはややこしく感じるかもしれませんが、使ってみると大変便利です。
ここでは、アナリティクスやタグマネージャでの実例を交えながら、正規表現を使いながらの設定例を解説します。
正規表現一致とは
正規表現とは前述のとおり、文字列のパターンを特殊な記号を使って表現することで、phpなどのプログラミング言語をはじめ、この記事で紹介するGoogleアナリティクスやタグマネージャで使うことができます。
この記事ではGoogleアナリティクスやタグマネージャで使える正規表現についてご紹介します。
他の言語と共通するものも多くありますが、異なるものもあるかもしれません。
正規表現一致では、正規表現に該当する条件を含める、もしくは除外することが可能です。
アナリティクスやタグマネージャの正規表現は次のような記号を使って表されます。
正規表現一致が使えるのは次のような場面です。
・正規表現が使えることが明示されている箇所
例:アナリティクス-アドバンスセグメント
例:タグマネージャ-トリガーの設定
・正規表現が使えることが明示されていないものの、使用可能な箇所
例:アナリティクス-アドバンスセグメント横の入力ボックス
もちろんここで挙げた例以外でも使うことができます。ではどのように正規表現を使えばよいのかご紹介します。
正規表現一覧
アナリティクスやタグマネージャの正規表現で使われる記号一覧を以下に示します。
記号 | 概要・意味 |
---|---|
| | or(もしくは) |
( ) | “|”とともに使用 |
^ | 始めの文字列を限定 |
$ | 終わりの文字列を限定 |
[ ] | [ ]の中の1文字を指定 |
– | [ ]とともに使用 |
. | 任意の1文字に変換 |
* | 直前のアイテムを0回以上繰り返す |
+ | 直前のアイテムを1回以上繰り返す |
? | 直前のアイテムを0回もしくは1回繰り返す |
初めて正規表現に触れる方は、いきなりすべて覚えるのではなく、使えそうなものから覚えてみるのがよいのではないでしょうか。
ちなみに私がアナリティクスを触る上では、or(もしくは)を示す”|”と”( )”を最もよく使っており、次点で”^”と”$”を使っている感じです。
そのほか、正規表現でできることをざっくり覚えておいて、必要になったら改めて調べてみることをおすすめします。
以下ではそれぞれについてもう少し詳しくご説明します。
orを示す”|”
たとえばアナリティクスで/service/と/aboutus/のようにserviceとaboutusのディレクトリのPVを見たいという場合には、縦棒形の記号”|”(パイプ)を使って正規表現一致に以下のように記述します。
/(service|aboutus)/
serviceとaboutusをURLに含むページがディレクトリ名以外に存在しない場合には、スラッシュという他の条件を省けますので、カッコを使わなくてもかまいません。
service|aboutus
3つ以上の条件がある場合でも並べて記述すればOKです。
service|aboutus|contact|blog
始めや終わりの文字を限定する”^”と”$”
サイト内にhttp://www.example.com/contact/とhttp://www.example.com/blog/contact/のように、コンタクトページが複数ある場合にはcontactを含むページを取得した場合に両方が取れてしまいます。
前者だけを取得する場合には始めの文字列を指定する”^”(キャレット)を使用して以下のようにします。
^/contact/
これで/contact/から始まるページだけを取得することができます。
同様に、http://www.example.com/blog/というブログトップページの下層にhttp://www.example.com/blog/111.htmlのように記事がある場合で、ブログトップページだけのデータを取得したい場合は”$”(ドル記号)を使って以下のようにします。
/blog/$
指定した1文字だけを取り出す”[]”
ECサイトなどで商品番号がURLに指定されている場合などで特定の番号だけを指定する場合には角かっこ”[]”を使うと便利な場合があります。
番号がid001のように指定されていて、3番と5番と7番だけを取り出したい場合には以下のようにします。
id00[357]
もちろんこの場合には、丸かっこと”|”を組み合わせて以下のようにしてもかまいません。
id00(3|5|7)
角かっこは”-“(ダッシュ)と組み合わせて範囲を指定することができます。
1番から9番まですべてを取り出したい場合は以下のようにします。
id00[1-9]
000番から999番までを取りだす場合には以下のようになるでしょうか。
id[0-9][0-9][0-9]
ここまでくると丸かっことダッシュを使っていたら日が暮れてしまいます。
繰り返しを示す”+”と”*”と”?”
“+”(プラス)は直前の文字やアイテムを1回以上繰り返します。
id0+1
たとえば上記のように記述すると、プラス直前のゼロが1回以上繰り返された、id01, id001,id0001…などに一致するものが該当します。
似たようなものに”*”(アスタリスク)があります。
アスタリスクがあると、直前の文字やアイテムを0回以上繰り返します。つまり、直前のアイテムは含まれていなくてもかまいません。
id0*1
たとえば上記のように記述すると、id1, id01,id001…などに一致するものが該当します。
一方、”?”(クエスチョンマーク)は直前の文字やアイテムを0回もしくは1回だけ繰り返します。
id0?1
たとえば上記のように記述すると、id1もしくはid01に一致するもののみが該当し、id001など0の繰り返しは該当しません。
“+”や”*”や”?”で指定する直前のアイテムは1文字だけでなく、丸かっこや角かっこで囲まれたアイテムでもかまいません。
id[32]?1
たとえば上記のように記述すると、id1もしくはid21もしくはid31に一致するもののみが該当します。
任意の1文字を表す”.”
“.”(ドット)は任意の一文字を表します。では以下のように正規表現を使うとどうなるでしょうか。
id00.
この場合、id001やid002はもちろん、id00aやid00Bなど、ドットが任意の1文字と置き換えられて取得されることになります。
このような役割はトランプのジョーカーになぞらえてワイルドカードと呼ばれることもあります。
正規表現で使われる記号を通常の文字列として使用する”¥”
ここまで正規表現記号をご紹介してきましたが、正規表現に使われる記号を通常の文字列として扱いたい場合もあります。
たとえばドメインやIPアドレスなどを指定する際にドットを用いますが、正規表現を用いる際にはワイルドカードとなってしまいます。
たとえば正規表現でgoogle.comと記述した場合にはgoogle1comなどにも一致してしまうことになります。(IPの場合であればたいていの場合問題にならないでしょうが・・・)
このような場合にドットなど正規表現のための記号を無効化する場合には、正規表現記号の直前に”¥”(バックスラッシュもしくは円マーク)を用いて以下のようにします。
google¥.com
このように、正規表現記号ではなく通常文字として扱うことをエスケープといいます。
なお、”¥”は文字コードによってバックスラッシュや円マークとして出力されますが、どちらでも機能するようです。
(例示目的ですので上記は全角文字を使用しましたが、実際は半角文字を使う必要があります)
正規表現一致を使った使用例
すでに簡単な例を交えて正規表現記号の使い方をご紹介しましたが、以下ではもう少し具体的な例をご紹介します。
自分もしくは特定のIPを除外する
アナリティクスでは自分や社内、もしくは制作パートナーなど、特定のIPからのアクセスを除外してカウントすることができます。
これにより、関係者のアクセスやコンバージョンテストでアナリティクスを汚す恐れがなくなります。
該当するアナリティクスビューの管理→フィルタから新規追加を選んでください。
次にフィルタの種類が「定義済み」になっていることを確認します。(デフォルトで定義済みが選択されています)
その下のプルダウンは左から順に、「除外」、「IPアドレスからのトラフィック」を選びます。
一番右の一致パターンは前方一致や後方一致など、状況にあったものを選んでください。
(たとえば複数のIPアドレスを使っていて、最後の数字だけが異なる複数のIPアドレスを除外する場合は前方一致が便利です)
その下のIPアドレスの欄に除外したいIPアドレスを記述します。
なお、ここでは残念ながら正規表現は使えないようなので注意してください。
ただし、フィルタの種類を「定義済み」の代わりに「カスタム」を選び、フィルタフィールドにはIPアドレスを選択すれば、フィルタパターンの中は正規表現が有効なようです。
特定のページやディレクトリだけを取得する
特定のページやディレクトリだけを取得するためには正規表現を使わなくてもできる場合もありますが、正規表現一致を用いないとうまくいかない場合があります。
調べたいディレクトリ名と同じディレクトリが複数存在する
例:http://www.example.com/contact/とhttp://www.example.com/blog/contact/
正規表現を用いないと、URLパラメータ内の文字列をうまく除外できない
例:/contact/ディレクトリを調べたい場合のhttp://www.example.com/blog/?path=http://www.example.com/contact/
このような場合に正規表現を用いれば、
http://www.example.com/contact/内のディレクトリだけを取得したければ
^/contact/
http://www.example.com/blog/contact/の1ページだけを取得したければ
^/blog/contact/$
のように記述すればOKです。
コンバージョンや目標達成プロセスを設定する
たとえばサイト上でフォーム入力後をして問い合わせをしたユーザー数をアナリティクスで取得したいとします。
この際、アナリティクスの管理→各ビューの目標と進み、目標を新規作成します。
目標設定のテンプレート「問い合わせ」を選択し、目標の説明では適当な名前を付けて、デフォルトの「到達ページ」になっていることを確認して次に進みます。(ここまで正規表現は関係ありません)
次に目標の詳細設定ですが、フォーム入力ページform.phpから内容を送信すると問い合わせ完了ページthanks.htmlが表示される場合は以下のように設定します。
赤枠部は言及がありませんが正規表現の記述が可能です。
これにより、たとえばフォームや問い合わせページのバージョンが複数ある場合はthanks2?/.htmlやform[1-3]/.phpとするなど、サイトの状況に沿った設定が簡単にできるようになります。
アナリティクスでドメイン名を表示する
アナリティクスはデフォルトの状態では相対パスでURL表示されます。
サブドメインなどをまたいでアナリティクスを取得している場合など、ドメイン名を表示させたい場合もあるかと思いますのでその方法をご紹介します。
該当するアナリティクスビューの管理→フィルタから新規追加を選んでください。
次にフィルタの種類を「カスタム」、ラジオボタンから「詳細」を選んでください。
表示される各項目は、それぞれ以下のように選択・記述します。
フィールド A: ホスト名
引用 A: (.*)
フィールド B: リクエスト URI
引用 B: (.*)
出力先: リクエスト URI
構成: $A1$B1
たとえば当社のドメイントップページのURLは”https://www.brain-solution.net/”ですが、フィルタ適用前のアナリティクスのデフォルトではこのページは”/”と表示されます。
一方、上記のフィルタを適用すると、”www.brain-solution.net/”のように、サブドメインを含めた形で計測されるようになります。
ただし、注意点がいくつかあります。
アナリティクスからワンタッチでページが見られなくなる
アナリティクスの解析画面でページ一覧を見ている際には、通常わきにあるボタンを押せばページを確認することができます。
ただし、フィルタを適用すると、ボタンを押した際のURLが適切でなくなるため、ボタンが使えなくなります。
ページを確認したい場合はわざわざブラウザのURL欄にコピー&ペーストを行う必要があります。
コンバージョン設定など、アナリティクス上のURLの指定の変更が必要な場合がある
たとえば、アナリティクスの目標(コンバージョン)設定などで”https://www.brain-solution.net/contact/”を指定するために”^/contact/”と設定してした場合、フィルタの使用により目標とするURLが”/contact/”から始まるものではなくなっています。
このような場合には、”^www\.brain\-solution\.net/contact/”と変更するなどの対処が必要です。
その他作成済みのセグメント等でも同様のことが起こりえますので逐一確認することが必要です。
既存のデータと別々にカウントされる
フィルタ適用前であれば、トップページのURLは”/”として扱われますが、フィルタを適用すると”www.brain-solution.net/”としてカウントされるようになります。
困ったことに、これらのデータは合算されず、フィルタを適用した日を境に別々のデータとして扱われます。
以上のことから、ドメイン名を表示させるフィルタを使う場合には新規ビューを作成して行うのがよいかもしれません。
アナリティクスやタグマネージャ正規表現まとめ
正規表現を知っていると手動で逐一設定しなくて済むようになり、解析や設定の時短ができたり、手動ではなかなか難しい条件設定が楽にできたりします。
すぐ使うかどうかはわからなくても、正規表現でどういうことができるか知っておくと、いざというときに使い方を調べるだけで生かせるのでおすすめです。
自社サイトのレポーティングにお困りの場合は
弊社に寄せられるご相談には
・レポーティングに時間が取られすぎている
・どこを指標としてみるべきか分からない
といったものもございます。
もしこうしたお悩みをお持ちの場合は無料相談会へお申し込みを!
弊社コンサルタントは貴社のお悩みを解決いたします!