Утренний ROI: Cost Import и сверка с Reports

Утренний ритуал медиабайера: подтянуть реальный spend из рекламного кабинета в трекер, убедиться что cost на Dashboard и в Reports совпадает с кабинетом, и только потом масштабировать или стопать кампании. Без Cost Import ROI часто считается по ручной cost-модели кампании или выглядит «слишком красиво».

Когда применять. Каждый рабочий день перед разбором связок; после ночного spend; перед ROI-созвоном с командой. Если ROI «отличный», а в кабинете слив — почти всегда cost ещё не синхронизирован или маппинг external id неверный.

Предварительные условия

  • Кампании ATracker уже созданы — импорт привязывается к ним.
  • Токены/credentials рекламного кабинета (Facebook access token + ad account id, Google developer token + refresh token и т.д.).
  • External campaign id из URL или колонки кабинета — не путайте с именем кампании в UI.

Шаг 1 — Интеграция в Cost Import

Cost Import
Cost Import: провайдеры и список интеграций.
  1. Боковое меню → Cost Import (/cost-import).
  2. Create integration → выберите провайдера (Facebook, Google Ads, TikTok, Yandex.Direct, VK Ads, myTarget).
  3. Заполните credentials по подсказкам в UI (для Facebook: access token + ad account id).
  4. Сохраните. Ошибка сохранения чаще всего — неверный/просроченный токен или ad account id.

Шаг 2 — Маппинг external campaign id

  1. В той же интеграции откройте маппинг кампаний.
  2. Скопируйте id из Ads Manager (из URL или колонки) → привяжите к кампании ATracker.
  3. Запустите sync за один день (вчера) для проверки, не за месяц сразу.

Шаг 3 — Daily Costs

Daily Costs
Daily Costs: spend по дням с привязкой к campaign и provider.
  1. Откройте вкладку Daily Costs.
  2. Проверьте строки: дата, сумма, валюта, кампания, провайдер.
  3. Сверьте сумму за день с spend в кабинете (с учётом timezone и валюты аккаунта трекера).
  4. При ошибке: удалите или отредактируйте строку, исправьте маппинг id, sync снова.

Шаг 4 — Dashboard и Reports за тот же период

Dashboard ROI
Dashboard: cost / profit / ROI после импорта spend.
Reports ROI
Reports: тот же период и фильтр кампании, что в Daily Costs.
  1. Откройте Dashboard — период = даты sync (часто «вчера» или «последние 7 дней»).
  2. Откройте Reports с тем же периодом и фильтром по кампании.
  3. Cost в отчёте должен отражать импортированный spend, profit и ROI — пересчитанные с реальным cost.
  4. Порядок важен: сначала Daily Costs, потом Dashboard/Reports — не наоборот.

CSV-ветка (кабинет без API)

  1. Cost Import → загрузка CSV → выберите кампанию ATracker.
  2. Файл: date, cost, currency (по шаблону загрузки в UI).
  3. Настройте маппинг колонок → проверьте Daily Costs → Reports.

Не загружайте один и тот же день дважды без необходимости — задвоение spend и ложный ROI.

Чеклист сверки с кабинетом

  • Даты совпадают с периодом отчёта (timezone аккаунта трекера vs кабинета).
  • Та же кампания ATracker, что в маппинге external id.
  • Валюта согласована с Settings → General.
  • Нет дублей строк за один день в Daily Costs.
  • Cost есть в Daily Costs, но ROI «пустой» — пересмотрите период/фильтр Reports, не flow.

Типичные сценарии

Утренний sync FB/Google → Daily Costs → preset Reports «Daily ROI» → решение scale/stop.

Ротация Facebook System User token → обновить credentials интеграции → sync вчера для контроля.

Расхождение на 1 день → чаще timezone: сравните границы суток трекера и кабинета.

Два ad account на одну кампанию трекера → две интеграции и два маппинга id, или разнесите по разным кампаниям.

Частые ошибки

  • Sync «успешен», cost пустой — неверный external campaign id или другой ad account.
  • Cost на «чужой» кампании — перепутали маппинг; удалите daily-строки, поправьте id.
  • ROI «слишком хороший» — cost не синхронизирован за период или смотрите только ручную cost-модель кампании.
  • Ожидают Login with Facebook для всех сетей — большинству нужны вручную вставленные токены.
  • Смотрят ROI за период, куда cost ещё не импортирован.

Дальше: Auto-Rules и dayparting после прогрева связки. Справочник: документация.