Окупаемость рекламы в Avito Ads, когда площадка не связывает объявление с оплатившим клиентом
Встроенная статистика Avito показывает звонки по объявлениям, но не выручку. Разбираю, как сшить расход по объявлению с оплатой в рублях и посчитать ROAS.

Avito Ads отдаёт по каждому объявлению клики, просмотры и звонки. На тарифе с коллтрекингом («Авито Про») картинка подробнее: число входящих, деление на первичные и повторные обращения, пропущенные вызовы, время звонка, записи разговоров, выгрузка в Excel. При подключённом динамическом коллтрекинге видно, по какому именно объявлению пришёл каждый звонок.
Дальше начинается разрыв. Статистика отвечает на вопрос «сколько обращений». На вопрос «сколько денег» она не отвечает.
Что показывает встроенная статистика — и где обрывается
Коллтрекинг Avito не фиксирует, к чему привёл звонок: к продаже, к отказу или к повторному контакту по старой сделке. И он не сводит обращения с Avito с другими каналами в одну аналитику. Расход по объявлению есть. Выручки по объявлению нет.
Пока этот разрыв открыт, я плачу за поток обращений вслепую и не знаю ROAS ни одного объявления. Два объявления могут давать одинаковое число звонков, при этом одно приводит платящих, а второе — людей, которые ошиблись категорией. По встроенной статистике они выглядят близнецами.
Почему двух формул мало и как их не путать

Базовая окупаемость считается так: ROI = (прибыль от продаж − затраты на рекламу) / затраты × 100%. Пример: 8 000 ₽ расхода, 10 проданных товаров с маржой 2 000 ₽ каждый (продажа 5 000 ₽ минус себестоимость 3 000 ₽). Прибыль 20 000 ₽, ROI = 150%.
Формула требует двух чисел по каждому объявлению — сколько продаж оно дало и с какой маржой. Ровно этих данных встроенная статистика Avito не выдаёт.
Рядом стоит ROAS = выручка / рекламный расход. Себестоимость товара он не учитывает, поэтому смешивать его с ROI нельзя — это разные величины про разное. В расходную часть ROAS я закладываю сопутствующие траты: коллтрекинг, оплату подрядчику. Себестоимость товара сюда не входит. Пример: 1 000 ₽ рекламы, 150 ₽ подрядчику, 50 ₽ на коллтрекинг, выручка 3 000 ₽ — ROAS = 2,5.
Обе метрики упираются в одно и то же: нужна сумма продаж, привязанная к конкретному объявлению. Эту сумму приходится собирать самостоятельно.
Как сшить расход по объявлению с выручкой в рублях
Цепочка, которую я собираю: расход по объявлению → лид (коллтрекинг, подменные номера, метки перехода) → продажа в рублях.
Механика на стороне звонков такая. Один телефонный номер привязывается ко всем отслеживаемым объявлениям и подключается к виртуальной АТС. Данные передаются по публичному API Avito: сведения о звонках и о списании рекламных средств попадают в сквозную аналитику в течение суток. После этого расход на объявление сопоставляется с обращениями по нему.
Замыкает цепочку статус сделки в CRM. Без ответа «звонок закрылся продажей или нет» связка обрывается на середине: я вижу, что объявление дало десять звонков и стоило 8 000 ₽, но не вижу, превратились эти звонки в деньги или нет. Статус из воронки завершает схему — на нём держится вся привязка расхода к выручке.
Это настройка передачи данных по событию и сопоставления обращений. Я делаю её один раз на уровне интеграции. Ручной ввод менеджерами сюда не годится — он рассыпается на первой же загруженной неделе, и половина сделок остаётся без источника.
Куда относить выручку и как не отключить работающее объявление раньше времени
Главный принцип я держу жёстко: выручку отношу к месяцу, когда пришёл лид, к дате появления обращения. Не к дате закрытия сделки. Иначе месяц с активной рекламой выглядит убыточным, а более поздний месяц — сверхприбыльным, хотя продажу породил ранний лид. На таком искажении легко отключить объявление, которое на самом деле кормит.
Между лидом и сделкой есть лаг. В зависимости от ниши он тянется от закрытия в тот же день до 2–4 месяцев. Ранний ROAS новой кампании выглядит слабым, пока сделки дозревают в воронке. Поэтому окупаемость я оцениваю с оглядкой на длину цикла сделки, а первую неделю кампании как приговор не читаю.
Опора только на веб-аналитику (Яндекс.Метрика, Google Analytics) здесь рискованна. Окно ретроспективы — 90 дней, путь клиента до покупки насчитывает до 20 касаний, и середина пути в веб-аналитике теряется. Около 20% компаний имеют цикл сделки дольше четырёх месяцев — часть источников лидов просто не доезжает до отчёта. Про то, где именно на стеке Яндекса связь доводит рекламу до оплаты, а где рвётся, я разбирал отдельно.
Скоринг лидов: где искать причину, если продаж мало
Последний слой методологии — скоринг лидов. Я делю все обращения на общий поток и квалифицированные лиды с реальным намерением купить. Это отделяет качество лидов от работы отдела продаж.
Много качественных лидов при низких продажах указывает на обработку внутри отдела. Объявление в этом случае приводит платящих, а деньги теряются на этапе разговора. Скоринг защищает от поспешного вывода «объявление плохое», когда виновата не реклама.
Собранные вместе три вещи — расход по объявлению, статус сделки и оценка качества лида — дают решение по каждому объявлению: масштабировать, оставить как есть или отключить. Основание для решения — рубли продаж, привязанные к объявлению. Это уже управление потоком сделок и ценой оплаченного клиента. Подробнее о том, какие метрики я смотрю на этом уровне помимо стоимости лида, — здесь.
Две величины остаётся измерить внутри бизнеса: типичную конверсию «лид с Avito → оплата» и средний лаг сделки для своей ниши. Независимых публичных норм по этим числам для российского рынка нет. Пока их нет, расчёт окупаемости строится на допущениях, и первые пару месяцев работы связки уходят на то, чтобы заменить эти допущения собственными замерами.

Никита Бердников
Официальный партнёр amoCRM (ID 28602378), Roistat и SIPUNI. 5+ лет настраиваю CRM, сквозную аналитику и телефонию под выручку — лично, без агентских посредников. 25+ проектов, ₽100M+ выручки клиентов.
Похожие статьи

Чат-бот в amoCRM по шагам воронки: где автоответ ускоряет реакцию, а где нужен живой менеджер
Разбираю, на каких шагах воронки бот в amoCRM ускоряет реакцию и квалифицирует заявку, где нужен живой менеджер и какие ошибки ломают атрибуцию.

amoCRM для автосервиса: как возвращать клиентов на плановое ТО и видеть, какая реклама приводит платящих
Как настроить воронку и напоминания о ТО в amoCRM, чтобы возвращать клиентов на регламентное обслуживание и связывать заявку с источником оплаты.

Расходы в Roistat не сходятся с кабинетом Яндекса: где теряются деньги и как свести цифры до факта
Разбираю, почему сумма расхода в Roistat отличается от кабинета Яндекс.Директ — НДС, комиссии, разметка, сроки данных — и как свести расход до факта для честног