Как передать в Гугл Аналитикс, сколько пользователь активно находился на странице?

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

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

Необходим сайт, мобильное приложение, услуги по SEO или контекстной рекламе? Тендерная площадка WORKSPACE поможет выбрать оптимального исполнителя. База проекта насчитывает более 10 500 агентств. Сервис БЕСПЛАТЕН для заказчиков.

Создайте переменную Event Category

Имя переменной уровня данных — eventCategory.

Создайте переменную Event Action

Имя переменной уровня данных — eventAction.

Создайте переменную Event Label

Имя переменной уровня данных — eventLabel.

Создайте триггер GAEvent

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

Создайте тег, который будет пробрасывать кастомные события

Создаем тег, который пробросит кастомные события — категорию, действие и лейбл — в ГА через передачу в dataLayer события с именем GAEvent:

Добавьте тег с типом пользовательский HTML

Триггер — All Pages, в него добавляем следующий код:



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

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

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

  1. Откройте страницу сайта.

  2. Побудьте на ней несколько секунд.

  3. Переключитесь на другую вкладку, а сайт оставьте открытым.

  4. Вернитесь на вкладку со страницей своего сайта, нажмите F12.

  5. Введите active_page_time в консоли и нажмите Enter.

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

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

Теперь идем в «Отчет в реальном времени» Гугл Аналитикс и в разделе «События» видим:

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

В Гугл Аналитикс

В Query Explorer

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

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

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

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

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

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

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

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

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

Полный текст статьи читайте на CMS Magazine