5 примеров использования регулярных выражений в Google Analytics

Содержание

5 примеров использования регулярных выражений в Google Analytics

Существует масса приемов для работы с Google Analytics, которые значительно облегчают и ускоряют работу с отчетами, а также настройку самой системы. Чтобы начать использовать такие приемы, как правило, приходится некоторое время почитать документацию на просторах Интернета или посты в тематических блогах. Однако потраченное время с лихвой окупается возрастающей эффективностью работы с данными. Одним из таких приемов, рекомендуемых к обязательному обучению, является использование регулярных выражений.

Регулярные выражения — крайне полезный инструмент, который можно использовать в Google Analytics для фильтрации данных, создания сегментов с расширенными настройками, задания целей. Не будем в данной статье заострять внимание на теоретической базе — при необходимости поисковики выдадут много полезной информации в ответ на запросы «регулярные выражения», «regexp», «регулярные выражения синтаксис». Давайте сегодня поговорим лишь о практической стороне их использования и рассмотрим 5 реальных примеров использования регулярных выражений при работе с данными в Google Analytics.

Пример 1. Выделяем небрендовый поисковый трафик

Допустим, у вас есть интернет-магазин, который называется «goodshop.ru». Посредством Google Analytics вы хотели бы отделить поисковый трафик по запросам, не содержащим названия вашего магазина, от брендового поискового трафика. Отслеживание динамики изменений небрендированного трафика — один из способов оценки эффективности мер по SEO-оптимизации сайта. Для решения данной задачи можно создать в Google Analytics персонализированный отчет с назначенным фильтром, который будет отсеивать брендовые запросы. Всевозможных вариантов написания названия вашего магазина может быть очень много (не забудьте про опечатки и неверную раскладку клавиатуры). Использование регулярного выражения избавит от необходимости плодить поля фильтра для каждого из вариантов.

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

goodshop|гудшоп|good shop|гуд шоп|good-shop|пщщвырщз

Используемые спецсимволы:

| — символ действует по принципу логического оператора ИЛИ

Формируя данное регулярное выражение, мы просто перечисляем все основные возможные варианты запросов, относящихся к названию вашего магазина, для исключения их из отчета. И не забудьте установить тип соответствия на «Регулярное выражение» при настройках фильтра.

Рис.1 — Настройки фильтра для отсеивания трафика по брендовым запросам
5 примеров использования регулярных выражений в Google Analytics

Пример 2. Выбираем определенную категорию страниц на сайте

Порой при изучении статистики по взаимодействию посетителей с содержанием сайта необходимо выделить определённую группу страниц для проведения анализа. Например, сравнить по показателям вовлечения страницы из определенного раздела каталога. Пусть у нас есть сайт по продаже различных электронных гаджетов. На сайте есть раздел по мобильным телефонам с трехуровневой иерархией:

1-ый уровень — главная страница подкаталога по мобильным телефонам:

/catalog/mobile/

2-ой уровень — собраны мобильные телефоны определенных брендов:

/catalog/mobile/apple

/catalog/mobile/samsung

/catalog/mobile/htc

3-ий уровень — непосредственно карточки товаров:

/catalog/mobile/apple/iphone5

/catalog/mobile/samsung/galaxys3

/catalog/mobile/htc/desirev

Нам необходимо в отчете по содержанию Google Analytics выделить только страницы карточек товаров.

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

/catalog/mobile/.+/.+

Используемые спец.символы:

— обозначает любой символ: знак препинания, букву, цифру.

— обозначает количество повторений предыдущего символа: 1 раз и более.

В данном случае, сочетание спец.символов .+ обозначает любую строку, состоящую хотя бы из одного произвольного символа. Имея четкую структуру сайта, мы знаем, что URI карточки товара состоит из четырех фрагментов, разделенных слэшом. Четко задать в регулярном выражении нам необходимо лишь первые два из них, так как нам необходимы страницы только из раздела по мобильным телефонам. При этом мы знаем, что в карточке товара мобильного телефона непременно присутствуют еще две части: бренд и модель. Их-то мы и задаем с помощью использования двух комбинаций.+, разделенных слэшом. Таким образом, мы определили шаблон адреса страницы карточки товара, который и копируем в поле фильтра отчета.

Рис.2 — Настройки фильтра для выделения статистики по страницам карточек товаров
5 примеров использования регулярных выражений в Google Analytics

Пример 3. Исключаем трафик по диапазону служебных IP-адресов из общей статистики

Скорей всего, многим уже известно святое правило — служебный трафик необходимо исключать из профилей Google Analytics с помощью фильтров, чтобы статистика о поведении онлайн аудитории оставалась чистой. Какое регулярное выражение необходимо указать в настройках фильтра для исключения статистики посещения для диапазона IP-адресов?

Пусть некоторому интернет проекту соответствует пул служебных IP-адресов: от 13.123.12.121 до 13.123.12.126. Как будет выглядеть виртуальное выражение для фильтрации по данному диапазону?

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

13\.123\.12\.12[1-6]

Используемые спец.символы:

\ — символ, который экранирует спец.символы регулярных выражений. Мы помним, что язык регулярных выражений включает в себя набор специальных метасимволов, которые задают логику поиска информации. Для того, чтобы такой метасимвол воспринимался как обычный фрагмент текста, и необходимо экранирование. В данном случае мы хотим, чтобы точка в выражении воспринималась именно как точка, а не метасимвол.

[ ] — квадратные скобки определяют последовательность символов, один из которых может присутствовать на данной позиции. В случае цифр через «-» можно задавать диапазон цифр, каждая из которых может оказаться в качестве символа в строке.

В данном случае мы создали шаблон для поиска IP-адресов, которые отличаются друг от друга только последней цифрой, меняющейся в заданном диапазоне. Остается только перенести данное выражение в поля фильтра с соответствующими настройками.

Рис.3 — Настройки фильтра для отсеивания трафика по диапазону служебных IP-адресов
5 примеров использования регулярных выражений в Google Analytics

А что если в диапазоне служебных IP-адресов будет меняться не одна цифра, а две? Например, в случае набора IP-адресов от 13.123.12.121 до 13.123.12.132. Тогда в регулярном выражении нам необходимо задать логику изменения уже двух символов, и выглядеть оно может следующим образом:

13\.123\.12\.1(2[1-9]|3[0-2])

В данном выражении мы задаем логику изменения уже двух последних цифр. В нем добавился еще один спец.символ — округленные скобки.

( ) — используются по аналогии с математикой для группировки элементов и ограничения области действия операторов.

Если в данном выражении убрать круглые скобки, то область действия спец.символа распространится на все выражение, и оно будет соответствовать строкам: «30», «31», «32». Круглые скобки в данном случае позволяют ограничить область действия двумя последними символами, оставляя предшествующую им часть неизменной для всех подходящих под выражение вариантов.

Пример 4. Отслеживаем выполнение целевых действий на сайте

Иногда регулярные выражения могут пригодиться при настройке целей в Google Analytics. Возьмем в качестве примера сайт школы иностранных языков, которая предлагает своим слушателям курсы по четырем иностранным языкам. На сайте присутствует форма заявки, которую посетители могут отправлять с указанием иностранного языка для изучения.

  • Рис.4 — Гипотетический пример формы заявки
5 примеров использования регулярных выражений в Google Analytics

При этом посетители могут выбирать более одного языка в качестве желаемого к изучению. Руководство проекта поставило себе задачу узнать, как часто посетители выбирают более одного языка. Соответственно, необходимо настроить цель в Google Analytics. После отправки заявки отображается страница с одним из следующих URI.

/order?lang=eng

/order?lang=eng&esp

/order?lang=eng&esp&ita

/order?lang=eng&esp&ita&fra

Очевидно, что в настройках цели необходимо указать регулярное выражение, которое будет соответствовать трем последним URI.

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

/order\?lang=.{3}&

Используемые спец.символы:

{ } — в фигурных скобках можно указать количество повторений предыдущего символа. Соответственно, комбинация символов .{3} обозначает последовательность любых трех символов. В нашем случае, три символа — это обозначение языка. Не забываем экранировать знак вопроса, который также является спец.символом регулярных выражений.

Таким образом, регулярное выражение будет соответствовать всем URI, в которых после знака равно идут три символа с последующим знаком амперсанта. Данные страницы и показываются в тех случаях, когда в отправленной форме указано более одного языка. Что и требовалось отследить.

Пример 5. Выбираем страницы с контентом на иностранном языке

На некотором сайте контент представлен сразу на нескольких языках — русском, английском, немецком и итальянском. Страницы на русском языке имеют стандартные URL-адреса, а в адресах страниц на других языках в конце через слэш добавляется обозначение языка контента:

www.site.ru/about

www.site.ru/about/en

www.site.ru/about/it

www.site.ru/about/de

Необходимо написать регулярное выражение, с помощью которого можно было бы отфильтровывать все страницы сайта на иностранном языке. Просто вбить в поле фильтра обозначение языка мы не можем, так как в этом случае будут отобраны и подобные страницы на русском языке, которые нам в статистике не нужны:

www.site.ru/about/encounter

www.site.ru/about/dell

Соответственно, в нашем регулярном выражении должен быть специальный символ, который обозначит, что мы ищем необходимый нам фрагмент именно в конце строки.

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

(/en|/it|/de)$

Используемые спец.символы:

— обозначает, что искомый фрагмент должен непременно находиться в конце строки.

После применения фильтра с таким регулярным выражением в отчете по содержанию отобразятся только те страницы, у которых в конце URL стоит обозначение языка контента, то есть все страницы на иностранных языках. Что и требовалось получить.

Хороший инструмент для проверки созданных регулярных выражений поможет в их освоении. Можно использовать, например, этот: http://regexpal.com/.

Успехов!