Утренний 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). - Create integration → выберите провайдера (Facebook, Google Ads, TikTok, Yandex.Direct, VK Ads, myTarget).
- Заполните credentials по подсказкам в UI (для Facebook: access token + ad account id).
- Сохраните. Ошибка сохранения чаще всего — неверный/просроченный токен или ad account id.
Шаг 2 — Маппинг external campaign id
- В той же интеграции откройте маппинг кампаний.
- Скопируйте id из Ads Manager (из URL или колонки) → привяжите к кампании ATracker.
- Запустите sync за один день (вчера) для проверки, не за месяц сразу.
Шаг 3 — Daily Costs

- Откройте вкладку Daily Costs.
- Проверьте строки: дата, сумма, валюта, кампания, провайдер.
- Сверьте сумму за день с spend в кабинете (с учётом timezone и валюты аккаунта трекера).
- При ошибке: удалите или отредактируйте строку, исправьте маппинг id, sync снова.
Шаг 4 — Dashboard и Reports за тот же период


- Откройте Dashboard — период = даты sync (часто «вчера» или «последние 7 дней»).
- Откройте Reports с тем же периодом и фильтром по кампании.
- Cost в отчёте должен отражать импортированный spend, profit и ROI — пересчитанные с реальным cost.
- Порядок важен: сначала Daily Costs, потом Dashboard/Reports — не наоборот.
CSV-ветка (кабинет без API)
- Cost Import → загрузка CSV → выберите кампанию ATracker.
- Файл: date, cost, currency (по шаблону загрузки в UI).
- Настройте маппинг колонок → проверьте 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 после прогрева связки. Справочник: документация.