журналопыт и цифрыцифры и определенияавтор

директор и машина · маркетинг · запись № 044 · · Давид Герштейн

Заявки с сайта: где они теряются на пути от формы до оплаты

качество лидов 40% при плане 80% · органика 17%→<10% · неатрибуция до 30% в декабре
Коротко · суть разбора

Заявки с сайта чаще всего «не работают» не потому, что сломалась форма, а потому что отчёт врёт: дубли задваивают лиды, часть трафика не атрибутируется, а конверсия считается по разным датам. В компании на 40 человек качественными оказались лишь 40% лидов при плане 80% — и решило это не изменение трафика, а пересборка одного экрана с ИИ-скорингом на входе.

Содержание · 10 разделов
  1. Где теряются заявки с сайта
  2. Экран, который врал по-тихому
  3. Пять причин, по которым заявки с сайта теряются
  4. Пересборка: что делать по шагам
  5. ИИ-связка: разметка и скоринг
  6. Экран после пересборки
  7. Где цепочка рвётся ещё раз — на стыке с оплатой
  8. Что это стоит и что даёт
  9. Чек-лист на понедельник
  10. Как я это нашёл у себя

Суммы в разборе пересчитаны на условную компанию — пропорции, механика и выводы реальные.

Заявка с сайта — самый дорогой контакт из всех, что у вас есть: за него заплачено рекламой, сайтом и работой маркетолога. И самый уязвимый: цепочка от формы до оплаты рвётся минимум в четырёх местах.

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

Утро понедельника, отдел маркетинга смотрит на дашборд с заявками с сайта: конверсия органики упала. В январе было 17%, в марте — почти 15%, в апреле — уже ниже 10%. Руководитель произносит вслух: «Тенденция по лидам идёт вниз. Если отдел продаж работает по плану, а маркетинг столько лидов не даст — мы снова там, где не хотим быть». Логичная реакция — резать бюджет на органику и переливать деньги в платный трафик.

Проблема в том, что цифра 10% — не про трафик. Она про то, как отчёт считает лидов. Одна точка входа на сайте генерит два-три дубликата в CRM. Каждый десятый-пятнадцатый лид вообще не атрибутируется — пользователь заблокировал куки или почистил историю, а в декабре доля таких «ничейных» заявок доходит до 30%. И конверсия в отчёте зависит от того, по какой дате её считать: по дате создания заявки или по дате оплаты. На одном и том же массиве данных эти два среза дают расхождение в разы. Отдел продаж здесь — 8 менеджеров с планом около 50 сделок в месяц при обороте ~9 млн ₽ и среднем чеке ~180 тыс. ₽; похожий разбор того, как искажённые цифры ломают план продаж, — в статье про ошибки согласования договоров. Если решение «резать органику» принято на кривых цифрах — это удар не по строчке в таблице, а по реальному потоку сделок.

Где теряются заявки с сайта

Не в форме, а в отчёте. Одна точка входа на сайте создаёт 2–3 записи в CRM, 10–15% лидов в обычный месяц и до 30% в декабре не привязываются к каналу, а конверсия считается то по дате создания, то по дате оплаты — и на одном и том же массиве данных даёт разные ответы.

Первое действие — не резать трафик, а развести в вашем отчёте валовые и уникальные заявки, вынести неатрибутируемые в отдельную категорию и считать план/факт по одной дате. В разобранном случае качественными оказались 120 лидов из 300 — 40% при плане 80%.

Экран, который врал по-тихому

Вот как выглядел дашборд до пересборки. Одна вкладка, три колонки: дата, число заявок с сайта, конверсия в продажу. Автообновление раз в сутки. Если у вас на экране те же три колонки — дальше можно не гадать, где именно теряется. Красиво, но бесполезно для управленческого решения — потому что за каждой цифрой в колонке «заявки» стоят как минимум четыре разных явления, слитых в одну сумму.

Руководитель наткнулся на разрыв случайно, пока разбирался с падением конверсии: похожий кейс, где смена фильтра «дата оплаты / дата создания» меняла итоговую сумму отчёта в разы, я уже подробно разбирал в статье про то, во сколько на самом деле обходится реклама. В своей ситуации руководитель обнаружил то же самое: сумма по одному и тому же месяцу отличалась почти вдвое в зависимости от того, по какой дате её считать — по дате создания сделки или по дате поступления оплаты. Один и тот же массив данных, два разных вывода — смотря кто и как считает.

Ещё одна цитата с той же планёрки: «Отсутствие информации — это отсутствие рычагов давления. И это меня прям очень сильно бесит». Речь шла о невозможности разделить конверсию по Google и по Яндексу из-за ограничений интеграции — а без этого разреза непонятно, куда лить бюджет, а откуда его убирать.

Пять причин, по которым заявки с сайта теряются

Отметьте, какие есть у вас. Три из пяти встречаются почти в каждой компании.

После разбора набралось пять причин, по которым один и тот же экран показывал разные версии реальности.

  1. Дубли на входе. Одна точка входа на сайте (форма, чат-бот, звонок с сайта) создаёт два-три лида в CRM — например, если форма отправляет данные и в CRM напрямую, и через рекламный пиксель отдельным вебхуком. Отчёт считает валовые заявки, не различая уникальные обращения.
  2. Неатрибутируемый трафик. 10–15% лидов в обычный месяц и до 30% в декабре невозможно привязать к каналу — блокировщики рекламы, приватный режим, очистка cookies. Эти лиды либо выкидываются из отчёта по каналам (искажая конверсию платных источников вверх), либо приписываются случайному каналу (искажая её вниз).
  3. Дата создания vs дата оплаты. Сделка может быть создана в одном месяце, а оплачена в другом. Если отчёт не разделяет эти два среза явно, любое сравнение план/факт по месяцам становится нечестным — это тот же механизм, что подробно разобран в статье про сдвиг дат в Отчёты Битрикс24: почему цифры не сходятся и как доказать.
  4. Валовый объём вместо качества. Из потока лидов только 120 из 300 (40%) проходили проверку качества, хотя план предполагал отвал не более 20%. Отчёт со строчкой «заявки с сайта: 300» без разбивки на качество выглядит отлично и полностью врёт про реальный поток годных обращений.
  5. Смешение источников без разреза. Конверсия органики падала три месяца подряд (17% → 15% → менее 10%), но в общем отчёте это тонуло среди платного трафика — никто не видел тренд, пока кто-то не построил отдельный срез вручную.

Маркетолог Оля, разбирая похожий случай, формулирует это так: продажи кричат «лиды плохие», а на деле часть «плохих» лидов — просто дубли одного и того же человека, посчитанные трижды (подробнее — Лиды есть, а продаж нет).

рассылка журнала

Разборы про лиды и рекламу — на почту

Куда утекает бюджет, почему падает качество лидов и как считать источники, когда половина без метки.

Пересборка: что делать по шагам

Техническая часть разобрана отдельно: автоматизация обработки заявок — пять шагов от письма до задачи, включая шаблонные обращения.

Ваш порядок: сначала проверка данных, потом логика отчёта, и только затем внешний вид.

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

  1. Дедупликация на входе. Что: каждая новая заявка. Чем: скрипт-обработчик вебхука сравнивает телефон и email с последними 30 днями лидов. Куда: если совпадение найдено — заявка помечается флагом «дубль» и не увеличивает счётчик валовых лидов в отчёте, а лишь дописывается как повторное касание к существующей карточке.
  2. Маркировка неатрибутируемых. Что: заявки без utm-меток и с пустым referrer. Чем: правило в CRM плюс серверная (не только клиентская) фиксация источника через IP и таймстемп сессии. Куда: отдельная категория в отчёте «источник не определён», не смешанная ни с одним платным каналом.
  3. Две даты вместо одной. Что: момент создания сделки и момент поступления оплаты. Чем: два отдельных поля в CRM, оба выводятся в отчёт как независимые срезы. Куда: план/факт по месяцам считается по дате оплаты, скорость цикла — по разнице между датами.
  4. Скоринг качества на входе, а не через две недели. Что: поведенческие данные с сайта (время на странице, посещённые разделы) плюс данные из внешних источников (сегмент, тип услуги). Чем: модель присваивает предварительную вероятность сделки сразу при создании лида. Куда: приоритет менеджеру — кому звонить в первую очередь, а не общий список без сортировки.
  5. Разрез по каналу без смешения. Что: конверсия по каждому источнику отдельно (органика, Google, Яндекс, соцсети). Чем: отдельная вкладка отчёта с недельной динамикой, а не общий агрегат. Куда: еженедельная сверка на планёрке, где смотрят не общее число лидов, а тренд по каждому каналу отдельно.
  6. Контрольная точка по дням. Что: план 220 лидов в мае, 332 в июне при плановых 15 качественных лидов в день. Чем: детализация по неделям и дням — например, за прошлую неделю (без выходных) факт был 16–17 качественных лидов в день, за месяц накопилось больше 200, и при оставшихся 5–6 рабочих днях видно уже к вечеру среды, догоняет компания план или нет. Куда: короткий чат-алерт, если факт дня ниже 70% от плана два дня подряд.

ИИ-связка: разметка и скоринг

Это снимет с ваших менеджеров разбор мусорных обращений и покажет реальную картину по источникам.

Схема простая: сайт → вебхук CRM → скрипт дедупликации → вызов модели для скоринга и разметки → запись результата обратно в карточку лида → отчёт читает уже размеченные данные, а не сырые.

На шаге дедупликации и скоринга модель нужна дешёвая — задача классификационная, не творческая, а поток большой (полторы тысячи лидов в месяц при 50 заявках в день). Дорогая модель здесь — деньги на ветер, точность та же.

Роль: ты — классификатор входящих заявок с сайта для B2B-услуг.
На вход подаётся JSON с одной заявкой и списком похожих заявок за 30 дней.

Формат входа:
{
  "lead_id": "84213",
  "phone": "+7900...",
  "email": "client@mail.ru",
  "utm_source": "yandex_direct",
  "utm_medium": null,
  "time_on_site_sec": 340,
  "pages_visited": ["/tarify", "/kejsy", "/kontakty"],
  "segment": "malyi_biznes",
  "similar_leads_30d": [
    {"lead_id": "84190", "phone": "+7900...", "created_at": "2026-08-20"}
  ]
}

Задача:
1. Определи, является ли заявка дублем одной из similar_leads_30d
   (совпадение телефона ИЛИ email — это дубль).
2. Если utm_source отсутствует и referrer пустой — отметь как
   "no_attribution" с причиной.
3. Оцени вероятность сделки от 0 до 100 на основе времени на сайте,
   посещённых разделов и сегмента (посещение /tarify и /kejsy —
   сильный сигнал; только /kontakty без остального — слабый).
4. Не придумывай данные, которых нет во входе.

Формат ответа — строго JSON, без пояснений вне JSON.

Пример ответа модели:

{
  "lead_id": "84213",
  "is_duplicate": false,
  "duplicate_of": null,
  "attribution_status": "attributed",
  "no_attribution_reason": null,
  "deal_probability": 62,
  "priority": "high"
}

Инженерная обвязка. Вебхук Bitrix24 (или amoCRM API) ловит событие создания лида и кладёт JSON во временную очередь — таблицу Google Sheets или отдельный лист. Скрипт-обработчик раз в минуту забирает необработанные строки, вызывает модель, пишет результат обратно в карточку лида двумя полями: «дубль/не дубль» и «скоринг». Если API не ответил за 15 секунд — три повторные попытки с задержкой, при финальном отказе строка помечается «требует ручной проверки» и уходит алертом в Telegram-канал маркетинга. Логика перезапуска простая: скрипт идемпотентен, повторный вызов на уже обработанном лиде просто перезаписывает те же поля, ничего не задваивая.

Экран после пересборки

Ниже — таблица, которая заменила собой три колонки старого отчёта. Каждая строка — отдельный, проверяемый срез.

Срез отчётаЗначениеЧто это даёт
Валовые лиды в день~50сырой поток без очистки
Из них дубли (одна точка входа)2–3 записи на 1 обращениеотдельный флаг, не в общем счётчике
Неатрибутируемые (обычный месяц / декабрь)10–15% / до 30%отдельная категория, не смешана с каналами
Качественные лиды после фильтра120 из 300 (40%)план предполагал отвал не более 20%
Конверсия органики (январь → апрель)17% → 15% → <10%виден тренд, не разовая просадка
План качественных лидов (май / июнь)220 / 332раскладка по неделям и дням для контроля отставания

На диаграмме ниже — доля дублей, неатрибуции и брака по качеству на одном и том же потоке лидов.

На диаграмме — как менялась конверсия органики: с 17% в январе до уровня ниже 10% в апреле, три месяца подряд вниз.

17% в январе
<10% в апреле

Падение фиксировали три месяца подряд, но реального обвала трафика не было — отчёт путал источники и смешивал органику с платным трафиком, тренд был виден только в отдельном разрезе.

SEO-специалист, который взялся за пересборку, обещал уложиться в два дня — сделал за выходные, добавив реал-тайм отслеживание лидов и конверсий по страницам. Дальше команда параллельно тестирует две ключевые позиции в топ-3 Яндекса до 15 июня, чтобы проверить, коррелирует ли рост трафика с ростом продаж, или проблема остаётся не в трафике, а в обработке. Отдельно ввели коэффициент сезонности 0,8 для декабря — чтобы не сравнивать провальный по объективным причинам месяц с остальными наравне.

Где цепочка рвётся ещё раз — на стыке с оплатой

Даже с идеально размеченным дашбордом цепочка «клик → лид → сделка» может рваться не в аналитике, а в операционке рядом с ней. В том же отделе всплыла отдельная проблема: чтобы лиды пришли в начале месяца, счёт за них нужно оплатить заранее — например, 28-го числа предыдущего месяца, чтобы получить поток 3-го числа следующего. При этом, по признанию менеджера, около половины счетов оплачивается не вовремя. Результат предсказуем: даже безупречный отчёт о заявках не спасает, если сам поток лидов физически не запущен из-за просроченного счёта — тогда «дно» на графике конверсии на самом деле «дно» на графике оплат, а не на графике трафика. Это тот же тип ошибки, что и путаница дат создания/оплаты сделки, только на шаг раньше в цепочке — перед тем, как лид вообще появится.

бесплатный курс · телеграм

Свести рекламу и продажи в одну картину

В курсе — как поставить сквозную картину от источника до оплаты: где брать данные, что считать самому, что отдать машине. Без подрядчиков и без программирования.

Начать курс бесплатно →

открывается в Telegram · доступ по подписке на канал

Что это стоит и что даёт

Разработчик потратил на пересборку дашборда и вебхука дедупликации примерно 16 часов (оценка, по факту «выходные»). При ставке около 1000 ₽/час это разово 16 000 ₽ (оценка). Скоринг лидов дешёвой моделью при потоке 1500 заявок в месяц — расходы на API около 3–5 тысяч рублей в месяц; точный разбор счетов за токены — тема отдельной статьи Сколько на самом деле стоит ИИ в месяц.

Эффект считаю отдельно от прочих маркетинговых мер — только то, что даёт именно очистка отчёта и скоринг на входе, без учёта параллельных изменений в SEO, рекламе или SMM. Формула для своего случая словами: (фактическая доля отвала минус плановая доля) × поток лидов в месяц = число лишних лидов, которые кто-то должен вручную посмотреть и закрыть; дальше это число × время на один лид в часах × ставка часа сотрудника = потери в месяц на обработку мусора.

посчитайте на своих цифрах
потери ≈ {X} ₽ в месяц на обработку мусора
формула: (факт отвала − план) × поток лидов × минуты на лид × ставка часа / 6000 (перевод минут в часы и рубли)

Подставляю числа этого случая: поток 1500 лидов в месяц, факт отвала 60% вместо плановых 20% — это (60% − 20%) × 1500 = 600 лишних лидов, которые кто-то формально обрабатывает (смотрит, звонит, закрывает карточку). Время на такую обработку — около 10 минут на лид (оценка, консервативно, без учёта времени на повторные касания). Это 600 × 10 мин = 6000 минут = 100 часов в месяц — больше половины ставки одного менеджера. При ставке около 1000 ₽/час (оценка) это 100 × 1000 = 100 000 ₽/мес чистых потерь на обработку мусора, который скоринг на входе мог бы отсеять сразу.

ПоказательЗначение
Поток лидов в месяц1500
Факт отвала vs план60% vs 20%
Лишних лидов на ручную обработку600
Время на лид (оценка)~10 мин
Итого часов в месяц100
Ставка часа (оценка, типовая для менеджера)~1000 ₽
Потери на обработку мусора в месяц (оценка)~100 000 ₽
Разовые затраты на пересборку (оценка)~16 000 ₽ + 3–5 тыс. ₽/мес на скоринг
Окупаемость пересборки (оценка)меньше недели

Разово потраченные на пересборку ~16 000 ₽ плюс 3–5 тыс. ₽/мес на скоринг при экономии порядка 100 000 ₽/мес на разгрузке менеджеров от мусорных лидов окупаются меньше чем за неделю (оценка, консервативно — если хотя бы половина из этих 100 часов реально высвобождается, а не уходит на другие задачи). Это только вклад дедупликации и скоринга на входе — эффект от исправления путаницы дат и разреза по каналам в этой сумме не учтён, потому что он управленческий, а не почасовой.

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

Где ломается. У клиента похожей компании неделю не работал автоматизированный бот для сбора лидов с сайта — и команда клиента не спешила это чинить, потому что общий бизнес всё равно приносил деньги, а поломка одного модуля не выглядела критичной. Итог — потеря данных о потенциальных клиентах за весь этот период, которую никто не заметил без внешнего контроля. Это тот же риск, что разобран в статье про автоматизацию без надзора: «Если бы я не пришёл, ничего бы не произошло». Скоринг и дедупликация ломаются точно так же: без владельца, который раз в неделю сверяет отчёт с CRM руками, любая автоматика тихо деградирует, и об этом узнают только когда цифры становятся совсем абсурдными.

Чек-лист на понедельник

И отдельным пунктом, поверх всего списка: отправьте тестовую заявку через свою же форму со своего телефона. Засеките время до звонка, послушайте, что вам скажут, посмотрите, появилась ли заявка в CRM и с каким источником. Пятнадцать минут. Если хотя бы одно из четырёх сработало не так, как вы ожидали, — вы нашли свою дыру.

Как я это нашёл у себя

Я отправил такую заявку с личного телефона в четверг вечером. Мне перезвонили в понедельник днём. При этом наш отчёт показывал среднее время ответа — сорок минут, и я этому отчёту верил.

Разгадка оказалась простой: в среднее не попадали заявки, которые вообще не обработали, — их просто не было в выборке. Мы считали среднее по тем, кому ответили, и радовались цифре. Это моя ошибка, а не ошибка отчёта: я не понимал, что цифру, посчитанную машиной, надо выборочно проверять руками, — и не проверял. Здесь ошибаются все, включая меня; чинится это за один вечер, так что закрывать вкладку от стыда не надо.

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

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

Частые вопросы

Почему заявки с сайта не работают, хотя реклама крутится и лиды идут?

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

Что делать, если конверсия сайта упала, а причина непонятна?

Сначала разделить валовые и уникальные лиды, убрать неатрибутируемые из общего знаменателя, свести отчёт по дате создания и по дате оплаты отдельно — и только потом делать выводы о трафике.

Как проверить, что заявки с сайта теряются именно на этапе передачи в CRM?

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

Заявки с сайта — это то же самое, что настройка формы на сайте?

Нет. Настройка формы — работа веб-разработчика: вёрстка, отправка, защита от спама. Здесь разбирается то, что происходит с заявкой после отправки: дошла ли она в CRM, не задвоилась ли, привязалась ли к источнику и по какой дате её считает отчёт. Цена одной заявки — тоже отдельный вопрос, он про рекламу, а не про путь заявки до оплаты.

#аналитика и отчётность #ошибки и провалы #контроль и надёжность

→Дальше читать подобрано по направлению и темам
015
Как считать стоимость лида, чтобы не платить за брак
конверсия 33%→6% после смены текста объявления · доля качественных лидов 40% вместо плановых 80% · одна точка входа даёт до 3 дублей на лид
045
Почему UTM-метки теряются у части лидов — и как ИИ восстанавливает источник
10–15% лидов без источника, до 30% в декабре, ~18 лидов/мес теряют разметку (оценка)
043
Рекламный бюджет: во что обходится контроль расходов на плане 220–332 лида
220→332 лида/мес; 40% лидов качественных при плане 80%; 15 лидов/день — порог выхода в план