директор и машина · маркетинг · запись № 044 · · Давид Герштейн
Заявки с сайта: где они теряются на пути от формы до оплаты
Заявки с сайта чаще всего «не работают» не потому, что сломалась форма, а потому что отчёт врёт: дубли задваивают лиды, часть трафика не атрибутируется, а конверсия считается по разным датам. В компании на 40 человек качественными оказались лишь 40% лидов при плане 80% — и решило это не изменение трафика, а пересборка одного экрана с ИИ-скорингом на входе.
Содержание · 10 разделов
- Где теряются заявки с сайта
- Экран, который врал по-тихому
- Пять причин, по которым заявки с сайта теряются
- Пересборка: что делать по шагам
- ИИ-связка: разметка и скоринг
- Экран после пересборки
- Где цепочка рвётся ещё раз — на стыке с оплатой
- Что это стоит и что даёт
- Чек-лист на понедельник
- Как я это нашёл у себя
Суммы в разборе пересчитаны на условную компанию — пропорции, механика и выводы реальные.
Заявка с сайта — самый дорогой контакт из всех, что у вас есть: за него заплачено рекламой, сайтом и работой маркетолога. И самый уязвимый: цепочка от формы до оплаты рвётся минимум в четырёх местах.
Смотрите. Если вы до сих пор считаете заявки с сайта одной цифрой «сколько пришло» — у вас не отчёт, а экран для успокоения. И бюджет вы двигаете вслепую, даже если графики аккуратно рисуются каждое утро.
Утро понедельника, отдел маркетинга смотрит на дашборд с заявками с сайта: конверсия органики упала. В январе было 17%, в марте — почти 15%, в апреле — уже ниже 10%. Руководитель произносит вслух: «Тенденция по лидам идёт вниз. Если отдел продаж работает по плану, а маркетинг столько лидов не даст — мы снова там, где не хотим быть». Логичная реакция — резать бюджет на органику и переливать деньги в платный трафик.
Проблема в том, что цифра 10% — не про трафик. Она про то, как отчёт считает лидов. Одна точка входа на сайте генерит два-три дубликата в CRM. Каждый десятый-пятнадцатый лид вообще не атрибутируется — пользователь заблокировал куки или почистил историю, а в декабре доля таких «ничейных» заявок доходит до 30%. И конверсия в отчёте зависит от того, по какой дате её считать: по дате создания заявки или по дате оплаты. На одном и том же массиве данных эти два среза дают расхождение в разы. Отдел продаж здесь — 8 менеджеров с планом около 50 сделок в месяц при обороте ~9 млн ₽ и среднем чеке ~180 тыс. ₽; похожий разбор того, как искажённые цифры ломают план продаж, — в статье про ошибки согласования договоров. Если решение «резать органику» принято на кривых цифрах — это удар не по строчке в таблице, а по реальному потоку сделок.
Где теряются заявки с сайта
Не в форме, а в отчёте. Одна точка входа на сайте создаёт 2–3 записи в CRM, 10–15% лидов в обычный месяц и до 30% в декабре не привязываются к каналу, а конверсия считается то по дате создания, то по дате оплаты — и на одном и том же массиве данных даёт разные ответы.
Первое действие — не резать трафик, а развести в вашем отчёте валовые и уникальные заявки, вынести неатрибутируемые в отдельную категорию и считать план/факт по одной дате. В разобранном случае качественными оказались 120 лидов из 300 — 40% при плане 80%.
Экран, который врал по-тихому
Вот как выглядел дашборд до пересборки. Одна вкладка, три колонки: дата, число заявок с сайта, конверсия в продажу. Автообновление раз в сутки. Если у вас на экране те же три колонки — дальше можно не гадать, где именно теряется. Красиво, но бесполезно для управленческого решения — потому что за каждой цифрой в колонке «заявки» стоят как минимум четыре разных явления, слитых в одну сумму.
Руководитель наткнулся на разрыв случайно, пока разбирался с падением конверсии: похожий кейс, где смена фильтра «дата оплаты / дата создания» меняла итоговую сумму отчёта в разы, я уже подробно разбирал в статье про то, во сколько на самом деле обходится реклама. В своей ситуации руководитель обнаружил то же самое: сумма по одному и тому же месяцу отличалась почти вдвое в зависимости от того, по какой дате её считать — по дате создания сделки или по дате поступления оплаты. Один и тот же массив данных, два разных вывода — смотря кто и как считает.
Ещё одна цитата с той же планёрки: «Отсутствие информации — это отсутствие рычагов давления. И это меня прям очень сильно бесит». Речь шла о невозможности разделить конверсию по Google и по Яндексу из-за ограничений интеграции — а без этого разреза непонятно, куда лить бюджет, а откуда его убирать.
Пять причин, по которым заявки с сайта теряются
Отметьте, какие есть у вас. Три из пяти встречаются почти в каждой компании.
После разбора набралось пять причин, по которым один и тот же экран показывал разные версии реальности.
- Дубли на входе. Одна точка входа на сайте (форма, чат-бот, звонок с сайта) создаёт два-три лида в CRM — например, если форма отправляет данные и в CRM напрямую, и через рекламный пиксель отдельным вебхуком. Отчёт считает валовые заявки, не различая уникальные обращения.
- Неатрибутируемый трафик. 10–15% лидов в обычный месяц и до 30% в декабре невозможно привязать к каналу — блокировщики рекламы, приватный режим, очистка cookies. Эти лиды либо выкидываются из отчёта по каналам (искажая конверсию платных источников вверх), либо приписываются случайному каналу (искажая её вниз).
- Дата создания vs дата оплаты. Сделка может быть создана в одном месяце, а оплачена в другом. Если отчёт не разделяет эти два среза явно, любое сравнение план/факт по месяцам становится нечестным — это тот же механизм, что подробно разобран в статье про сдвиг дат в Отчёты Битрикс24: почему цифры не сходятся и как доказать.
- Валовый объём вместо качества. Из потока лидов только 120 из 300 (40%) проходили проверку качества, хотя план предполагал отвал не более 20%. Отчёт со строчкой «заявки с сайта: 300» без разбивки на качество выглядит отлично и полностью врёт про реальный поток годных обращений.
- Смешение источников без разреза. Конверсия органики падала три месяца подряд (17% → 15% → менее 10%), но в общем отчёте это тонуло среди платного трафика — никто не видел тренд, пока кто-то не построил отдельный срез вручную.
Маркетолог Оля, разбирая похожий случай, формулирует это так: продажи кричат «лиды плохие», а на деле часть «плохих» лидов — просто дубли одного и того же человека, посчитанные трижды (подробнее — Лиды есть, а продаж нет).
рассылка журнала
Разборы про лиды и рекламу — на почту
Куда утекает бюджет, почему падает качество лидов и как считать источники, когда половина без метки.
Пересборка: что делать по шагам
Техническая часть разобрана отдельно: автоматизация обработки заявок — пять шагов от письма до задачи, включая шаблонные обращения.
Ваш порядок: сначала проверка данных, потом логика отчёта, и только затем внешний вид.
Дальше — не абстрактная «оптимизация воронки», а конкретная последовательность действий, которую вы можете повторить с любой CRM, где есть вебхуки.
- Дедупликация на входе. Что: каждая новая заявка. Чем: скрипт-обработчик вебхука сравнивает телефон и email с последними 30 днями лидов. Куда: если совпадение найдено — заявка помечается флагом «дубль» и не увеличивает счётчик валовых лидов в отчёте, а лишь дописывается как повторное касание к существующей карточке.
- Маркировка неатрибутируемых. Что: заявки без utm-меток и с пустым referrer. Чем: правило в CRM плюс серверная (не только клиентская) фиксация источника через IP и таймстемп сессии. Куда: отдельная категория в отчёте «источник не определён», не смешанная ни с одним платным каналом.
- Две даты вместо одной. Что: момент создания сделки и момент поступления оплаты. Чем: два отдельных поля в CRM, оба выводятся в отчёт как независимые срезы. Куда: план/факт по месяцам считается по дате оплаты, скорость цикла — по разнице между датами.
- Скоринг качества на входе, а не через две недели. Что: поведенческие данные с сайта (время на странице, посещённые разделы) плюс данные из внешних источников (сегмент, тип услуги). Чем: модель присваивает предварительную вероятность сделки сразу при создании лида. Куда: приоритет менеджеру — кому звонить в первую очередь, а не общий список без сортировки.
- Разрез по каналу без смешения. Что: конверсия по каждому источнику отдельно (органика, Google, Яндекс, соцсети). Чем: отдельная вкладка отчёта с недельной динамикой, а не общий агрегат. Куда: еженедельная сверка на планёрке, где смотрят не общее число лидов, а тренд по каждому каналу отдельно.
- Контрольная точка по дням. Что: план 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% в апреле, три месяца подряд вниз.
Падение фиксировали три месяца подряд, но реального обвала трафика не было — отчёт путал источники и смешивал органику с платным трафиком, тренд был виден только в отдельном разрезе.
SEO-специалист, который взялся за пересборку, обещал уложиться в два дня — сделал за выходные, добавив реал-тайм отслеживание лидов и конверсий по страницам. Дальше команда параллельно тестирует две ключевые позиции в топ-3 Яндекса до 15 июня, чтобы проверить, коррелирует ли рост трафика с ростом продаж, или проблема остаётся не в трафике, а в обработке. Отдельно ввели коэффициент сезонности 0,8 для декабря — чтобы не сравнивать провальный по объективным причинам месяц с остальными наравне.
Где цепочка рвётся ещё раз — на стыке с оплатой
Даже с идеально размеченным дашбордом цепочка «клик → лид → сделка» может рваться не в аналитике, а в операционке рядом с ней. В том же отделе всплыла отдельная проблема: чтобы лиды пришли в начале месяца, счёт за них нужно оплатить заранее — например, 28-го числа предыдущего месяца, чтобы получить поток 3-го числа следующего. При этом, по признанию менеджера, около половины счетов оплачивается не вовремя. Результат предсказуем: даже безупречный отчёт о заявках не спасает, если сам поток лидов физически не запущен из-за просроченного счёта — тогда «дно» на графике конверсии на самом деле «дно» на графике оплат, а не на графике трафика. Это тот же тип ошибки, что и путаница дат создания/оплаты сделки, только на шаг раньше в цепочке — перед тем, как лид вообще появится.
бесплатный курс · телеграм
Свести рекламу и продажи в одну картину
В курсе — как поставить сквозную картину от источника до оплаты: где брать данные, что считать самому, что отдать машине. Без подрядчиков и без программирования.
Начать курс бесплатно →открывается в Telegram · доступ по подписке на канал
Что это стоит и что даёт
Разработчик потратил на пересборку дашборда и вебхука дедупликации примерно 16 часов (оценка, по факту «выходные»). При ставке около 1000 ₽/час это разово 16 000 ₽ (оценка). Скоринг лидов дешёвой моделью при потоке 1500 заявок в месяц — расходы на API около 3–5 тысяч рублей в месяц; точный разбор счетов за токены — тема отдельной статьи Сколько на самом деле стоит ИИ в месяц.
Эффект считаю отдельно от прочих маркетинговых мер — только то, что даёт именно очистка отчёта и скоринг на входе, без учёта параллельных изменений в SEO, рекламе или SMM. Формула для своего случая словами: (фактическая доля отвала минус плановая доля) × поток лидов в месяц = число лишних лидов, которые кто-то должен вручную посмотреть и закрыть; дальше это число × время на один лид в часах × ставка часа сотрудника = потери в месяц на обработку мусора.
Подставляю числа этого случая: поток 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 вручную — без этого шага любая автоматика через месяц начнёт врать незаметно.
- Запустить скоринг на тестовой выборке 100–200 лидов и сравнить приоритет модели с тем, что менеджеры делают интуитивно — расхождение покажет, где модель ошибается.
И отдельным пунктом, поверх всего списка: отправьте тестовую заявку через свою же форму со своего телефона. Засеките время до звонка, послушайте, что вам скажут, посмотрите, появилась ли заявка в CRM и с каким источником. Пятнадцать минут. Если хотя бы одно из четырёх сработало не так, как вы ожидали, — вы нашли свою дыру.
Как я это нашёл у себя
Я отправил такую заявку с личного телефона в четверг вечером. Мне перезвонили в понедельник днём. При этом наш отчёт показывал среднее время ответа — сорок минут, и я этому отчёту верил.
Разгадка оказалась простой: в среднее не попадали заявки, которые вообще не обработали, — их просто не было в выборке. Мы считали среднее по тем, кому ответили, и радовались цифре. Это моя ошибка, а не ошибка отчёта: я не понимал, что цифру, посчитанную машиной, надо выборочно проверять руками, — и не проверял. Здесь ошибаются все, включая меня; чинится это за один вечер, так что закрывать вкладку от стыда не надо.
Умение не верить собственному отчёту, пока не проверил его руками, — это отдельный навык руководителя, такой же рабочий, как чтение отчёта о деньгах. Раньше без него жили: цифры собирали люди, с людей и спрашивали. Сейчас их собирает машина, и спросить с неё не с кого — отвечаете вы.
Считаю так: пока вы своими глазами не увидели, что происходит с обращением клиента, все настройки, интеграции и скрипты преждевременны. Отправьте тестовую заявку сегодня, до конца дня, — а как закрыть найденные разрывы и поставить контроль, разобрано в бесплатном курсе.
Частые вопросы
Почему заявки с сайта не работают, хотя реклама крутится и лиды идут?
Чаще всего работает всё, кроме отчёта: дубли, неатрибутируемый трафик и путаница дат создают иллюзию провала там, где реальная проблема — в качестве обработки лидов.
Что делать, если конверсия сайта упала, а причина непонятна?
Сначала разделить валовые и уникальные лиды, убрать неатрибутируемые из общего знаменателя, свести отчёт по дате создания и по дате оплаты отдельно — и только потом делать выводы о трафике.
Как проверить, что заявки с сайта теряются именно на этапе передачи в CRM?
Сравнить число заявок на форме сайта, число событий в вебхуке CRM и число карточек лидов — расхождение больше 5% почти всегда означает дубли или потерю на стороне интеграции.
Заявки с сайта — это то же самое, что настройка формы на сайте?
Нет. Настройка формы — работа веб-разработчика: вёрстка, отправка, защита от спама. Здесь разбирается то, что происходит с заявкой после отправки: дошла ли она в CRM, не задвоилась ли, привязалась ли к источнику и по какой дате её считает отчёт. Цена одной заявки — тоже отдельный вопрос, он про рекламу, а не про путь заявки до оплаты.
#аналитика и отчётность #ошибки и провалы #контроль и надёжность
Присылаю новый разбор в день выхода — с цифрами, которые можно подставить в свою таблицу. Без дайджестов ради дайджестов: нет статьи — нет письма.