Ad ops и инфраструктура рекламы

Молчание postback: почему серверная атрибуция не равно «просто шлём конверсии»

Молчание postback: почему серверная атрибуция не равно «просто шлём конверсии»

При переходе на серверную аналитику многие ожидают, что показатели в рекламном кабинете станут точнее. На практике — разрывы в 20-30% между данными CRM и тем, что прилетает в postback. И чаще всего проблема не в сети, не в пикселях и не в провайдере трекинга. Она в логике событий.

Типичный сценарий: настроили server-side-конверсию, передаём все заказы с сервера через postback, а MMP (платформа измерения) видит лишь часть. Начинают грешить на задержки, блокировки, неверные HTTP-коды. Но реальная причина — конфликт между client-side и server-side событиями на этапе дедупликации.

Каждый postback содержит идентификатор клика (click_id) и временную метку. Если на клиентской стороне уже сработал пиксель (например, при завершении заказа в браузере), а серверный postback приходит чуть позже с тем же click_id, платформа должна решить, какое событие считать истинным. Большинство MMP оставляют первое по времени. Если браузерный пиксель ушёл раньше — серверная конверсия становится дубликатом и отбрасывается.

Здесь и возникает эффект «молчащего postback»: технически запрос успешный (HTTP 200), но конверсия не засчитана. Визуально кабинеты показывают «конверсии не найдены».

Из собственной практики: когда мы убрали client-side пиксели для триггерных событий (оплата, регистрация) и оставили только server-side с fallback на клиент для остальных — расхождение между данными рекламной системы и внутренней отчётностью сократилось с 28% до 7%. Причём 7% — это уже неизбежный лаг из-за задержек передачи и отсутствия кросс-доменной атрибуции.

Поэтому советую прежде чем винить трекер или рекламную сеть — проверьте логику дедупликации. MMP обычно позволяют настроить приоритет: server-side всегда побеждает client-side, или наоборот. Второй шаг — убедиться, что click_id передаётся в postback строго в том же формате, что был принят на клике (проблема регистра, лишних параметров). И третий — временные метки должны быть в одном часовом поясе и с согласованным смещением (лучше UTC).

Серверная атрибуция — не магия, а система с несколькими слоями логики. Если она молчит, значит вы не синхронизировали слои.

— @AdOpsRoom
Этот пост опубликован в Telegram-канале Ad ops и инфраструктура рекламы. Подписаться можно по ссылке: @AdOpsRoom.
traffic

Свежие посты в категории «Traffic Sources»

Все каналы категории →

@ok_analytics_insight_ww · 28 SeptemberSeptember9
Время активности — это не «когда удобно публиковать», а когда аудитория реально реагирует Если смотреть только на часы входа, можно ошибитьс...
@vk_events_promotion_ww · 28 SeptemberSeptember9
Подогрев перед концертом: как не слить интерес до старта продаж Подогрев нужен не для «шума», а чтобы человек заранее захотел быть на площад...
@comment_funnel_ubt · 28 SeptemberSeptember9
Почему комментарии в Reels и TikTok ранжируются не по количеству, а по сигналам удержания Алгоритм смотрит не на «много текста», а на то, чт...
@comment_squad_pro_ubt · 28 SeptemberSeptember9
LLM-цепочка для диалога: где ломается естественность и как это чинить Одна модель “на всё” быстро выдает синтетику: одинаковый темп, стериль...
@channel_pump_eco_ubt · 28 SeptemberSeptember9
100 первых подписчиков без бюджета: рабочая схема, а не надежда на чудо 1) Сначала упакуйте канал так, чтобы было понятно за 5 секунд: кто в...
start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.