Материал предоставлен https://it.rfei.ru

Фильтры «Расширенный»

Фильтры “Расширенный” — это непростое дело, потому что создать такие фильтры гораздо сложнее, чем выбрать две опции из списка и щелкнуть по кнопке Готово.

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

Создание фильтров “Расширенный”

Начало создания “расширенного” фильтра не отличается от создания любого другого типа фильтра. Щелкните по кнопке Новый фильтр. Откроется страница Добавление фильтра в профиль. Введите имя фильтра, а затем в разделе Тип фильтра выберите опцию Пользовательский фильтр.

Откроется меню пользовательского фильтра, содержащее несколько опций. Установите переключатель Расширенный, как показано на рисунке 3.9, и на странице появятся поля “расширенного” фильтра.

увеличить изображение

Рисунок 3.9. В “расширенном” фильтре для получения результата используется комбинация входных данных и регулярных выражений

У “расширенных” фильтров есть три поля, в которых вам нужно разобраться. Каждое поле состоит из двух частей: источника данных, т.е. Поля A, Поля B или поля назначения Вывод в, и регулярного выражения — Извлечь A, Извлечь B и Конструктор. Поле A и Поле B и связанные с ними поля Извлечь A и Извлечь B — это входные данные. Поле Вывод в соответствует своему названию — это данные, которые нужно изменить. В поле Конструктор используется регулярное выражение, показывающее, какие изменения нужно осуществить с данными поля Вывод в на основании входных данных из полей Извлечь A и Извлечь B.

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

Примечание

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

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

увеличить изображение

Рисунок 3.10. Вы можете выбрать значения полей из множества вариантов

Примечание

Чтобы узнать, что представляют собой все эти поля фильтра, обратитесь к справочной системе Google Analytics. (Эту информацию можно найти по ссылке Поля пользовательских фильтров)

Для Поля A выберите опцию URI запроса. Это часть URL-адреса входящей страницы после названия хоста — www.your-domain-here.com. Для данного примера это catalog.php?id=1691. Известно, что все идентификаторы — это числа, состоящие из четырех цифр. Теперь нужно ввести регулярное выражение в текстовое поле Извлечь А справа от поля, где вы выбрали опцию URI запроса. Ранее уже приводилось следующее регулярное выражение для числа, состоящего из четырех цифр:

id=(\d\d\d\d)

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

id=1(\d\d\d).

Введите это выражение в поле Извлечь A. Помните, что круглые скобки в регулярных выражениях означают, что проводится поиск части исходных данных, которые соответствуют описанному шаблону. Связь между полем Извлечь A и регулярным выражением — шаблон в круглых скобках. Какую часть регулярного выражения вы поместили в скобках, то и найдет поле Извлечь A.

Поле B не будет использоваться в данном примере, поэтому в нем останется дефис -.

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

id=.

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

id=10.

А теперь суть изменения. Вы определили три цифры после 1 в исходном идентификаторе. Теперь нужно обратиться к ним в Конструкторе.

Есть только одно множество в скобках в шаблоне для Поля A, поэтому ссылка будет выглядеть так: $А1. (Можно читать знак $ как “строка”, т.е. получается “строка А один”). Теперь нужны цифры, которые вы сохранили из поля Извлечь A:

id=10$A1

В результате получится фильтр, показанный на рисунке 3.11.

увеличить изображение

Рисунок 3.11. Вы почти закончили создание фильтра

Как это должно работать на практике? Например, идентификатор — 1691. Шаблон в поле Извлечь А находит соответствие 691 и сохраняет его в $А1. Затем Конструктор создает id=10691.

Другой пример. Идентификатор равен 2353. Ничего не произойдет, потому что выражение id=l(\d\d\d) не найдет соответствия числу 2354 вообще.

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

В данном примере поле вывода идентификатора уже существует; но нужно заменить существующее значение новым, поэтому щелкните на переключателе Да для опции Перезаписать поле вывода. Вам нужен фильтр для поиска соответствия для ID, id, Id и iD, поэтому щелкните по переключателю Нет для опции С учетом регистра. Внизу страницы выберите профили веб-сайта, к которым нужно применить фильтр, и щелкните по кнопке Сохранить.

Теперь можно несколько усложнить данный пример. Пусть есть те же числа, состоящие из четырех цифр, но, кроме идентификатора товаров (itemID), есть также идентификатор категории (catID), и выглядит это так: catalog.php?itemID=1691A&catID=2900.

Обратите внимание на то, что идентификатор товаров (itemID) теперь состоит из четырех цифр и прописной буквы, а идентификатор категории (catID) — только из четырех цифр. И теперь нужно добавить первые две цифры идентификатора категории к концу идентификатора товаров, разделив их дефисом, а также взять букву, которая находится в конце идентификатора товаров, и поместить ее впереди. Если же в URI нет идентификатора категории, то можно ни о чем не беспокоиться.

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

itemID=(\d\d\d\d)([A-Z])

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

catID=(\d\d)\d\d

После того как вы внесли эти изменения, можно поработать над выводом. Нужно модифицировать идентификатор товаров itemID: переместить букву в начало, а часть идентификатора категории — в конец (если такой идентификатор существует). Обратите внимание на то, что у вас есть два элемента из поля Извлечь A: число из четырех цифр $А1 и буква $А2.

Примечание

Когда вы создаете несколько частей регулярного выражения (с помощью нескольких множеств в круглых скобках), то запись выглядит так: $, затем А (для Поля А) или В (для Поля B), а затем число: 1 — для первого множества в круглых скобках, 2 — для второго, 3 — для третьего и т.д. Первое соответствие в поле Извлечь А — $А1, второе соответствие в поле Извлечь А — $А2. Первое соответствие в поле Извлечь B — $В1, второе соответствие в поле Извлечь B — $В2 и т.д.

Поличится itemID= плюс второе соответствие из поля Извлечь A (прописная буква), плюс первое соответствие из поля Извлечь A (число из четырех цифр), плюс тире, плюс первое соответствие из поля Извлечь B (две первые цифры идентификатора категории). Это будет выглядеть так:

itemID=$A2$A1-$B1

Поле А обязательное, а Поле B — нет. Поэтому установите переключатель Да для опции Поле А обязательно для заполнения, переключатель Нет — для опции Поле Б обязательно для заполнения, переключатель Да — для опции Переопределить поле вывода и переключатель Нет — для опции Учитывать регистр. Полученный фильтр будет выглядеть так, как показано на рисунке 3.12.

увеличить изображение

Рисунок 3.12. Расширенный фильтр для продвинутого пользователя

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

catalog.php?itemID=1234В

Здесь нет идентификатора категории catID. Поэтому не будет никакого значения $В1. Конструктор построит itemID=B1234- и дальше не пойдет. На практике подобная ситуация может быть как негативной, так и позитивной. В одном случае вам потребуется наличие Поля B, а в другом вы просто примете тот факт, что некоторые идентификаторы товаров itemID заканчиваются тире, без всякого частичного идентификатора категории catID.

Другое граничное условие: что если нет идентификатора товара itemID?

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

Фильтры «Найти и заменить»Изменение и удаление фильтров. Возможности фильтров