Регулярные выражения в Google analytics


2013-02-17

Юрий Макаров

В Google Analytics регулярные выражения в основном используются при создании фильтров профилей, расширенных сегментов и фильтров таблиц. Как известно в Google Analytics используется частичная реализация библиотеки PCRE (Perl Compatible Regular Expressions). Другое название - анализатор PCRE. К сожалению, точный набор возможностей  PCRE в Google Analytics нигде не документирован.

При использовании регулярных выражений важно понимать, что символы бывают двух видов - литералы и метасимволы. Большинство символов считаются литералами. Например, если нужно сравнить URL со строкой seowind, то нужно просто ввести символы s, e, o и т.д. Метасимволы представляют собой исключение и имеют специальное значение и разную интерпритацию. Я собрал наиболее распространённые метасимволы в таблицу 1.

Метасимвол Описание
. Соответствует любому одному символу
* Соответствует нулю или более предыдущих элементов
[ ] Соответствует одному символу из содержащихся в квадратных скобках. Называется классом
[^ ] Соответствует одному символу из не содержащихся в квадратных скобках. Называется классом
^ Соответствует началу строки
$ Соответствует концу строки
? Соответствует нулю или одному предыдущему элементу
+ Соответствует одному или более предыдущему элементу
| Операция ИЛИ. Соответствует либо выражению до операции, либо выражению после нее
\ Символ литерализации. Позволяет использовать для сопоставления любой метасимвол как литерал
( ) Группирует символы в подстроки

Примеры регулярных выражений

Можно создавать простые регулярные выражения, пользуюсь только литералами. Но лучше всего использовать сочетание литералов с метасимволами - это дает большие возможности.

Рассмотрим пример, когда мы хотим посмотреть всех рефералов с веб-сайта www.google.com. С помощью регулярного выражения можно задать частичное ключевое слово goog в фильтре таблицы отчёта: Источники трафика -> Источники -> Весь трафик. Это слово соответствует всем элементам, содержащим подстроку goog (рисунок 1).

Фильтр таблицы с частичным соответствием

Рисунок 1. Фильтр таблицы с частичным соответствием

Но если мы хотим выделить уникальный образец, который содержит нужную строку можно использовать регулярное выражение с помощью метасимвола | (ИЛИ):

google\.(ru|com\.ua|by)

Здесь задано соответствие с литералом google, за которым следует точка (её необходимо литерализовать, т.к. это метасимвол), за которой следует ru ИЛИ com.ua ИЛИ by.

Так как в выражении используются метасимволы, то его необходимо ввести в поле "поиск соответствующего регулярного выражения в расширенном фильтре (рисунок 2).

Расширенный фильтр - ввод регулярного выражения в Google Analytics

Рисунок 2. Расширенный фильтр - ввод регулярного выражения в Google Analytics

Получаем следующую картинку - рисунок 3:

Фильтр таблицы с метасимволом ИЛИ

Рисунок 3. Фильтр таблицы с метасимволом ИЛИ

На рисунке 3 мы видим, что в отчёте присутствуют также и поддомены Google (строки 3, 5, 6, 7). Допустим, что их надо исключить. Тогда регулярное выражение поменяется на следующее:

^google\.(ru|com\.ua|by)

Этому выражению соответсвуют только рефералы, которые начинаются с подстроки google.

Следующий пример: мы хотим вывести в отчете содержание сайт -> все страницы - список страниц у которых в URL есть например параметр "status=sent". Регулярное выражение для такого случая будет следующим:

\?(status)=sent

А результат отработки данного регулярного выражения можно увидеть на рисунке 4

страницы с определенным параметром в url

Рисунок 4. страницы с параметром status=sent в url

Советы по построению регулярных выражений

  • Делайте регулярные выражения в Google Analytics как можно более простыми.
  • Постарайтесь не применять метасимвол *, так как он соответствует чему угодно. Например, если надо обнаружить соответствие любой из следующих строк: index.html, index.htm, index.php, index.aspx, index.py, index.cgi то лучше использовать регулярное выражение index\.(h|p|a|c)+.+ чем index.*
  • При любой возможности группируйте образцы, например, если нужно обнаружить расширение файла .pdf, .doc или .ppt, то используйте \.(pdf|doc|ppt), а не \.pdf|\.doc|\.ppt
  • Не забывайте литерализовать точки в именах файлов и скобки в тексте.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *