Google Analyticsの正規表現フィルターを作成してテストする方法(例を含む)

正規表現RegexGoogleAnalyticsフィルター

ここにある私の記事の多くと同様に、私はクライアントのためにいくつかの調査を行い、それについてここに書きます。 正直なところ、いくつかの理由があります…まず、私はひどい記憶を持っており、情報を得るために自分のWebサイトをよく調べているからです。 XNUMXつ目は、情報を検索している可能性のある他の人を支援することです。

正規表現(Regex)とは何ですか?

正規表現は、テキスト内の文字のパターンを検索および識別して、テキストに一致または置換するための開発方法です。 最新のプログラミング言語はすべて正規表現をサポートしています。

正規表現が大好きです(正規表現)しかし、彼らは学び、テストするのに少しイライラしたり、腹立たしいことがあります。 Googleアナリティクスには、正規表現を使用してビューを作成したり、正規表現内でデータをフィルタリングしたりできる、いくつかのすばらしい機能があります。

たとえば、タグページのトラフィックだけを表示したい場合は、次を使用してパーマリンク構造の/ tag /をフィルタリングできます。

/tag\/

そこでは構文が重要です。 「タグ」を使用した場合、タグという用語が含まれるすべてのページが表示されます。 「/ tag」を使用した場合、タグで始まるURLは次のように含まれます。 / tag-management Google Analyticsは、デフォルトで正規表現の後に任意の文字を含めるためです。 したがって、次のスラッシュが含まれていることを確認する必要があります…ただし、エスケープ文字が含まれている必要があります。

ページフィルター正規表現

正規表現構文の基本

構文 説明
^ で始まる
$ で終わる
. 任意の文字のワイルドカード
* 前の項目がXNUMX個以上
.* の任意の文字に一致します
? 前のアイテムのXNUMX回またはXNUMX回
+ 前のアイテムのXNUMX回以上
| OR演算子
[abc] Aまたはbまたはc(任意の数の文字にすることができます)
[az] aからzの範囲(任意の数の文字にすることができます)
[AZ] AからZの範囲(大文字)
[0-9] 0から9の範囲(任意の数にすることができます)
[a-zA-Z] aからZまたはAからZの範囲
[a-zA-Z0-9] すべての英数字
1 {} 正確に1つのインスタンス(任意の数にすることができます)
{1-4} 1〜4インスタンスの範囲(任意の数にすることができます)
{1、} 1つ以上のインスタンス(任意の数にすることができます)
() ルールをグループ化する
\ 特殊文字をエスケープする
\d 数字
\D 数字以外の文字
\s 空白
\S 空白以外
\w Word
\W 単語以外(句読点)

GoogleAnalyticsの正規表現の例

だから、いくつかの例をそこに出しましょう カスタムフィルタ. 同僚の XNUMX 人が、次のパスを持つ内部ページを特定するための支援を求めてきました。 / index パーマリンクでその年とともに書かれたすべてのブログ投稿に加えて:

フィルタフィールドRequestUrlのカスタムフィルタパターン:

^/(index|[0-9]{4}\/)

これは基本的に、/ indexまたは末尾のスラッシュで終わる4桁の数値パスを探すことを示しています。 Analyticsでビューを作成し、これをフィルターとして追加しました。

GoogleAnalyticsビューフィルター

さらにいくつかの例を示します。

  • URLパーマリンクパスに年が含まれるブログがあり、リストを任意の年にフィルタリングしたいとします。 したがって、4桁の数字の後にスラッシュを続ける必要があります。 URlフィルターパターンを要求する:

^/[0-9]{4}\/

  • タイトルにあるすべてのページを比較したい 証明書 or プロフェッショナル認定 それである。 ページタイトルフィルターパターン:

(.*)certificat(.*)

  • 渡されたキャンペーンメディアに基づいてXNUMXつのランディングページを比較したい GoogleAnalyticsキャンペーンのURL utm_medium =として ダイレクトメール or 有料検索.

(direct\smail|paid\ssearch)

  • URLパスに基づいて、メンズシャツであるすべての商品を比較する必要があります。 URlフィルターパターンを要求する:

^/mens/shirt/(.*)

  • 番号で終わるURLパスに番号が付けられたすべてのページを比較する必要があります。 URlフィルターパターンを要求する:

^/page/[1-9]*/$

  • ある範囲のIPアドレスを除外したい。 IPアドレスフィルターパターンを除外する:

123\.456\.789\.[0-9]

  • クエリ文字列success = trueに基づいて送信が成功したthankyou.htmlページを含める必要があります。 URlフィルターパターンを要求する:

thankyou\.html\?success=true

正規表現をテストする方法

Google Analytics内で試行錯誤するのではなく、私はしばしば 正規表現101、正規表現をテストするための素晴らしいツールです。 構文を分解し、正規表現の詳細を提供します。

正規表現regex101

正規表現のビルド、テスト、およびデバッグ

どう思いますか?

このサイトはAkismetを使用して迷惑メールを減らします。 コメントの処理方法を学ぶ.