Перейти к содержимому
BI SELLBYNET Business Intelligence

Ежедневная сверка расхода с API Яндекс.Директа

3 мин чтения Команда SellByNet

Выгрузка может «успешно» пройти с неполными данными — заметят это через месяц. Как устроена ежедневная сверка расхода Директа и почему без неё нет доверия.

Есть неприятная особенность любых выгрузок из рекламных кабинетов (тот самый процесс ETL, только без автоматической проверки): они умеют молча врать.

Скрипт отработал, ошибок нет, таблица заполнилась, отчёт построился. А через месяц выясняется, что за прошлый вторник в данных не хватает трети расхода. Отчёт, на основе которого принимали решения, был неверным — и об этом никто не знал.

Откуда берутся дыры в данных

Причин ровно столько, сколько звеньев в цепочке, и все они бытовые.

  • Данные в Директе дозревают. Статистика за вчера может уточняться ещё несколько дней: отсеиваются недействительные клики, корректируется расход. Цифра, забранная ночью, к пятнице становится другой.
  • Токен доступа истёк. Доступ к кабинету выдаётся на время. Он тихо перестаёт работать, и выгрузка приносит пустоту — формально без ошибки.
  • API не ответил. Лимиты, таймаут, разовый сбой на стороне сервиса. Одна кампания не доехала, остальные доехали.
  • Кабинет переименовали. Логин рекламного кабинета поменялся, и данные начали складываться «мимо» — в отчёте их нет, хотя деньги тратятся.

Общее у всех этих случаев одно: сбой не выглядит как сбой. Таблица не пустая, график рисуется, тревогу поднимать некому.

Проверка — это отдельная работа

Поэтому мы не считаем выгрузку завершённой в тот момент, когда она закончилась. Каждый день автоматически происходит сверка: сколько денег, по мнению нашего хранилища, потрачено за период — и сколько говорит API Яндекс.Директа.

Логика простая, как инвентаризация на складе:

  1. Берём сумму расхода из нашей витрины за проверяемый период.
  2. Отдельным запросом спрашиваем ту же сумму напрямую у API Директа.
  3. Сравниваем. Если цифры разошлись — это повод разобраться, а не округлить.

Расхождение — не всегда авария. Иногда это те самые дозревающие данные. Но важно, что расхождение видно сразу, а не всплывает через месяц в разговоре с клиентом.

Правило, которое мы вывели на практике: данным можно доверять ровно настолько, насколько регулярно их проверяют. Непроверенная выгрузка — это не данные, а предположение.

Что происходит при расхождении

Сверка не просто ставит красный флажок — она показывает, где именно разошлось: по какому клиенту, какому рекламному кабинету и за какие даты. Дальше данные за проблемный период перезабираются, и сумма сходится.

Отдельно следим за токенами доступа. Сервис проверяет, живой ли доступ к каждому кабинету, — чтобы «выгрузка привезла ноль» не стало открытием месяца. Сейчас под наблюдением около 19 рекламных кабинетов 17 клиентов.

Почему это важно для владельца, а не только для технарей

Владельцу бизнеса всё равно, как устроена выгрузка. Ему важно другое: можно ли принимать решение по этому отчёту.

Без ежедневной сверки любой отчёт — это ещё и вопрос веры. С ней у цифры появляется происхождение: она сошлась с первоисточником, и это проверено не человеком по настроению, а автоматически и каждый день.

Именно поэтому мы считаем сверку не «дополнительной функцией», а условием, при котором аналитику вообще имеет смысл показывать. Что ещё стоит проверить перед подключением — в чек-листе подготовки к сквозной аналитике.