Найти в Дзене

Универсальное событие в Google Tag Manager

Впервые опубликовано на Хабре. Если вы отслеживаете множество событий на сайте и то и дело добавляете новые, вам приходится выполнять серию одних и тех же операций: При этом количество сущностей в GTM растет и ориентироваться в них становится всё утомительней. (А еще GTM не резиновый и допустимое количество сущностей ограничено.) Я придумал и внедрил решение, которое позволяет: Нужно только один раз настроить несколько сущностей в GTM и больше вообще его не трогать при добавлении новых событий! Подробности по порядку. Событие на сайте В момент срабатывания нужного события передаем в dataLayer несколько параметров: dataLayer.push(
{
'event':'universal_event',
'event_category':'GA_category',
'event_action':'GA_action',
'event_label':'GA_label',
'universal_event_systems':'google_analytics facebook metrika vkontakte',
'universal_event_name':'retargeting_event'
}); где Google Tag Manager: переменные Создаем в GTM три переменные типа Переменная уровня данных: event_category, event_action,
Оглавление

Впервые опубликовано на Хабре.

Если вы отслеживаете множество событий на сайте и то и дело добавляете новые, вам приходится выполнять серию одних и тех же операций:

  1. Повесить событие на сайте
  2. Создать триггер в GTM
  3. Создать тэг отправки события в Google Analytics
  4. Создать тэг отправки события в Яндекс Метрику
  5. Если у вас собираются данные для ретаргетинга в Facebook и VK, то для каждого из них нужно создать еще по тэгу.

При этом количество сущностей в GTM растет и ориентироваться в них становится всё утомительней. (А еще GTM не резиновый и допустимое количество сущностей ограничено.)

Я придумал и внедрил решение, которое позволяет:

  • сократить рутину, избавляя от шагов 2-5;
  • не плодить тэги;
  • упростить управление событиями.

Нужно только один раз настроить несколько сущностей в GTM и больше вообще его не трогать при добавлении новых событий! Подробности по порядку.

Событие на сайте

В момент срабатывания нужного события передаем в dataLayer несколько параметров:

dataLayer.push(
{
'event':'universal_event',
'event_category':'GA_category',
'event_action':'GA_action',
'event_label':'GA_label',
'universal_event_systems':'google_analytics facebook metrika vkontakte',
'universal_event_name':'retargeting_event'
});

где

  • universal_event — идентификатор события для GTM;
  • GA_category, GA_action, GA_label — соответственно категория, действие и ярлык события для Google Analytics;
  • google_analytics facebook metrika vkontakte — системы, в которые будет передаваться событие. Можно указать одну или несколько через пробел или другой разделитель;
  • retargeting_event — идентификатор события для систем помимо Google Analytics.

Google Tag Manager: переменные

Создаем в GTM три переменные типа Переменная уровня данных: event_category, event_action, event_label, universal_event_name, universal_event_systems.

Google Tag Manager: триггеры

Создаем триггеры типа Пользовательское событие, активирующие тэги отправки события в нужные системы. Для каждой системы свой триггер, но отличаются они только проверкой переменной universal_event_systems. Все триггеры срабатывают по событию universal_event.

Google Tag Manager: тэги

Создаем тэги отправки событий в системы. В тэг для GA подставляем наши переменные event_category, event_action, event_label, а в тэгах других систем в код вставляем переменную universal_event_name.

Готово!

Не забудьте протестить и опубликовать изменения в GTM.

Теперь при создании нового события на сайте вы можете просто передать в коде сайта в dataLayer нужную конфигурацию, а GTM даже не открывать.

Если используете и Метрику, также придется создать в ней цель типа javascript-событие, указав в ней в качестве идентификатора значение переменной universal_event_name.