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

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


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

При этом количество сущностей в 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.

GTM: переменные


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


image


GTM: триггеры


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


image


image


image


image


GTM: тэги


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


image


image


image


image


Готово!


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


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


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

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

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

    0
    Спасибо за вариант настройки!
    Правильно ли я понимаю, что он упрощает жизнь именно в том случае если GTM уже переполнен тегами, а систем, куда нужно сливать данные, явно больше двух? Т.к. сам факт необходимости лезть в код страницы тоже усложняет жизнь, GTM же изначально как раз и помогал избежать этого вмешательства.
      0
      Если вы не используете dataLayer при установке события на сайте, польза не так очевидна, конечно, особенно, если изменение кода осложнено.

      Но всё же, если у вас появляется по нескольку новых событий в неделю, этот вариант стоит рассмотреть.

      Кстати, щас подумал, можно немного еще подсократить настройку — убрать переменную universal_event_name, а в Метрику и другие системы передавать в качестве идентификатора события что-то вроде {{event_category}}_{{event_action}}_{{event_label}}.

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое