Почему server-side без data-контракта — это просто дорогой редирект
Последние полгода всё чаще вижу одну и ту же картину: команда поднимает server-side (серверную) аналитику, переносит GTM Server, подключает Conversions API — и через месяц обнаруживает, что данные в GA4 и CRM отличаются на 20–30%. Маркетинг спорит с продактами, продакты — с аналитиками, аналитики разводят руками.
Причина почти всегда одна: на проекте нет **data contract** (контракта данных) между теми, кто генерирует события, и теми, кто их потребляет.
Что это значит на практике. Когда мы проектируем server-side трекинг, на входе у нас три источника правды: бэкенд (заказы, статусы, возвраты), фронтенд (клики, скроллы, добавления в корзину) и CRM (сделки, касания менеджеров). Если разработчики бэкенда меняют схему события «order_paid» — добавляют поле, переименовывают свойство, выкидывают «пустые» статусы — а маркетинг узнаёт об этом постфактум через расхождение отчётов, никакой server-side не спасает. Мы просто быстрее гоняем неконсистентные данные.
Рабочий подход, к которому пришёл сам и который вижу в зрелых командах, выглядит так:
— Выделяется владелец события (обычно продакт- или маркетинг-аналитик), который согласует JSON-схему с разработкой ДО релиза фичи.
— Версионирование обязательно: событие «order_paid_v2» живёт параллельно со старой версией минимум один спринт.
— Любое изменение атрибуции (новая utm-метка, новый источник трафика) проходит через тот же контракт, а не «втыкается» на стороне маркетинга через GTM.
Из недавнего кейса: у клиента из e-com (средний чек в районе 3–4 тыс. руб.) после внедрения data contract расхождение между GA4 и бэкенд-данными по выручке упало с 27% до 4% без смены инструментария — поменяли только процесс.
Вывод простой. Server-side сам по себе — это инфраструктура, а не решение. Решение — это договорённость между командами о том, что считается «правдой». Без этой договорённости server-side превращается в аккуратно оформленный, но всё тот же хаос.
— @ServerSideTrackingRuPro
Server-side tracking
@ServerSideTrackingRuPro
Почему server-side без data-контракта — это просто дорогой редирект
Этот пост опубликован в Telegram-канале Server-side tracking. Подписаться можно по ссылке: @ServerSideTrackingRuPro.