new

Как настраивать конверсионные стратегии: работа над ошибками. Читайте в спецпроекте

6560 https://ppc.world/uploads/images/59/a3/5e01c9e44f264-white-clock-2249964.jpg 2019-12-25 Другое ppc.world 160 31

Как через GTM в Analytics передать время активности пользователя на странице

Технический директор агентства «Кинетика» Дмитрий Еремеев рассказал, как можно посчитать, сколько пользователь находился на сайте, без опоры на метрики Google Analytics.

Если вы хотите знать точно, сколько пользователь находился на сайте, то доверять метрике Google Analytics «время нахождения пользователя на странице» не стоит. Она сильно завышена, и это происходит по разным причинам: например, из-за своеобразного подсчета уникальных визитов в GA или поведения пользователя, который может держать вкладку открытой, но активно ей не пользоваться.

Лучше посчитать данные самим — сегодня расскажем, как сделать это при помощи Google Tag Manager.

1. Создайте в GTM переменную Event Category. Имя переменной уровня данных — eventCategory.

2. Создайте переменную Event Action. Имя переменной уровня данных — eventAction.

3. Создайте переменную Event Label. Имя переменной уровня данных — eventLabel.

4. Создайте триггер GAEvent. Тип — пользовательское событие, который будет отрабатывать при отправке событий с именем GAEvent.

5. Создайте тег, который будет пробрасывать кастомные события. Он будет отправлять категорию, действие и лейбл в Google Analytics через передачу в dataLayer события с именем GAEvent:

6. Добавьте тег с типом пользовательский HTML. Триггер — All Pages, в него добавляем следующий код из этого документа.

Он будет выполняться на всех страницах.

Он рассчитывает время, в течение которого пользователь находится на открытой активной вкладке. В момент ее закрытия или смены URL страницы он отправляет ивент.

Чтобы проверить, все ли сделано правильно:

  1. Откройте страницу сайта.
  2. Побудьте на ней несколько секунд.
  3. Переключитесь на другую вкладку, а сайт оставьте открытым.
  4. Вернитесь на вкладку со страницей своего сайта, нажмите F12.
  5. Введите active_page_time в консоли и нажмите Enter.

Вы увидите, сколько секунд эта вкладка была активна. Если время не появилось, вы сделали что-то не так.

Так должен выглядеть ответ в консоли

Теперь идем в «Отчет в реальном времени» Google Analytics и в разделе «События» видим:

После этого вы сможете собрать кастомные отчеты:

В Google Analytics

в Query Explorer

фильтруя по Event Action

фильтруя по ga:eventAction==active;ga:eventCategory==time;

и сортируя по количеству сессий или пользователей.

Например, нашу статью о попадании рассылок в спам половина пользователей читала одну минуту, а вторая половина от 2 до 7:

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

То есть читатели блога открывали статью в фоновой вкладке, держали ее открытой, возвращались и быстро скроллили вниз.

Если трафика на сайте будет много и вы будете строить сложные отчеты по событиям, вы столкнетесь с сэмплированием данных в Google Analytics. Это приведет к тому, что данные в отчете будут неточными.

Если вы хотите видеть точные данные, а не просто тренды и динамику, собирайте их на стороне. Например, мы собираем сырые данные по всем хитам в Google BigQuery, чтобы получать отчеты любой сложности без искажения.

На наших проектах мы дополнительно передаем в события, которые показывают, за сколько секунд читатель проскроллил статью и на какой процент высоты страницы. С помощью этих данных мы понимаем, как именно ведет себя читатель в активной вкладке, учитывая время активного пребывания на странице. В GTM для этого есть специальный триггер.
Перейти на сайт

Комментарии 2

Авторизуйтесь, чтобы оставить комментарий.

  • Артур Чахалян

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

  • Александр

    Круто! Но мне нужно посчитать наоборот - время отсутствия пользователя на сайте. Есть решение?