Предлагаю рассмотреть использование Google Tag Manager для отслеживания нестандартных целей и их фиксации в Google Analytics.
Вы наверное знаете, что в Google Analytics есть возможность настройки цели для фиксации просмотров более N страниц посетителем. В этом случае Google Analytics зафиксирует достижение цели если будут просмотрены N любых страниц одним посетителем. Но как быть если необходимо настроить Google Analytics для фиксации просмотров определенных N страниц, или скажем фиксировать событие через каждые N страниц?
Такую задачу можно решить через Measurement Protocol, но это потребует работы с исходным кодом сайта. Давайте попробуем с вами использовать для этих целей Google Tag Manager. Его использование полностью не исключает потребности в знании JavaScript, но позволяет решит задачу с меньшими временными затратами. Итак, приступим.
Первым делом опишем алгоритм работы:
- определяем страницы сайта, на которых нам необходимо фиксировать нужные нам просмотры страниц;
- настраиваем cookie в Google Tag Manager;
- настраиваем фиксацию просмотров страниц определенных в п. 1 через cookie;
- настраиваем проверку значений cookie и передачу данных в Google Analytics.
Имея на руках план действий, начинаем его реализовывать. Я буду рассматривать настройку на примере своего блога «Все о веб-аналитике и оптимизации конверсии«.
Поскольку мне нравится Google Tag Manager мне интересна следующая цель — «Два и более просмотра страниц о Google Tag Manager посетителем блога в процессе одного посещения». Такими страницами у меня являются страницы содержащие в URL следующий фрагмент строки «google-tag-manager».
На этом первый этап можно считать оконченным и перейти ко второму. Подробно вопрос настройки cookie в Google Tag Manager, я уже рассматривал, прошу за информацией обратиться к более раннему материалу. По итогам выполнения второго этапа у вас в Google Tag Manager должен быть контейнер содержащий функции JavaScript для работы с cookie и активируемый на каждой странице сайта.
Третий и четвертый шаг разберем подробнее.
Мы подошли к фиксации просмотра нужных нам страниц, создадим новый тег типа «Пользовательский тег HTML», содержимое тега должно быть следующим:
1 2 3 4 5 6 7 8 9 10 |
<script> var counter = get_cookie( 'counter' ); if ( counter != null ){ counter++; } else { counter = 1; } set_cookie( 'counter', counter ); </script> |
Оно схоже с тем, которое рассматривалось в материале про настройку cookie. Обратите внимание что функция установки cookie используется без 3 параметра задающего время «жизни» cookie, это значит, что текущая cookie будет удалена как только пользователь закроет браузер. Можно указать параметр в 30 минут, это время в течении которого длится посещение в Google Analytics.
Теперь важный шаг, необходимо указать страницы, на которых мы будем активировать создаваемый тег. Используем блок «Активация правил» в правой части экрана.
Нажмите «Добавить», затем выберите переключатель «Создать новое правило», в условиях сопоставления в моем случае необходимо указать «url» содержит «google-tag-manager», после ввода всех настроек нажмите «Сохранить»:
После всех манипуляций должно получиться примерно то, что вы видите на картинке внизу. Теперь сохраните тег, нажав на кнопку «Сохранить» в нижней части экрана.
Теперь можно создать версию контейнера и опубликовать ее (подробнее об этом в материале о настройке Google Tag Manager).
Рекомендую проверить, срабатывают или нет должным образом созданные теги, для этого можно и нужно использовать встроенный отладчик Google Tag Manager, а также убедиться, что устанавливаются заданные cookie, для этого смотрим параметры в «Инструментах для разработчика» браузера Chrome.
У меня это выглядит примерно так:
Как видно из списка доступных cookie нужной мне с именем «counter» нет. Причина в том, что тег работы с cookie выполняется раньше тега задающего функции. Получается, что на момент вызова нужной функции она еще не определена, это приводит к ошибке и отсутствию ожидаемого результата. Как исправить положение дел?
Необходимо дополнить тег, в котором я заданы функции для работы с cookie 3 строками, разместив их в самом низу:
1 2 3 |
<script> dataLayer.push({'event': 'cookie_js_loaded'}); </script> |
После чего добавить правило активации тега ответственного за фиксацию просмотра нужных страниц:
Подробнее о настройке последовательности (порядка) выполнения тегов Google Tag Manager читайте в этом материале.
После выполнения указанных рекомендаций у меня все заработало как надо:
На этом 3 этап завершен, приступим к четвертому, на котором настроим передачу данных в Google Analytics. Я буду фиксировать событие, как только пользователь просмотрит две страницы о Google Tag Manager, поскольку это позволит в последствии настроить цель в Google Analytics основанную на событии.
Итак, создаем новый тег типа «Google Analytics» или «Universal Analytics (beta)», указываем имя и идентификатор отслеживания:
Тип отслеживания выбираем как «Событие», обязательно задаем «Категорию» и «Действие»:
Затем нужно задать правила активации тега. Нажмите кнопку «Добавить»:
В открывшемся окне выбираем «Создать новое правило» и задаем следующие критерии:
В качестве «event» у меня указано «cookie_gtm_set», это событие происходит после установки cookie в соответствующем теге. Я добавил его, чтобы выстроить порядок обработки тегов в нужной мне последовательности, что также позволяет сократить список задаваемых правил.
После этого справа от «cookie_gtm_set» нажимаем «+» и добавляем еще один критерий. Значение макроса «{{counter}}» равно «2». но поскольку изначально такого макроса в списке нет, создадим его:
В появившемся окне заполняем все поля. Для моей задачи это выглядит так:
Поясню что происходит. Переменной «counter» присваивается значение cookie с аналогичным именем, после чего полученное значение записывается в макрос «{{counter}}».
Теперь список правил выглядит так:
Сохраняем изменения в теге, создаем версию и публикуем ее. Для контроля переходим в Google Analytics в группу отчетов «В реальном времени» и смотрим фиксируется ли созданное событие:
Теперь можно перейти в административную часть Google Analytics и создать цель на данное событие:
После всех манипуляций вы найдете информацию в отчетах Google Analytics и будете знать сколько посетителей просматривают на вашем сайте больше N раз определенные страницы, рубрики и т.п.
Возможно описанный процесс немного сложен для восприятия, но на самом деле он достаточно прост после практики и понимания того, что и как работает в Google Tag Manager.
Если вам нужна помощь в настройке Google Tag Manager можете обратиться ко мне, я готов помочь вам в этом. Мне важно знать ваше мнение о моих публикациях, прошу высказываться в комментариях по сути материалов.