Сбор событий Universal Analytics в Google Analytics 4
Несколько дней назад в GA4 появилась новая функция - Сбор событий Universal Analytics. Она позволяет собирать события, которые настроены под Universal Analytics, и корректно обрабатывать их в Google Analytics 4. О том, как это работает, подробнее в этом материале.
Обновление (февраль 2022): я выпустил электронное руководство по Google Analytics 4. Бесплатно скачать его можно в формате .PDF по ссылке.
Типы обращений
Как вы знаете, в новом счетчике Google Analytics любое отслеживаемое обращение - это событие. В официальной документации Google даже приведена сводная таблица, в которой сопоставляются различные типы обращений в двух разных системах:
Если в Universal Analytics существует несколько типов обращений (просмотр страницы, событие, социальное взаимодействие, транзакция электронной торговли, пользовательское время, исключение, просмотра экрана приложения), то для Google Analytics 4 это все отслеживается как события.
Новая настройка Сбор событий Universal Analytics (Collect Universal Analytics events) позволяет регистрировать в GA4 такие типы обращений из Universal Analytics (analytics.js), как: событие (event), пользовательское время (timing) и исключение (exception). Для этого ее необходимо активировать.
Включение сбора событий Universal Analytics
Чтобы включить Сбор событий Universal Analytics в Google Analytics 4, перейдите на уровень ресурса в раздел Потоки данных и выберите свой Веб-поток:
После этого кликните на меню Дополнительные настройки добавления тегов внизу окна:
В разделе Настройки событий включите переключатель Сбор событий Universal Analytics:
На этом настройка завершена. Теперь давайте на примерах разберем какие типы обращений Universal Analytics будут отслеживаться и передаваться в Google Analytics 4 после включения данной опции.
Тип обращения "Событие"
В зависимости от библиотеки, которую вы используете на своем сайте, конструкция типа обращения Событие для Universal Analytics может иметь вид:
- для analytics.js:
1 |
ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [nonInteraction]); |
- для gtag.js:
1 2 3 4 5 6 |
gtag('event', '<eventAction>', { 'event_category': <eventCategory>, 'event_label': <eventLabel>, 'value': <eventValue>, 'non_interaction': true }); |
, где:
- eventCategory (Категория события, обязательный параметр) – общее имя для группы объектов, которое нужно отслеживать. Например: кнопка, форма, ссылка и т.д.;
- eventAction (Действие по событию, обязательный параметр) – определяет тип взаимодействия пользователя с объектом сайта. Например: клик, просмотр, загрузка и т.д.;
- eventLabel (Ярлык события, необязательный параметр, но рекомендуемый) – это категория (группа), к которой относится отслеживаемый объект. Например: «навигационное меню»;
- eventValue (Ценность события, необязательный параметр) – целочисленное значение, которое можно использовать для предоставления данных о событии пользователя, например: «время, сумма транзакции, прохождение n-ого уровня в игре и т.д.»
- nonInteraction / non_interaction (без взаимодействия, необязательный параметр) - может принимать значение true или false. Если передается true, то это событие никак не повлияет на параметры и показатели в отчетах Google Analytics, в том числе и на показатель отказов.
В эти компоненты вы можете добавлять произвольные названия, как по-английски, так и на кириллице. В Universal Analytics это делается на уровне представления, в разделе Цели.
Статистика по событиям в Universal Analytics представлена в разделе Поведение - События - Лучшие события.
В Google Analytics 4 нет вышеописанных компонент (Категория, Действие, Ярлык, Ценность), для него используется только глобальный тега сайта (Global Site Tag, gtag.js), а сама конструкция имеет вид:
1 2 3 4 5 |
gtag('event', '<event_name>', { '<parameter_1_name>': <parameter_1_value>, '<parameter_2_name>': <parameter_2_value>, '<parameter_3_name>': <parameter_3_value>, }); |
Если сопоставить компоненты UA и GA4, то получится:
- <eventAction> (Действие) в Universal Analytics сопоставляется с <event_name> (Название события) в Google Analytics 4;
- <eventCategory> (Категория), <eventLabel> (Ярлык), <eventValue> (Ценность) и их значения передается как параметры события в виде пары ключ:значение.
Разберем это на конкретном примере. Предположим, вы отслеживаете на сайте клик по кнопке:
Причем делаете это напрямую, без использования Google Tag Manager. У вас установлен счетчик Universal Analytics (analytics.js). Тогда при таких исходных данных и текущей библиотеки вам необходимо использовать следующую конструкцию для события:
1 |
ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [nonInteraction]); |
Максимально упростив ее до 2 компонентов, а также задав им соответствующие названия, получим:
1 |
ga('send', 'event', 'greenButton', 'click'); |
, где greenButton - Категория (eventCategory), а click - Действие (eventAction).
Поскольку это событие отслеживается как клик по кнопке, то используется конструкция onclick. Итоговую конструкцию:
1 |
onclick="ga('send', 'event', 'greenButton', 'click');" |
необходимо добавить на отслеживаемый элемент на сайте. В данном случае, это зеленая кнопка "Консультация".
Если нажать на отслеживаемую кнопку, то в Universal Analytics в отчете В режиме реального времени мы увидим наше событие с соответствующими параметрами:
Но даже если у вас параллельно установлен счетчик Google Analytics 4 (gtag.js), это событие для него фиксироваться не будет. Для этого, как вы уже знаете, необходимо использовать другую конструкцию события:
1 2 3 4 5 |
gtag('event', '<event_name>', { '<parameter_1_name>': <parameter_1_value>, '<parameter_2_name>': <parameter_2_value>, '<parameter_3_name>': <parameter_3_value>, }); |
А поскольку она отличается, нам необходимо самостоятельно продумывать то, как будет называться передаваемое событие и будут ли вместе с ним передаваться какие-либо еще параметры события Самая простая конструкция для отслеживания клика по кнопке (без параметров события) для GA4 может выглядеть так:
1 |
gtag('event', 'click'); |
, где click - название события GA4.
Этот код можно добавить после основной конструкции от Universal Analytics. Таким образом, получится следующее:
1 |
onclick="ga('send', 'event', 'greenButton', 'click'); gtag('event', 'click');" |
На самом элементе общая конструкция для отслеживания события UA (analytics.js) и GA4 (gtag.js) будет выглядеть так:
Если нажать на отслеживаемую кнопку, то в Google Analytics 4 в инструменте DebugView мы увидим наше событие click:
Все вышеописанное требовалось выполнять до момента выхода функции сбора событий Universal Analytics. С ее появлением отпала необходимость добавления второй конструкции от Google Analytics 4. Теперь можно использовать только вызов функции ga () из Universal Analytics, а далее сама настройка сделает те самые преобразования, о которых я писал выше:
Отличия заключаются и в том, как пишутся эти параметры событий в GA4:
- 'eventCategory' -> 'event_category'
- 'eventLabel' -> 'event_label'
- 'eventValue' -> 'value'
То есть, если мы возьмем наш предыдущий пример с отслеживанием кнопки и добавим к нему все 4 компонента, то конструкция события станет такой:
1 |
ga('send', 'event', 'greenButton', 'click', 'homepage', '100'); |
, где:
- greenButton - Категория (eventCategory);
- click - Действие (eventAction);
- homepage - Ярлык (eventLabel);
- 100 - Ценность (eventValue);
Добавив ее на отслеживаемый элемент, получим:
Как видите, я удалил вторую конструкцию для Google Analytics 4 с gtag('event', 'click'), поскольку у нас включен сбор событий Universal Analytics в настройках GA4. С этой настройкой событие должно отправить в Google Analytics 4, но преобразованное:
Если нажать на отслеживаемую кнопку, то в Google Analytics 4 в инструменте DebugView мы увидим наше событие click, преобразованное благодаря функции Сбор событий Universal Analytics:
Система сама сконвертировала нам событие с компонентами для Universal Analytics в формат, понимаемый Google Analytics 4. Именно так это работает для типов обращений Событие.
Тип обращения "Пользовательское время"
В Universal Analytics есть группа отчетов, которая позволяет следить за скоростью загрузки ваших страниц и быстродействием его различных элементов (например, за скоростью загрузки картинок или временем отклика на нажатие кнопки) с помощью временных меток. Эти отчеты находятся в разделе Поведение - Скорость загрузки сайта. В этом разделе также присутствует отчет Пользовательское время.
Он позволяет отслеживать события, связанные со временем, и измерять дополнительную информацию с целью улучшения производительности. Например, сколько секунд пользователь заполнял форму на сайте или читал материал на странице. Можно не просто отследить воронку клиента от страницы корзины до страницы с успешным заказом (факт перехода со страницы на страницу), но и передать время выполнения каждого шага в отдельности.
По умолчанию отчет в Universal Analytics пустой и не имеет никаких данных. Для того, чтобы статистика в этом отчете появилась, необходимо настроить передачу пользовательского времени.
Данные о пользовательском времени в Google Analytics можно отправлять с помощью команды send (для библиотеки analytics.js), задав параметру hitType (тип отслеживания) значение timing. Сам пример конструкции выглядит так:
1 |
ga('send', 'timing', [timingCategory], [timingVar], [timingValue], [timingLabel], [fieldsObject]); |
, где:
- timingCategory - категория пользовательского времени;
- timingVar - переменная пользовательского времени;
- timingValue - значение пользовательского времени (в миллисекундах);
- timingLabel - ярлык пользовательского времени.
В моем блоге есть статья, в которой я описываю способ отслеживания пользовательского времени с помощью диспетчера тегов Google. Подробнее читайте здесь.
Есть отличия в написании параметров событий в Google Analytics 4:
- 'timingCategory' -> 'event_category'
- 'timingVar' -> 'name'
- 'timingValue' -> 'value'
- 'timingLabel' -> 'event_label'
С включенной настройкой сбора событий Universal Analytics в GA4, в случае достижения события, также произойдет преобразование:
Тип обращения "Исключение"
Тип обращения Исключение предназначен для отслеживания количества и типов сбоев и ошибок, которые происходили в вашем ресурсе Universal Analytics.
Данные об исключениях можно отправлять с помощью команды send (для библиотеки analytics.js), задав параметру hitType значение exception. Сам пример конструкции выглядит так:
1 |
ga('send', 'exception', 'exDescription', 'exFatal', [fieldsObject]); |
, где:
- exDescription - описание исключения;
- exFatal - тип ошибки (true - критическая ошибка, false - нет).
Подробнее об этом типе обращения читайте в официальной справке Google.
Есть отличия в написании параметров событий в Google Analytics 4:
- 'exDescription' -> 'description'
- 'exFatal' -> 'fatal'
С включенной настройкой сбора событий Universal Analytics в GA4, в случае достижения события, также произойдет преобразование: