Перейти к содержимому
Все статьи
7 мин чтения

Почему конверсии Facebook и трекера расходятся: чек-лист сверки

Два счётчика конверсий проходят сверку по времени, идентификаторам и статусам

Если Meta Ads показывает 127 покупок, а трекер — 103, это ещё не доказывает поломку. Системы могут считать разные события, использовать разные окна атрибуции, timezone и дату отчёта. Но фраза «Facebook всегда моделирует» тоже не объяснение: расхождение нужно разложить на измеряемые причины.

Цель reconciliation — не заставить два интерфейса показать одинаковое число любой ценой. Цель — построить мост между платформенным attributed event, полученным callback и подтверждённой бизнес-транзакцией.

Сначала определите, что именно сравниваете

Зафиксируйте для обеих сторон:

  • название и семантику события;
  • временной диапазон и timezone;
  • дату отчёта: click time или conversion time;
  • attribution window;
  • click-through и view-through правила;
  • включены ли modeled/estimated conversions;
  • статус: raw, pending, approved или paid;
  • gross revenue, payout или order value;
  • фильтры account, campaign, GEO и device.

Без этого сравнение «Purchases против Sales» может соединить несопоставимые множества.

Карта причин расхождения

ПричинаОбычно больше в MetaОбычно больше в трекереКак доказать
View-through/modelingРазбивка attribution setting
Разные окна✓/—✓/—Одинаковый cohort и window
Разные timezone✓/—✓/—Пересчитать timestamps в UTC
Pixel + CAPI без dedupСверить event_id
Потерян fbclid/fbcПроверить click record и CAPI payload
Не пришёл postbackCRM/order есть, tracker callback нет
Не тот статус✓/—✓/—Raw status → canonical mapping
Organic/direct событияНаличие paid click ID
Rejected/refund позжеИстория статусов и correction
Повтор callbackTransaction ID и duplicate log

1. Выровняйте время

Один и тот же депозит в 23:30 UTC может попасть в разные календарные дни в рекламном кабинете и трекере. Экспортируйте timestamps, приведите их к UTC и отдельно храните исходную timezone.

Также решите, по какой дате группировать. Meta может приписывать конверсию дню рекламного взаимодействия, тогда как CRM показывает день фактического депозита. Для дневной сверки это создаёт расхождение даже при полном совпадении событий за длинный период.

2. Сравните одинаковую атрибуцию

Трекер обычно использует детерминированный путь через click ID. Рекламная платформа может учитывать собственные окна, view-through сигналы и моделирование. Поэтому начните с наиболее строгого общего слоя:

  • paid click был зафиксирован обеими системами;
  • событие произошло внутри согласованного окна;
  • тип и статус события одинаковы;
  • user/order не включён в тестовый или organic traffic.

Сделайте отдельные колонки tracker_attributed, meta_attributed и business_confirmed. Не превращайте отсутствие совпадения в автоматическое доказательство ошибки одной стороны.

3. Проверьте маршрут fbclid → fbc → CAPI

После клика Meta может передать fbclid. Его нужно сохранить через landing, PWA и offer route и использовать для корректного click context серверного события. Параллельно сохраните внутренний click ID трекера — он нужен для вашего postback.

Если fbclid теряется на редиректе, трекер всё ещё может принять депозит по своему ID, но Meta получит слабее сопоставленное событие. Карта ролей приведена в статье Click ID, Sub ID, fbclid, fbc и ttclid.

4. Проверьте Pixel + CAPI dedup

Одна покупка часто отправляется двумя каналами:

  • браузерный Pixel;
  • серверный Conversions API.

Для дедупликации обе копии должны представлять одно событие и использовать согласованный event_id. Типовые ошибки:

  • браузер и сервер генерируют разные IDs;
  • один постоянный ID используется для всех покупок;
  • retry CAPI получает новый ID;
  • названия события не совпадают;
  • CAPI отправляется после уже изменённого статуса как новая покупка.

Проверьте Events Manager и собственный delivery log. Считайте queued промежуточным состоянием; нужен ответ API и связь с исходной транзакцией. Общую роль каналов объясняет Pixel vs CAPI vs Postback, а Meta публикует назначение Conversions API в официальной справке.

5. Сверьте семантику статусов

Оффер может прислать registration, deposit, approved, rejected. В Meta команда могла оптимизироваться на Purchase, отправляя туда уже первый депозит. Если трекерский отчёт фильтрует только approved, Meta закономерно будет выше до завершения hold.

Сделайте таблицу:

ИсточникСырое событиеВнутренний статусMeta eventRevenue
CRM/networkregRegistrationLead0
CRM/networkftdFirst depositPurchasepayout/value
CRM/networkapprovedApprovedНе отправлять повторно либо correctionconfirmed
CRM/networkrejectedRejectedPolicy-dependent correction0

Не существует универсально правильного маппинга для всех бизнесов. Но он должен быть явным, versioned и одинаковым в отчётах.

6. Отделите потерю callback от потери platform feedback

Это два разных сбоя:

Network/CRM → postback → tracker → CAPI → Meta
  • Если order есть в CRM, но нет в трекере — проверяйте postback, click ID и статус.
  • Если событие есть в трекере, но нет в Meta — проверяйте policy, payload, token, fbc/fbp, event ID и API response.
  • Если Meta видит событие, а CRM его позже отклонила — нужна история статуса, а не удаление исходного факта.

Используйте чек-лист диагностики постбека для первого участка.

7. Найдите дубли и реальные повторные покупки

Один пользователь может сделать две покупки — это не дубль. Один и тот же callback может быть доставлен дважды — это дубль. Различайте их по transaction ID:

click_idtransaction_ideventРезультат
c101tx900purchaseaccepted
c101tx900purchaseduplicate
c101tx901purchaseaccepted

Dedup только по click ID ошибочно удалит tx901. Отсутствие dedup вообще удвоит tx900.

Практическая reconciliation-таблица

Выгрузите один matured cohort и соберите строки по transaction ID:

transaction_idclick_idevent_at UTCtracker statusMeta sentMeta acceptedbusiness statusvalue
tx900c10112:04FTDyesyesapproved45
tx901c10212:11FTDyesnoapproved30
tx90212:19modeled/unknownapproved55

Каждой несовпавшей строке присвойте reason code, а не свободный комментарий:

  • TIMEZONE_SHIFT
  • WINDOW_MISMATCH
  • CLICK_ID_LOST
  • POSTBACK_MISSING
  • STATUS_FILTERED
  • CAPI_REJECTED
  • PIXEL_CAPI_DUPLICATE
  • ORGANIC_OR_UNATTRIBUTED
  • MODELED_PLATFORM_EVENT
  • BUSINESS_REJECTED

После этого расхождение превращается в распределение причин, которое можно уменьшать по приоритету.

Как проводить сверку без самообмана

  1. Возьмите период, где конверсии уже дозрели и hold в основном завершён.
  2. Зафиксируйте настройки отчётов и не меняйте их в процессе.
  3. Сравнивайте один account/GEO/campaign cohort.
  4. Используйте transaction-level export, а не только totals.
  5. Отдельно считайте события без детерминированного match.
  6. Не «добавляйте» modeled events в CRM revenue.
  7. После исправления повторите тест на новом cohort, не переписывая историю.

FAQ

Какой процент расхождения нормальный?

Универсального безопасного процента нет. Даже небольшое расхождение может скрывать систематическую потерю дорогого GEO, а большое — объясняться разными окнами. Норма определяется reason codes и бизнес-влиянием, а не одной границей.

Кому верить: Meta, трекеру или CRM?

Для разных вопросов — разным системам. Meta отвечает за свою атрибуцию и delivery optimization. Трекер — за детерминированный маршрут клика. CRM/платёжная система — за факт и финальный статус транзакции. Хорошая сверка не выбирает одного победителя, а связывает три слоя.

Почему после подключения CAPI конверсий стало больше?

Возможны как лучшее сопоставление, так и дубли Browser Pixel + CAPI. Проверьте общий event_id, event name, transaction mapping и ответы Events Manager до вывода об uplift.

Можно ли добиться полного совпадения?

Для строго определённого детерминированного подмножества — приблизиться можно. Общие цифры интерфейсов могут оставаться разными из-за окон, view-through, modeling и даты атрибуции. Важно, чтобы разница была объяснена и не искажала решения о бюджете.

Итог

Начните не с totals, а с контракта данных: один click record, один transaction ID, явный status mapping и лог доставки в Meta. DarkCore Analytics и Finance нужны именно для такого соединения — от источника клика до подтверждённой выручки, с возможностью экспортировать и перепроверить результат.

  • расходятся конверсии facebook и трекер
  • facebook ads не совпадают конверсии
  • meta capi дедупликация
  • сверка конверсий
  • атрибуция facebook