Как измерить качество трафика на сайт

Недавно Google начал планомерный переход на новую версию Аналитики — Google Analytics 4 или GA App+Web. Новые аккаунты и ресурсы можно создать только в этой версии, а уже существующие ресурсы можно перевести на новые рельсы, для этого появился соответствующий пункт меню в настройках.

Но Google Analytics 4 очень серьезно отличается в метриках от своего предшественника (Universal Analytics и gtag.js), и одно из самых заметных отличий — это метрики качества трафика.

Практически с момента своего появления Google Analytics для измерения качества трафика использовал показатель отказов или BR (Bounce Rate), который показывал долю сессий в которой был отказ от работы с сайтом (“зашел и тут же ушел”). Есть несколько методов его измерения, в т.ч. измерение точного показателя отказов, то есть измерения отказов с учетом действий пользователя или времени нахождения на первой странице сайта.

Однако сейчас они резко стали неактуальными. Дело в том, что показателя отказов в Google Analytics 4 попросту нет. А на смену ему пришла новая метрика.

Доля вовлечения ER (Engagement Rate)

Доля вовлечения или показатель вовлеченности Engagement Rate — это, по существу, удельный вес целевых действий пользователя в пересчете на одну сессию одного пользователя. Впервые этот показатель был предложен маркетологами компании Social Bakers в 2013 году. Фактически это флажок для сессии, который показывает что в данной сессии была активность пользователя, говорящая о его вовлечении в работу с сайтом (или приложением) и его, пользователя, интересе к ним. В первом приближении можно сказать и так: это показатель отказов наоборот. Но не всё так просто.

Исследуем показатель вовлеченности ER

В нашей компании мы на протяжении последних трех месяцев очень внимательно рассматривали и “раскапывали” работу нового Google Analytics на первых его внедрениях, в том числе изучая сырые, несэмплированные данные, которые он сохранил в BigQuery. И вот что доподлинно известно:

Библиотека GA App+Web автоматически генерирует ряд событий, при этом есть событие user_engagement.

Событие user_engagement

или вот оно в интерфейсе Google Analytics 4 (Вовлечение — События):

Событие user_engagement

Так вот, опираться на событие user_engagement нельзя! Оно генерируется, когда пользователь просто открыл сайт или приложение и оно готово к работе. Оно будет сгенерировано при любом переданном первом пользовательском событии или даже раньше! Именно поэтому, на него лучше не опираться. Можно сказать так, это служебное событие, оно нам напрямую не дает каких ценных данных.

С другой стороны, практически у каждого события, которое автоматически генерируется GA App+Web есть параметр в наборе event.params, который называется session_engaged

Параметр session_engaged

Он принимает значения 0 или 1, но при этом является строковым параметром (это важно учитывать, если вы достаете его из данных BigQuery, ему явно нужен CAST AS INT64).

Именно этот параметр Google Analytics использует для расчета доли вовлечения.

Анализируем долю вовлечения

Как было сказано ранее, Google Analytics 4 вычисляет коэффициент вовлеченности автоматически. Но прямой зависимости у этого коэффициента со старым показателем отказов нет. Более того, исследование показало, что доля вовлечения показывает куда более нелицеприятную для маркетологов, но значительно более правдивую картину качества трафика, чем показатель отказов.

Например, смотрим на точный показатель отказов нашего сайта (с учетом времени, как у Яндекс.Метрики: 15 секунд на первой странице — это уже не отказ):

Показатель отказов 13%

И он же с разбивкой на каналы:

Показатель отказов с разбивкой на каналы

Казалось бы, шоколадные цифры качества трафика. Можно смело отдыхать и отправиться пить смачну каву в Венской опере. Ан нет!

Смотрим долю вовлечения (Отчет Источники трафика):

Доля вовлечения 53%

То есть, только половина трафика реально вовлекается в работу с сайтом! Смачна кава и Венская опера пока подождут!

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

Доля вовлечения по рекламным кампаниям

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

Таким образом, что показатель или доля вовлечения — это хорошая, качественная метрика для анализа входящего трафика.

Другие методики расчета доли вовлечения

Мы увидели, что автоматически рассчитанная доля вовлечения в Google Analytics 4 фактически является обобщением бинарного атрибута сессии, то есть сумма флажков session_engaged, разделенное на число сессий. Несмотря на этот грубоватый подход, полученный коэффициент вовлеченности хорошо показывает качество трафика в любой разбивке (по каналам, по кампаниям, по ключевым словам и т.п.).

Но никто не мешает использовать свои методики расчета доли вовлечения, если у вас есть данные в BigQuery.

Взвешенная доля вовлечения

Изначально предполагалось, что Engagement Rate — это удельный вес целевых действий пользователей в пересчете на одну сессию. Реализовать такой метод расчета довольно просто. Здесь и далее я не буду приводить SQL запросы BigQuery, они довольно громоздкие, но если вам это интересно, пишите в комментариях, я покажу наши примеры таких запросов.

Итак, для расчета взвешенной доли вовлечения (то есть, веса вовлеченности в каждой сессии) достаточно выполнить следующие шаги:

  1. Определиться с событиями, которую показывают целевую активность пользователя, например, это могут быть события page_view, scroll, click, file_download, view_search_results, video_start, события E-commerce.
  2. При группировке хитов в сессии посчитать число событий пункта 1 в пределах сессии и разделить его на общее число событий сессии. Этим самым мы получим некое число в пределах 0..1, которое и является взвешенным коэффициентом вовлечения в сессии.
  3. При группировке сессий по каналам или кампаниям взять среднее значение полученного в пункте 2 значения.

Готово.

Расчет показателя точного отказов а-ля Яндекс.Метрика

Как я говорил выше, показателя отказов в Google Analytics 4 нет. Но если он вам очень так нужен, давайте легко его посчитаем в BigQuery:

  1. При формировании подзапроса хитов создайте два дополнительных поля, например, session_start_time и session_end_time. Значение этих полей возьмите из поля event_timestamp с помощью оконной функции OVER() по партиции значения ga_session_id. В первое поле запишите первое значение окна, во второе поле — последнее значение окна с сортировкой по event_timestamp.
  2. При формировании подзапроса сессий, добавьте поле session_no_bounce, в которое запишите значение 1, если session_end_time session_start_time >= 15, и 0 в противном случае.
  3. При группировке сессий по каналам или кампаниям посчитайте SUM(session_no_bounce) / COUNT(DISTINCT ga_session_id).

Готово. Вы получили уточненный показатель отказов Bounce Rate по алгоритму, очень похожему на то, как его считает Яндекс.Метрика.

Выводы

Итак, мы видим, что на смену показателя отказов в новой Аналитике пришел показатель вовлеченности или доля вовлечения. Это хорошая, качественная метрика для анализа входящего трафика. И ею следует пользоваться. А используя сырые, несэмплированные данные в BigQuery мы можем посчитать вообще всё. Ну, или практически всё.

Удачи вам!

Добавить комментарий