Callback-функции в GTM: чек-лист для гарантированной передачи событий в CDP
Когда CDP получает события из веб-аналитики, критичен порядок и гарантия доставки. Без использования callback-функций в Google Tag Manager (Менеджере тегов Google, МТГ) вы рискуете потерять данные при параллельной загрузке тегов или при быстрых переходах пользователя. Механизм callback — это кусок кода, который выполняется строго после того, как целевой тег (например, отправка хита в GA4) завершил работу. Ниже — чек-лист по внедрению.
— **Используйте hitCallback для тегов Google Analytics.** Привяжите выполнение собственного JavaScript-кода к моменту, когда хит (не путать с хитом-посещением) успешно отправлен. Передавайте в переменную `hitCallback` функцию, которая записывает событие в dataLayer для последующей передачи в CDP.
— **Применяйте eventCallback для пользовательских тегов (HTML, Custom Image).** В теге типа «Пользовательский HTML» или «Изображение» укажите `eventCallback` — это гарантирует, что ваш код (например, вызов API CDP) сработает только после того, как основной тег отработает. Полезно для цепочек: сначала отправка в GA4, затем — в собственную систему.
— **Добавьте fallback на случай сбоя callback.** Если по какой-то причине callback не выполнился (например, ошибка сети, скрипт не загрузился), предусмотрите сохранение данных в localStorage с таймером повторной отправки при следующем визите. Так вы не потеряете события даже при нестабильном соединении.
— **Синхронизируйте callback с dataLayer.push.** Внутри функции callback вызывайте `dataLayer.push({event: 'cdp_ready', ...})`. Это позволит другим тегам, которые подписаны на это событие (например, тег отправки данных в CDP через Measurement Protocol), запуститься в правильной последовательности.
— **Тестируйте порядок выполнения в режиме Preview GTM.** Включите режим отладки, добавьте в dataLayer тестовое событие и проверьте, что callback-код выполняется после отправки хита, а не до или одновременно. Обратите внимание на стандартные метки времени — они должны быть монотонно возрастающими.
— **Документируйте каждую callback-функцию в конфигурации.** Укажите в описании тега, для чего нужен конкретный callback и какие данные он передаёт. Это сильно упростит поддержку, когда через полгода вы или другой data-инженер будете разбираться в схеме передачи событий.
Когда это пригодится: при настройке сквозной аналитики (RevOps), когда требуется точная последовательность отправки данных в несколько систем, а также для гарантии доставки событий в CDP при высокой скорости ухода пользователя со страницы (например, в e-com со снижающимся сред
— @CDProomRu
CDP и данные клиентов
@CDProomRu
Callback-функции в GTM: чек-лист для гарантированной передачи событий в CDP
Этот пост опубликован в Telegram-канале CDP и данные клиентов. Подписаться можно по ссылке: @CDProomRu.