В ранее опубликованной статье по созданию своего параметра вовлеченных сессий в комментариях мне задали вопрос:
Можно ли как-то настроить кол-во просмотренных страниц после которых срабатывает триггер? Чтобы значение было больше 2х
Егор
На самом деле у моих коллег уже есть подобные статьи и изначально я хотел сослаться на них, но, как оказалось, коллеги используют для подсчёта такого параметра cookie, что в текущих реалиях не очень целесообразно из-за их возможной блокировки (по разным причинам), да к тому же может увеличить кол-во лишнего кода, тегов или переменных GTM. Поэтому давайте реализуем это через сессионное хранилище sessionStorage. Сделать это мы сможем в два простых шага.
Шаг 1. Создадим тег со счетчиком страниц за визит
- Тип тега — Пользовательский HTML;
- Триггер — все страницы.
В поле для вставки кода копируем этот скрипт (как обычно, что делает отдельный кусок кода я написал в комментариях прямо в нем):
<script> // Проверка поддержки sessionStorage в браузере if (typeof sessionStorage !== 'undefined') { // Проверка, есть ли сохраненное значение количества просмотренных страниц в sessionStorage var pageCount = sessionStorage.getItem('pageCount'); if (!pageCount) { // Если сохраненного значения нет, устанавливаем начальное значение pageCount = 1; } else { // Если сохраненное значение есть, увеличиваем на 1 pageCount = parseInt(pageCount) + 1; } // Запись нового значения в sessionStorage sessionStorage.setItem('pageCount', pageCount); // Отправка значения в переменную GTM dataLayer.push({ 'event': 'pageViewCounter', 'pageCount': pageCount }); } </script>
При фиксации просмотра страницы код будет отправлять на уровень данных событие pageViewCounter и переменную pageCount со значением количества просмотренных страниц за сеанс/визит. В GTM будет так:
Шаг 2. Создаем переменную с количеством страниц сеанса
Все что нам остается сделать — это создать переменную с типом «Переменная уровня данных» и именем pageCount.
Больше никаких скриптов не требуется. Переменная сама затрется по окончанию визита. Теперь её можно использовать в триггерах в качестве любого условия активации связанного с количеством просматриваемых страниц. К примеру, в триггере для подсчета активных сеансов это могло бы выглядеть так: