Server-side tagging ломается не на контейнере, а на архитектуре данных и домене
Если смотреть на sGTM как на «ещё один GTM», почти всегда получаются дыры: не совпадают client_id, теряются параметры, а события едут в аналитику с разными именами. Нормальная схема начинается не с тегов, а с ответа на 3 вопроса: где живёт first-party домен, кто подписывает запрос, и какие поля считаются источником истины.
Базовый чек-лист:
— один домен для сбора и отправки, без зоопарка поддоменов;
— единый формат client_id / session_id между web и server;
— прокидывание event_id, чтобы можно было дедуплицировать;
— явное разделение: page, event, user_properties, consent.
Что важно: server-side не «чинит» плохой фронтенд-трекинг. Если на сайте криво настроены dataLayer, consent mode или триггеры, сервер просто аккуратно ретранслирует хаос. Поэтому сначала чистим web-слой, потом переносим критичные события на сервер, и только потом думаем про enrichment, hashing и downstream-экспорт в BigQuery.
На практике лучше держать минимум 3 теста: сравнить количество событий web vs server, проверить совпадение идентификаторов в GA4 DebugView и убедиться, что одинаковый event_id не создаёт дубль. Если эти три вещи сходятся, инфраструктура уже пригодна для масштабирования.
GTM & GA4 Deep
@gtm_ga4_deep
Server-side tagging ломается не на контейнере, а на архитектуре данных и домене
Этот пост опубликован в Telegram-канале GTM & GA4 Deep. Подписаться можно по ссылке: @gtm_ga4_deep.