Close

Как составлять регулярные выражения для Яндекс.Метрики

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

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

Что такое Regular Expressions

Это язык поиска с использованием символов-джокеров (способных заменять собой другие символы или их группы). Они применяются для работы с подстроками и помогают сегментировать массив данных по заданным параметрам.

Как и где применяются регулярные выражения в Яндекс.Метрике:

  • Настройка цели «Посещение страницы». Если вы хотите видеть, какое количество пользователей из общего трафика сайта посетило конкретную страницу (это может быть также и регистрационная форма со своим уникальным адресом), то можно использовать регулярное выражение вместо базовых настроек вроде URL содержит или URL не содержит. Далее мы рассмотрим примеры использования регулярных выражений, которые помогут более узко сегментировать аудиторию. На посещение страницы вы сможете задать до 10 условий. Одно правильно составленное выражение =одному условию.
  • Настройка цели «Составная цель». Яндекс.Метрика предлагает отличный инструмент составной цели для отслеживания целой воронки продаж или ее части. Это комбинация посещений страниц и действий пользователя (определяется через JavaScript). Можно задать до 200 последовательных шагов пользователя. Если речь идет о крупном ecommerce проекте, то без регулярных выражений нормальную и информативную Составную цель не составить.
  • Последующая сегментация трафика. Работая с большим количеством подстрок и массивом данных от 1000 записей, недостаточно использовать системные фильтры. Регулярные выражения помогут вам разбивать аудитории по группам. Критерием может стать любой параметр, в которых фигурирует URL страницы или элемента.

В целом, основное предназначение регулярных выражений – сегментация аудитории и настройка целей по пользовательским параметрам. Если вам нужно включить в группу посетителей со страниц входа со схожим URL-ом и прочие задачи по более точной сегментации – регулярные выражения будут необходимы.

Далее рассмотрим основные операторы регулярных выражений и примеры по их использованию.

Правила работы выражений в Яндекс.Метрике

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

  1. Выражение используется к полному URL. Используя ^https:// — вы обозначите адрес страницы, который начинается с https. Это важно для тех сайтов, где страницы реализованы на разных протоколах (например, платежные формы и обычные страницы).
  2. URL автоматически применяется и к адресу, у которого есть www, и к адресу, у которого этой приставки нет. Вам не обязательно создавать два правила на один адрес страницы, добавляя или убирая приставку.
  3. Регулярные выражения Яндекс.Метрики применяются к декодированному URL страницы (к кириллическим ссылкам). Все символы, кроме /,&,=,?,#, декодируются. При декодировании вместо + ставится пробел.
  4. Punycode в кириллических ссылках не применяется.
  5. Символы, которые не декодируются, и точка не проверяются во время обработки регулярных выражений.
  6. При проверке выражений учитывается регистр.
  7. Квантификатором по умолчанию считается самая длинная строка.

Регулярные выражения Метрики с примерами использования

Ниже приведем таблицу с расшифровкой каждого специального оператора. Но остановимся более подробно на каждом с простыми примерами.

«*» (звездочка)

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

Например, «123*» — это и «123», и «123788888». Если ставить выражение «10*», то под параметры попадает и просто «1».

«.» (точка)

Заменяет один символ. В выражении «1.2» между единицей и двойкой может стоять один буквенный или цифровой символ (103, 1а2 и пр.)

Комбинация звездочки и точки («.*») означает любое количество любых символов. Эдакая бесконечность в регулярных выражениях.

Допустим, нам нужно найти все страницы (URL-ы), которые содержат слово «phones». Выражение может быть следующего вида «.*phones.*». Комбинация означает, что нам неважно, сколько символов стоит до и после искомого запроса.

«+» (плюс)

Говорит системе, что выражение перед плюсом или присутствует в искомом значении, или повторяется любое количество раз.

Например, «123+» — это и «123123», и «1236977»

 «?» (вопросительный знак)

Оператор, показывающий, что перед выражением стоит 0 или 1 предыдущий символ.

Допустим, вы задаете команду «123?». Под параметры попадают выражения «12», «123». А вот «1232» под параметр уже не попадает.

«|» (вертикальная черта)

Это аналог логического оператора ИЛИ.

В выражении «1|2» параметрам соответствуют «1» и «2».

«()» (круглые скобки)

Оператор ограничивает действие конкретного оператора или определяет его только для конкретной группы символов.

Допустим, задавая «(123)+», вы распространяете действие плюса на три группы символов. Соответствовать этому параметру будут значения «123», «123123», «123123123» и пр. Благодаря этому оператору можно находить среди массива данных те значения, которые содержат конкретную последовательность данных. Удобно при поиске товаров по коду.

«[]» (квадратные скобки)

Когда группа символов заключена в квадратные скобки, это значит, что один из них может присутствовать в искомом значении.

Допустим, выражению «[123]» будут соответствовать все подстроки, в которых содержится единица, двойка или тройка в любом количестве. Но при этом, приведенной выше команде не соответствуют строки, в которых есть комбинации нескольких символов внутри скобок. Например, не попадает под параметр «12», «13» и пр.

«-» (дефис)

Указывает на последовательность искомых символов (порядок букв по алфавиту или символов). Используется совместно с квадратными скобками.

Например, в выражении [1-4] результатом будут строки 1,2,3,4. Важно понимать, что такому оператору соответствует каждое значение внутри заданной последовательности, а не последовательность от единицы до четверки.

Важно правильно составлять выражения с двузначными символами. Заключая в квадратные скобки диапазон [1-48], вы получаете в результате строки «1», «2», «3», «4», «8», но не комбинацию от одного до 48.

 «^» (крышка)

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

Так, в выражении «^phones» результатом будут только те строки, которые начинаются с «phones». При этом дальнейшее количество символов значение не имеет.

Когда крышка используется в комбинации с «[^  ]»,то система воспринимает это выражение как обозначение тех символов, которые должны отсутствовать в результатах поиска.

Допустим, в выражении «[^123]» результатом будут любые строки, кроме тех, в которых есть единица, двойка или тройка.

В квадратных скобках с крышкой можно включать и несколько диапазонов. Например, [0-9az] включает в себя все цифры и строчные латинские буквы (помним, что Яндекс.Метрика учитывает регистры). Значит, результатом поиска будут все нецифровые символы (точки, запятые, амперсанд и пр.), строчные и заглавные кирилличные символы и заглавные латинские буквы.

Если вы ищете все строки, которые не начинаются с запроса «facebook», то команда будет выглядеть так: ^[^(facebook)]*. Такое выражение, например, можно использовать для сегментации источника трафика.

«$» (доллар)

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

Допустим, результатом выражения «phones$» будут все строки в массиве, которые заканчиваются на слово «phones».

«{}» (фигурные скобки)

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

Допустим, {6} – это любая последовательность шести символов. В фигурных скобках последовательности указываются через запятые.

Если вы хотите найти последовательности, которые содержат от 3 до 6 символов, то нужно использовать выражение «.{3,6}».

Через фигурные скобки задается также и минимально возможное количество повторений символов-членов последовательности. Например, для поиска последовательностей от трех символов, следует использовать выражение «.{3,}».

«\» (обратный слэш)

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

Например, если вам нужно найти все строки, в которых содержится «1.3», то нужно использовать обратный слэш перед точкой (иначе система преобразует ее в команду точки).

Команда будет выглядеть так «.*1\.3.*». В результат войдут все подстроки, в которых содержится последовательность 1.3. Если бы боковой слэш отсутствовал, то результатом стали бы все последовательности со случайным символом между единицей и двойкой.

С боковым слэшем используется конструкция для обозначения пробела «\s». Допустим, если вы ищете в Яндекс.Метрике ключевые запросы, которые состоят только из одного слова, их легко отсеять при помощи этой команды.

Вспомнив крышку и квадратные скобки, команда будет выглядеть следующим образом:

«^[^\s]+$».

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

^[^\s]+(\s+[^\s]+){2}$

Вместо двойки нужно подставить количество пробелов между словами. Для двух слов это будет «1», для четырех – «3» и так далее.

С боковым слэшем используется похожая внешне, но противоположная предыдущей по значению конструкция «\S». Она означает все символы, кроме пробела.

С ее помощью можно также искать все фразы без пробела. Только выражение будет выглядеть следующим образом «^\S+$».

С боковым слэшем используется также выражение типа «\d». Это идентичное диапазону [0-9] выражение, включающее в себя все цифровые символы.

Выражение «^\d{4,}$”» — это любая цифровая последовательность от четырех цифр (34567, 4567) и пр. Выражение «^\d{2}» — любые последовательности, которые начинаются тремя цифрами.

Выражение «\D» означает все символы, кроме цифровых. Может заменяться крышкой+фигурными скобками с циферной последовательностью внутри «[^0-9]»

Выражение «\w» означает любые буквенные символы из латинского алфавита, цифры или нижнему подчеркиванию.

Выражение «\W» наоборот, включает в диапазон все символы, кроме нижнего подчеркивания, цифры или буквы латинского алфавита. Оператор можно использовать для поиска фраз с кирилличными символами.

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

Ниже — полезная таблица с краткой расшифровкой всех операторов выражений.

2.png.d34f65b41a4e095c2e25fafb36f52fda.png3.png.95d67567a77737a555b518bc6687c1e7.png4.png.58b5c673ad4a2194598d2d0b0f15c8df.png5.png.90e466607cf7779984b6ae7fbef0203e.png6.png.76fddbca0c192ad03172c978725c29f3.png

Источник

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