Закрыть
E-mail:
Пароль:
Забыли пароль?
В каталоге проекта: 12 533 веб-студии, 944 CMS, 226 406 сайтов.
РегистрацияCMS MagazineВход
CMS Magazine CMS Magazine

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 — Настройки фильтра для отсеивания трафика по брендовым запросам

Пример 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 — Настройки фильтра для выделения статистики по страницам карточек товаров

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

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

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

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

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

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

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

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

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

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

А что если в диапазоне служебных 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 — Гипотетический пример формы заявки

При этом посетители могут выбирать более одного языка в качестве желаемого к изучению. Руководство проекта поставило себе задачу узнать, как часто посетители выбирают более одного языка. Соответственно, необходимо настроить цель в 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/.

Успехов!

Автор: Илья Барменков, i-Media (Ведущий аналитик)

Комментарии экспертов

Наталья Данилова

Компания: MediaGuru
Должность: Ведущий эксперт-аналитик

Проверить работоспособность созданного выражения для URL можно в разделе «Содержание сайта» — «Все страницы» Google Analytics. Путем внесения выражения в поле фильтрации можно увидеть, какие реальные страницы сайта ему соответствуют. Регулярные выражения позволяют создать один фильтр там, где без их использования потребовалось бы три, а то и четыре. В MediaGuru ими владеет каждый технический специалист, есть даже внутренний сертификационный тест.

Понимание регулярных выражений и осознание их незаменимости приходит не сразу, данная статья внесет ощутимый вклад в культуру их использования.

Если Вы хотите дать экспертный комментарий к статьям, публикуемым на CMS Magazine, следите за анонсами материалов в нашей группе в Facebook.

Комментарии (Facebook)

Рекомендуем:

Комментарии (3)

Kat      Создано: 27.2.2013, 18:36          

По второму примеру вопрос. Зачем там использовать регулярное выражение, когда можно сказать Гуглу "покажи данные по страницам, которые содержат /catalog/mobile/". В этом случае и /catalog/mobile/apple/iphone5 и /catalog/mobile/samsung/galaxys3 будут учитываться.

Илья Барменков      Создано: 27.2.2013, 23:13          

Kat, если мы осуществим поиск просто по фрагменту "/catalog/mobile/" будут отобраны все страницы как второго (уровень бренда), так и третьего уровня (уровень карточки товара). Между тем, задача была отобрать только карточки товара без страниц второго уровня. Для этого и было использовано регулярное выражение.

Дмитрий      Создано: 19.11.2013, 23:56          

В первом примере был указан хороший способ сжимать число слов при поиске в одно. Таким образом, можно указать слов>32.

Есть минус. Нельзя так выставить слова исключения. Вернее, можно лишь выставить так слова, но не фразы. фразы google поймет за отдельные и положительные, а не исключения (отрицательные) даже, если их убрать в кавычки, или же воспользоваться выражением "\n|, или "\s" между словами в таких фразах.

Вероятно, решение есть, но нигде ничего о нем не нашел.


CMS Magazine CMS Magazine
RSS-подписка
CMS Magazine CMS Magazine
CMS Magazine