← Все плейбуки·Атрибуция в digital

Плейбуки · Атрибуция в digital

Track conversions server-side instead of by pixel

Эта задача формирует подтверждённое на стороне сервера количество конверсий и CPA за отчётный период, сверенное с показателями пикселя. Она обеспечивает решение отчитываться по эффективности и устанавливать целевые CPA на основе серверных данных, а не деградировавшего пикселя.

Что нужно на входе

  • Количество и ценность конверсий по пикселю в разбивке по кампаниям/группам объявлений за период — из отчётной выгрузки рекламной платформы
  • Серверный лог событий (event_id, order_id, timestamp, value) за тот же период — с сервера отслеживания CAPI/CDP
  • Ключ дедупликации, сопоставляющий event_id или order_id между событиями пикселя и сервера — из настройки системы управления тегами или бэкенда ecommerce
  • Согласованное окно атрибуции (по клику и по показу) — из медиаплана
  • Типичный для платформы показатель совпадения CAPI (match rate) по вертикали — из документации платформы или истории предыдущих кампаний аккаунта
  • Фактический расход на медиа за период — из биллинговой выгрузки платформы

Порядок действий

  1. Выгрузите количество и ценность конверсий по пикселю за период, с разметкой по кампании и группе объявлений
  2. Выгрузите серверный лог событий за тот же период, отфильтрованный по нужному типу события
  3. Дедуплицируйте оба набора по event_id или order_id, чтобы получить количество совпавших конверсий
  4. Разделите количество совпавших конверсий на общее число серверных событий, чтобы получить match rate, и сравните его с бенчмарком платформы
  5. Примените согласованное окно атрибуции к серверному логу, чтобы получить количество атрибутированных конверсий
  6. Вычтите конверсии, показанные пикселем, из атрибутированных серверных конверсий, чтобы получить расхождение, и пометьте его, если оно превышает 10%
  7. Разделите расход на атрибутированные серверные конверсии, чтобы получить скорректированный CPA
  8. Зафиксируйте использованные ключ дедупликации, окно атрибуции и match rate для отчёта клиенту

Разбор с числами

Расход за неделю — €18,400. Пиксель показывает 210 конверсий. Серверный лог содержит 260 событий за тот же период. Дедупликация по order_id даёт совпадение по 235 из них, то есть match rate = 235/260 = 90.4%, что выше бенчмарка Meta CAPI для этой вертикали в 85%, поэтому логу можно доверять. Применение 7-дневного окна по клику убирает 15 из совпавших конверсий, выходящих за его пределы, остаётся 220 атрибутированных конверсий. Расхождение с пикселем составляет 220 - 210 = 10, то есть объём на 4.8% больше, чем насчитал пиксель. CPA по серверным данным составляет 18,400/220 = €83.64, против 18,400/210 = €87.62 по данным пикселя — разрыв 4.5%. Это значит, что пиксель занижает и объём, и эффективность примерно на одну и ту же величину, поэтому отчитываться нужно по серверному CPA.

Где ошибаются

  • Дедуплицируйте по event_id или order_id, а не по совпадению timestamp и value, потому что два заказа с одинаковой суммой, оформленные с разницей в несколько минут, ложно совпадут по близости
  • Применяйте одно и то же окно атрибуции к показателям пикселя и сервера перед их сравнением, потому что окно пикселя по умолчанию у платформы может отличаться от согласованного в плане, и расхождение окажется артефактом этого несоответствия
  • Удаляйте тестовый и внутренний трафик из серверного лога перед расчётом match rate, потому что заказы сотрудников и QA завышают общее число серверных событий и занижают match rate
  • Рассматривайте match rate ниже бенчмарка как проблему реализации CAPI, которую нужно исправить (отсутствие fbp/fbc, некорректное хеширование), а не как доказательство того, что заниженным является именно серверное число

Как понять, что верно

Количество совпавших конверсий плюс действительно несовпавшие, но валидные серверные события должны сходиться с общим числом серверных событий с точностью до нескольких процентов, а match rate должен быть на уровне бенчмарка платформы или выше него, прежде чем CPA будет вынесен в отчёт.

Используемые термины