директор и машина · маркетинг · запись № 002 · · Давид Герштейн
Почему реклама не окупается: окупаемость рекламы считают от кассы, а не от кликов
Реклама не окупается не потому, что канал плохой, а потому что отчёт о лидах и отчёт о деньгах — два разных документа с разными числами: 350 000 ₽ ушло на инфлюенсеров, а договоров за месяц — ноль. Считать окупаемость нужно от даты оплаты договора, а не от клика или заявки, иначе слив бюджета маскируется ростом «качественных лидов».
Содержание · 10 разделов
- Окупаемость рекламы: короткий ответ
- Почему цифры в вашем отчёте врут
- Лиды есть, продаж нет
- Когда «оптимизация» рекламы убивает окупаемость
- Деньги, которые утекают без обратной связи
- ИИ-связка: проверка лида до того, как он попал в отчёт по ROI
- Как считать окупаемость, чтобы не обманывать себя
- Экономика: что стоит фильтр лидов и что он даёт
- Чек-лист: с чего начать в понедельник
- Мой опыт: где я ошибался сам
Суммы в разборе пересчитаны на условную компанию — пропорции, механика и выводы реальные.
Окупаемость рекламы: короткий ответ
Реклама не окупается чаще всего не из-за площадки и не из-за подрядчика, а из-за точки отсчёта: отчёт считает клики и заявки, касса считает оплаченные договоры. Если у вас лидов стало больше, а денег столько же — вы смотрите не на ту цифру.
Чтобы посчитать окупаемость рекламы честно, нужны три вещи: считать от даты оплаты договора, а не от даты заявки; держать неатрибутируемые лиды (10–15% в обычный месяц, до 30% в декабре) отдельной строкой, а не размазывать их по каналам; и отдельно смотреть процент брака среди лидов. В компании на 40 человек по этой причине 350 000 ₽ ушли на инфлюенсеров при нуле договоров за месяц, а конверсия упала с 33% до 6%.
Вам показывают отчёт: лидов столько-то, стоимость лида такая-то, всё в норме. А деньги в кассе не сходятся с этой красотой. Знакомо?
Проблема почти никогда не в подрядчике и не в площадке. Проблема в том, что отчёт по рекламе меряет клики и заявки, а вы управляете деньгами — и между этими двумя мирами есть разрыв, в который проваливается ваш бюджет.
Ниже — где именно он проваливается, с разбором до денег, а не до кликов. Я собрал сюда места, в которых сам терял бюджет и потом искал причину задним числом.
Месяц, 350 000 ₽ на инфлюенсеров. Ноль договоров. Параллельно директ третий месяц подряд в минусе по ROI, плюс был только один месяц из четырёх. Это не гипотеза — это цифры одной компании за один отчётный период. И вопрос «почему реклама не окупается» в этот момент звучит уже не как теория, а как разговор с финансовым директором, который считает деньги, а не охваты.
Проблема в том, что реклама почти всегда «работает» — если мерить кликами, лидами, охватами. Она перестаёт работать, если мерить деньгами. Между этими двумя точками измерения обычно и прячется слив бюджета: отчёт по лидам растёт, касса — нет. Дальше — разбор мест, где именно ломается эта связка, и что с этим можно сделать руками, без веры в «просто лучше настроить таргетинг». Как это устроено, разобрал отдельно: сквозная аналитика своими руками.
Почему цифры в вашем отчёте врут
Начнём с того, что вы видите каждый месяц, и разберём, где именно эта картинка расходится с вашей кассой. Я сам два года смотрел на такой дашборд и ни разу не спросил у него, откуда берётся знаменатель.
Руководитель одной компании случайно, просматривая утренние отчёты, обнаружил: одна входящая точка создавала два-три дубликата лида. Конверсия падала день ото дня — а реальная ситуация была другой. Никто не искал проблему специально, потому что дашборд выглядел правдоподобно: цифры росли, потом снижались, всё как обычно бывает в рекламе.
Если точка входа плодит два-три дубля на один реальный лид, отчётная конверсия считается не от реального числа обращений, а от в два-три раза большего количества «лидов» — то есть искусственно занижается в 2–3 раза без единого изменения в реальном спросе (оценка на основе того же кейса: реальный поток не менялся, менялся только знаменатель формулы).
Другой день, другой пример — расхождение в отчётах по продажам. У одного менеджера в отчёте сумма, у другого — заметно меньше. При проверке через CRM оказалось: потеряна сделка (она шла как рекомендация, а не как лид, и выпала из расчёта) на 280 000 ₽ — это почти средний чек компании (300 000 ₽). А при фильтрации по месяцу оплаты вместо месяца создания договора разница выросла ещё сильнее. Это не ошибка одного человека — это способ, которым разные фильтры дают разную «правду» из одних и тех же данных.
Третья беда — атрибуция. При планировании кампании выяснилось, что 10–15% лидов невозможно привязать к источнику: люди блокируют куки, чистят историю, ставят блокировщики рекламы. В декабре доля неатрибутируемых лидов подскочила до 30%. Если эту треть просто раскидать по каналам «на глаз», отчёт по ROI рекламы превращается в художественную литературу — с тем же успехом можно гадать на кофейной гуще.
Подробнее о том, как CRM искажает даты и цифры без злого умысла, — в разборе CRM врёт. Как я поймал Битрикс24 на сдвиге дат.
Лиды есть, продаж нет
Если это про вас — а это про большинство — то дальше самая важная часть. Считать окупаемость по заявкам бессмысленно: заявка не деньги. Деньги появляются, когда заявка доходит до оплаты, и вот на этом пути ваш маркетинг обычно слеп.
Компания получила несколько десятков качественных лидов из соцсети за месяц. Закрыла 1–2 продажи. На бумаге — провал канала. При разборе выяснилось: эти лиды — первое касание. В отличие от других источников, где человек уже прогрет и готов к разговору, здесь нужен многоэтапный цикл — и «слив» на самом деле означал не плохой канал, а неправильную скорость продажи, применённую к чужому типу трафика.
С французским рынком та же болезнь, только в других цифрах: в Париже сотни тысяч человек целевой аудитории, а за всё время с французской версии сайта — два покупателя, оба говорили по-английски. Причина не в объёме аудитории, а в том, что локальные боли не были поняты, и с французским трафиком просто не умели работать: сайт был, а перевод боли клиента на язык этой боли — нет.
Третий случай — про маркетолога, который годами продавал «процедуру оформления документов», то есть то, что клиенту неинтересно. За неделю с аналитиком собрали три аватара покупателя: часто это люди старшего возраста, одинокие или с выросшими детьми, ищущие общие интересы. После того как начали говорить не про процедуру, а про боль, конверсия пошла вверх. Дело было не в рекламном бюджете вообще, а в том, что реклама везла трафик к офферу, который не отвечал на вопрос клиента.
Разрыв между «лиды есть» и «продаж нет» — тема отдельного разбора: Квалификация лидов: почему лиды есть, а продаж нет.
Когда «оптимизация» рекламы убивает окупаемость
Этот раздел стоит прочитать, если вам когда-нибудь предлагали «снизить стоимость лида». Ваш подрядчик почти наверняка сможет её снизить — вопрос в том, что вы получите взамен.
Самый наглядный случай — смена текста объявления по совету экономиста. Конверсия упала в 5,5 раза: было 33%, стало 6%. При этом количество лидов выросло на 25%. По количеству лидов кампания выглядела лучше. По составу — хуже: пришли заявки из другого сегмента, то есть люди с меньшим бюджетом и худшей конвертацией в сделку. На диаграмме ниже — конверсия до и после смены текста объявления.
Рост числа лидов на 25% совпал с падением конверсии с 33% до 6% — по количеству кампания выглядела лучше, по качеству трафика была хуже.
Команда после этого разделилась: один хотел продолжать тестирование, второй видел проблему и требовал вывода. Решение отложили ради дополнительного анализа региональной структуры лидов. Это нормальная развилка — но именно она и решает, окупится реклама или нет: если мерить только объём лидов, кампания выглядит рабочей ещё месяц-два, пока не долистаешь до продаж.
Такая же история с органическим трафиком: конверсия сайта упала ниже 10% в апреле — в марте было почти 15%, в январе 17%. Устойчивое снижение месяц за месяцем, и вопрос не «работает ли SEO», а «какого качества трафик оно приносит сейчас, а не полгода назад».
| Канал | Что видно по объёму | Что скрывает объём |
|---|---|---|
| Реклама с новым текстом | Лидов +25% | Конверсия упала с 33% до 6%, качество лидов ниже |
| Инфлюенсеры | Охват, узнаваемость | 350 000 ₽, 0 договоров за месяц |
| Директ | Клики и лиды идут | Отрицательный ROI 3 месяца из 4 |
| Органика | Трафик растёт или стабилен | Конверсия упала с 17% до 10% за 4 месяца |
| Холодная рассылка (крупная база контактов) | Открываемость 50% | Конверсия в лиды — 0% |
На диаграмме — конверсия в лид по каналам, от полного провала рассылки до лучших месяцев органики.
рассылка журнала
Разборы про лиды и рекламу — на почту
Куда утекает бюджет, почему падает качество лидов и как считать источники, когда половина без метки.
Деньги, которые утекают без обратной связи
И самое дорогое место. Пока ваш маркетолог не знает, какие лиды дошли до денег, он оптимизирует вслепую — а вы платите за эту слепоту каждый месяц.
У условной компании — оптового поставщика с оборотом около 12 млн ₽/мес и отделом из 8 менеджеров — 350 000 ₽ на инфлюенсеров и ноль договоров за месяц — это не случайность конкретного отчёта, а симптом отсутствия обратной связи между тратой и результатом. Параллельно в директе три месяца из четырёх — минус по ROI, и только один месяц — в плюс, при этом на инфлюенсеров продолжали тратить около 300 000 ₽ ежемесячно вместо специализированных каналов.
Когда канал не даёт обратной связи «деньги → договор» быстрее, чем цикл принятия решения о бюджете, компания просто продолжает тратить по инерции. Решение отключить или сократить канал принимается не потому, что кто-то один раз посчитал, а потому что накопилось три месяца подряд одинаковой картины. Это дорогая инерция: три месяца — это три бюджетных цикла, потраченных на подтверждение того, что уже было понятно после первого.
Деньги утекают и через рассинхрон оплаты. Чтобы получить лиды в начале месяца, счёт нужно оплатить в конце предыдущего — например, 28-го числа для лидов 3-го. При этом половина счетов оплачивается не вовремя. При среднем потоке около 50 валовых лидов в день даже три дня простоя из-за просроченного счёта — это около 150 недополученных валовых лидов, и при конверсии в качественные на уровне 33% — около 50 качественных лидов, которых просто не будет в отчёте того месяца (оценка). Дело не в качестве рекламы вообще, а в том, что даже хороший канал не окупится, если платить за него с опозданием и терять первые дни месяца простоя, которые потом никто не компенсирует.
Та же болезнь — в истории с крупной базой контактов с вероятностью целевого признака выше 25%. Прямое предложение консультации или вебинара не сработало вообще — открываемость 50%, конверсия в лиды 0%. Причина в формулировке одной команды: «не понимая сегментацию клиента, бить в лоб бесполезно — это стрельба из пушки по воробьям». Заменили на серию из 3–4 писем с конкретными преимуществами и только потом анонс события. Деньги на рассылку были потрачены один раз — вопрос был не в бюджете, а в последовательности касаний.
ИИ-связка: проверка лида до того, как он попал в отчёт по ROI
Вот здесь машина закрывает вашу главную дыру: она смотрит каждый лид до того, как он испортит вам статистику, и отделяет мусор от реальных обращений.
Большая часть разобранных выше искажений — дубли, неатрибутируемые лиды, задержка с пометкой «неверный источник» — это работа, которую руками делать долго и лень, поэтому её не делают вообще. Отчёт собирают из сырых данных CRM, и все дубли с мусором едут прямо в расчёт ROI. Это чинится не заменой CRM, а простым конвейером-фильтром перед тем, как лид попадает в отчёт.
Схема конвейера:
1) Лид создаётся в CRM (Bitrix24) через форму сайта или рекламный кабинет → 2) вебхук CRM при создании нового лида дёргает облачную функцию → 3) функция подтягивает через Bitrix24 REST API последние лиды за 48 часов (crm.lead.list) и формирует запрос к модели → 4) модель возвращает JSON с флагом дубля и статусом атрибуции → 5) функция записывает результат обратно в кастомные поля лида (crm.lead.update) → 6) маркетолог и РОП видят уже очищенные цифры в еженедельном отчёте.
| Лид | Дубль | Атрибуция |
|---|---|---|
| 88213 | нет | unattributed |
| 88214 | да, 88190 | instagram_ads |
Модель на этом шаге — дешёвая (класса GPT-4o-mini или аналог): задача чисто классификационная, вызовов много (на каждый новый лид), платить за дорогую модель здесь нет смысла — точность сопоставления по телефону/email и utm-меткам не требует «рассуждений», только сверки шаблонов.
Ты — модуль предобработки лидов перед расчётом ROI рекламы.
На входе:
1. NEW_LEAD — JSON нового лида.
2. RECENT_LEADS — JSON-массив последних лидов за 48 часов.
NEW_LEAD:
{
"id": "88213",
"phone": "+79161234567",
"email": "client88213@mail.ru",
"utm_source": "",
"utm_campaign": "",
"form_id": "site_footer",
"created_at": "2026-06-03T09:14:00"
}
Задача:
1. Определи, является ли NEW_LEAD дублем одного из RECENT_LEADS
(совпадение телефона ИЛИ email, разница по времени менее 48 часов).
2. Если utm_source пустой — определи вероятную причину
(блокировка cookie, прямой заход, реферальная ссылка без меток)
на основе form_id и наличия похожих лидов без меток за тот же день.
3. Не выдумывай источник, если нет оснований — ставь "unattributed".
Верни строго JSON без пояснений вне JSON:
{
"lead_id": "",
"is_duplicate": true/false,
"duplicate_of_id": "" или null,
"attribution_status": "attributed" | "unattributed",
"likely_reason": "",
"confidence": 0.0-1.0
}
Пример ответа модели:
{
"lead_id": "88213",
"is_duplicate": false,
"duplicate_of_id": null,
"attribution_status": "unattributed",
"likely_reason": "no utm params, footer form, likely cookie block or direct visit",
"confidence": 0.71
}
Инженерная обвязка: облачная функция крутится на serverless-платформе (например, Yandex Cloud Functions или аналог), триггерится вебхуком Bitrix24 на событие создания лида. Результат пишется в кастомные поля UF_DUPLICATE и UF_ATTRIBUTION_STATUS через crm.lead.update. Если Bitrix24 API не ответил или модель вернула невалидный JSON — запись падает в отдельный лист Google Sheets «ошибки предобработки», а в рабочий чат маркетолога уходит уведомление. Раз в час отдельное расписание догоняет необработанные лиды (там, где кастомное поле осталось пустым) — это защита от разовых сбоев вебхука.
Этот инструмент не стоит путать с решением проблемы качества трафика. Скоринг и дедупликация чистят отчёт — они не чинят оффер, не переводят рекламу на нужный аватар клиента и не ускоряют оплату счетов. Это отдельная задача, разобранная в предыдущих разделах, и её эффект нельзя приписывать одной автоматизации.
бесплатный курс · телеграм
Свести рекламу и продажи в одну картину
В курсе — как поставить сквозную картину от источника до оплаты: где брать данные, что считать самому, что отдать машине. Без подрядчиков и без программирования.
Начать курс бесплатно →открывается в Telegram · доступ по подписке на канал
Как считать окупаемость, чтобы не обманывать себя
Рабочая точка отсчёта — не лид и не клик, а оплаченный договор, привязанный к дате оплаты, а не к дате создания заявки. В примере с расхождением сумм по разным менеджерам именно смена фильтра «месяц оплаты» вместо «месяц создания» дала честную картину.
Дальше — план не месяцем, а неделями и днями. У компании план по качественным лидам заметно вырос от мая к июню — но контроль шёл по неделям: несколько десятков валовых лидов в день, около трети из них качественные, накопленным итогом за месяц набиралось нужное число. Такая детализация позволяет увидеть отставание на третьей неделе, а не в последний день месяца, когда исправлять уже поздно.
| Неделя | Плановый темп | Контрольная точка |
|---|---|---|
| Неделя 1 | Около четверти месячного плана качественных лидов | Сверка по факту среды и пятницы |
| Неделя 2 | Ещё столько же, накопленным итогом около половины плана | Если отстаём — корректировка бюджета до конца недели |
| Неделя 3 | Накопленным итогом около трёх четвертей плана | Последняя точка для догона плана без аврала |
| Неделя 4 + остаток | Добор до полного месячного плана | Разбор причин отставания, а не только цифры |
Отдельно — коэффициент сезонности. Для декабря как месяца низкого спроса ввели коэффициент 0,8 — на 20% ниже обычного плана, с перераспределением объёмов на другие месяцы. Без этого декабрьский провал каждый год выглядел бы как авария, а не как предсказуемая сезонность, и решения принимались бы панически, а не по графику.
И наконец — контроль качества самих лидов, а не только их числа. Из общего объёма качественными по факту проверки оказались только около 40%, при том что рассчитывали на отвал не больше 20%. Если не считать процент отбраковки отдельно, реклама может «работать» по количеству и одновременно проваливаться по деньгам.
Экономика: что стоит фильтр лидов и что он даёт
Считаем честно, без смешивания с другими инициативами из этой статьи (сменой оффера, сегментацией базы, ускорением оплаты счетов — это отдельные решения со своим эффектом).
Стоимость внедрения конвейера дедупликации и атрибуции: разработка вебхука и функции — это разовая работа на 1–2 дня специалиста уровня «настроить интеграцию», плюс настройка кастомных полей в CRM. По времени это 12–16 часов работы — то есть разовые вложения, сопоставимые примерно с двумя рабочими днями одного специалиста (оценка).
Эксплуатация: вызовы дешёвой модели на классификацию лида стоят копейки за штуку — при типовом для этой воронки потоке валовых лидов в день это заведомо ниже стоимости одного часа работы аналитика в месяц, даже с запасом на повторные догоны по расписанию (оценка на основе публичных цен на модели класса mini).
Эффект нужно считать не как «сколько денег принёс инструмент», а как «сколько времени и риска он снимает». Пример на условных, но реалистичных числах: если аналитик тратит 3 часа в неделю на ручную сверку дублей и разметку неатрибутируемых лидов при типовом потоке лидов — это около 12 часов в месяц ручного труда, которые автоматизация снимает почти полностью, то есть высвобождается объём времени, сопоставимый примерно с полутора рабочими днями специалиста ежемесячно (оценка).
Формула для своего случая: (часы ручной сверки лидов в месяц) × (ставка специалиста в час) = ежемесячные потери на ручной труд, который заменяет фильтр. Если это число больше стоимости разового внедрения — инструмент окупается быстро. В нашем примере разовые затраты на внедрение (12–16 часов работы) окупаются примерно за 1–1,5 месяца снятого ручного труда — и это без учёта второго, более весомого эффекта, который считается отдельно.
Второй, более весомый эффект — не экономия часов, а снятый риск ошибочного решения. Пример: доля неатрибутируемых лидов — 20–30% в обычный месяц (по декабрю — все 30%) от бюджета канала. Это значит, что решение «отключить канал» или «удвоить бюджет» в такой месяц принимается вслепую по 20–30% объёма трафика канала, происхождение которого никто не подтвердил.
Эти два эффекта — экономия часов и снятый риск ошибочного решения — не складываются механически в одну сумму: часы считаются в трудозатратах текущего месяца, а риск — это вероятность более дорогой ошибки в будущем. Держите их раздельно, если считаете окупаемость для своего случая, иначе легко приписать инструменту чужой эффект.
Отдельно — про инфлюенсеров: 350 000 ₽ и ноль договоров за месяц — это цифра одного канала, не результат фильтра лидов и не заслуга или вина автоматизации. Её нельзя чинить дедупликацией — здесь нужен другой разговор: о критериях выбора площадки и контрольной точке отсечения бюджета до третьего месяца, а не после. Подробнее о том, как считать реальную стоимость ИИ-инструментов в подобных конвейерах, — в разборе сколько на самом деле стоит ИИ в месяц.
Чек-лист: с чего начать в понедельник
- Выгрузить лиды за последний месяц и посчитать долю без utm-меток или с пустым источником — если больше 15%, завести отдельную строку «неатрибутируемые» в отчёте.
- Проверьте отчёт по продажам по двум фильтрам — «дата создания заявки» и «дата оплаты договора» — и сравнить итоговые суммы. Расхождение больше 5% значит, что текущий отчёт врёт.
- Найдите хотя бы один канал, где ROI отрицательный два месяца подряд, и явно решить: третий месяц наблюдения или остановка — без «ещё чуть-чуть посмотрим».
- Разбейте месячный план по лидам на недели с контрольными точками — не ждать конца месяца, чтобы узнать об отставании.
- Проверьте процент отбраковки лидов за контроль качества отдельно от процента конверсии в продажу — если отбрак выше плана в 2–3 раза, проблема в качестве трафика, а не в отделе продаж.
- Если поток лидов заметный (десятки в день) — оценить, сколько часов в неделю уходит на ручную сверку дублей (например, 3 часа в неделю ≈ 12 часов в месяц), и сравнить с разовой стоимостью внедрения фильтра (по нашей оценке — порядка 12–16 часов работы специалиста); если ручной труд стоит дороже за 1–2 месяца — фильтр окупается быстро.
Что сделать на этой неделе: возьмите последний отчёт по рекламе и рядом положите фактические поступления за тот же период. Не выручку по CRM, а деньги. Если цифры не сходятся — вы нашли, где искать, и это уже половина решения.
Механику сквозного счёта — от клика до платежа, с проверкой качества лида до попадания в отчёт — разбираю в бесплатном курсе для руководителей.
Мой опыт: где я ошибался сам
Я долго смотрел на стоимость лида как на главную цифру. Мы её снижали, гордились результатом — и не понимали, почему касса не растёт. Ошибка была в том, что я мерил вход в воронку, а деньги живут на выходе.
Перелом случился, когда мы связали рекламу с фактическими оплатами. Выяснилось, что самый «дорогой» канал давал клиентов с чеком вдвое выше и почти без отказов, а «дешёвый» — вал заявок, из которых до денег доходили единицы. Мы полгода вкладывали в худший канал, потому что он лучше выглядел в отчёте.
Тогда я и назвал для себя тот навык, которого мне не хватало. Навык руководителя здесь не в том, чтобы разбираться в настройках рекламного кабинета, — а в том, чтобы к любой красивой цифре в отчёте задавать два вопроса: в каких деньгах она выражается и на какую дату посчитана. Два вопроса, тридцать секунд. Их не задают годами.
Если у вас маркетолог отчитывается стоимостью лида и вы этим довольны — вы, скорее всего, повторяете мою ошибку прямо сейчас. Попросите его показать выручку по каналам, а не заявки. Разговор изменится в тот же день.
Сделайте на этой неделе один запрос: выручка по каналам за квартал, не заявки. Если таких данных нет — вот вам первая задача, и она важнее любой оптимизации ставок. Как связать рекламу с деньгами и проверять качество лида до отчёта — механика в бесплатном курсе для руководителей.
Частые вопросы
Что такое слив рекламного бюджета?
Это ситуация, когда деньги на рекламу тратятся, лиды или охваты растут, но не превращаются в оплаченные договоры — как с инфлюенсерами, где потратили 350 000 ₽ и не получили ни одной сделки за месяц.
Как посчитать ROI рекламы, если часть лидов не атрибутируется?
Выделить неатрибутируемые лиды отдельной строкой с причиной (блокировщики, очистка cookie), а не размазывать их по каналам — иначе доля до 30% искажает картину по каждому каналу.
Почему рост конверсии в лиды не означает рост продаж?
Потому что лид и оплаченный договор — разные события в разные даты; нужно смотреть воронку до кассы и фильтровать по дате оплаты, а не по дате создания заявки.
Окупаемость рекламы и ROMI — это одно и то же?
Нет. ROMI — формула: отношение прибыли от кампании к затратам на неё, её считают по тем данным, которые есть в отчёте. Окупаемость рекламы — управленческий вопрос о том, дошли ли деньги до кассы: от какой даты считаете (оплаты или заявки), что делаете с неатрибутируемыми лидами и с браком. Формулу можно посчитать безупречно на цифрах, которые врут.
#деньги #ошибки и провалы #ии и нейросети
Присылаю новый разбор в день выхода — с цифрами, которые можно подставить в свою таблицу. Без дайджестов ради дайджестов: нет статьи — нет письма.