Если часть заявок ещё обрабатывается, стоимость квалифицированного лида по свежему периоду нельзя честно сравнить с прошлым месяцем или другой кампанией. Расходы уже попали в отчёт полностью, а итоговые статусы — ещё нет. Решение: сравнивать лиды по дате привлечения и давать каждой когорте одинаковое окно квалификации.
Для такой сверки нужны две выгрузки: расходы по дням и список уникальных лидов с датой создания, кампанией и текущим статусом. Срез должен хранить дату подготовки: после следующего звонка менеджера числа изменятся.
Сначала определите итоговые статусы
Договоритесь с продажами, какие состояния заканчивают квалификацию. Например:
qualified— лид соответствует согласованным критериям;rejected— есть проверенная причина отказа;pending— итогового решения ещё нет.
Статус «не дозвонились один раз» лучше оставить промежуточным. Иначе вечерние и выходные заявки будут выглядеть хуже только потому, что менеджер ещё не успел их обработать. Критерий качественного обращения и срок присвоения статуса нужно закрепить до расчёта; подробнее об этом — в разборе качества лидов и офлайн-конверсий.
Выберите окно квалификации по фактическому процессу. Если 90–95% заявок получают итоговый статус за семь дней, используйте семь полных дней. Если сложная B2B-продажа требует 21 дня, недельное окно даст систематически неполный результат. Универсального числа нет: сначала постройте распределение времени от создания лида до первого итогового статуса.
Разделите задержку конверсии и задержку квалификации
В рекламной системе задержка конверсии — время между кликом или показом и зарегистрированным целевым действием. Google предупреждает, что свежий период может выглядеть слабее: расходы уже учтены, а часть конверсий появится позже. В Google Ads это можно проверить в сегменте Conversions → Days to conversion; для полного среза справка рекомендует выбирать период, который закончился не менее 30 дней назад или ещё раньше при более длинном окне конверсии.
Задержка квалификации начинается позже: заявка уже создана в CRM, но менеджер пока не присвоил результат. Прогноз Google Ads не знает внутренних статусов отдела продаж. Поэтому для CPL по квалифицированным лидам нужен отдельный срез CRM.
Если числа расходятся уже между кликом, GA4 и созданием лида, сначала проверьте цепочку идентификаторов и событий по инструкции почему GA4, реклама и CRM показывают разные данные. Когортный расчёт не исправляет потерянные формы, дубли или неверную атрибуцию.
Соберите когорту по дате привлечения
Допустим, отчёт готовится 12 октября, а согласованное окно квалификации — семь полных дней. В расчёт попадают лиды, созданные не позднее 5 октября. Расходы берутся за те же даты привлечения — с 1 по 5 октября.
Формула:
CPL квалифицированного лида = расходы когорты ÷ квалифицированные лиды этой же когорты
Нельзя взять расходы с 1 по 12 октября и разделить их на квалифицированные лиды с 1 по 5 октября. В числителе останется стоимость свежих заявок, а в знаменателе их результатов ещё не будет.
Для каждой кампании сохраняйте минимум:
| Поле | Зачем |
|---|---|
report_date | восстановить состояние отчёта |
maturity_days | понимать выбранное окно |
cohort_end | видеть последнюю допустимую дату создания лида |
cohort_spend_byn | сопоставить расходы с датами когорты |
qualified | рассчитать полезный CPL |
rejected | проверить структуру причин отказа |
pending | увидеть незавершённую обработку |
Учебный пример: сырая таблица меняет вывод
Две кампании потратили по 900 BYN с 1 по 12 октября. У кампании A — 20 лидов, семь квалифицированы и пять ещё в работе. У кампании B — 12 лидов, шесть квалифицированы и один в работе. Прямой расчёт даёт 128,57 BYN у A и 150 BYN у B, но доля незавершённых статусов различается: 25% против 8%.
После ограничения датами 1–5 октября обе когорты получили семь дней на обработку. Расход каждой — 600 BYN. У A созрели 12 лидов, шесть квалифицированы; у B — восемь лидов, пять квалифицированы. Сопоставимый CPL составил 100 и 120 BYN.
В учебном примере меняется период расходов и лидов; рекламные результаты реальных компаний здесь не используются.
Эта таблица показывает порядок расчёта, но не доказывает устойчивое преимущество A. Для решения о бюджете нужны повторяющиеся когорты, достаточный объём лидов, одинаковые правила квалификации и проверка продаж после статуса qualified.
Повторите проверку на CSV
В комплекте к статье есть вымышленные spend.csv, leads.csv и скрипт compare_matured_cpl.py на стандартной библиотеке Python. Он использует дату отчёта 12 октября и окно семь дней, выбирает расходы и лиды до 5 октября, считает итоговые статусы и записывает matured-cpl-result.csv.
Ожидаемый результат:
| Кампания | Расход когорты | Лиды | Квалифицированы | В работе | CPLквал |
|---|---|---|---|---|---|
| A | 600 BYN | 12 | 6 | 0 | 100 BYN |
| B | 600 BYN | 8 | 5 | 0 | 120 BYN |
Скрипт ничего не загружает в рекламный кабинет или CRM. В рабочем процессе лучше выгружать исходные строки с постоянным lead_id, объединять дубли по заранее принятому правилу и хранить причину изменения статуса.
Проверьте четыре условия перед выводом
- Одинаковое окно. У всех сравниваемых лидов было одинаковое число полных дней на квалификацию.
- Совпадающие даты. Расходы относятся к датам привлечения лидов из знаменателя.
- Низкая доля
pending. Если старые лиды всё ещё без решения, покажите долю отдельно и отложите жёсткий вывод. - Единое определение качества. Кампании проверены по одним критериям, а менеджеры используют одинаковые причины отказа.
Базовая формула и отличие обычного CPL от стоимости квалифицированного лида приведены в ответе как рассчитать стоимость лида. Когортная версия нужна, когда статус появляется с задержкой и свежий срез систематически недосчитывает результат.
Отчёт готов к сравнению, когда дата среза, окно созревания, граница когорты и доля незавершённых лидов видны рядом с CPL. Тогда следующий запуск можно повторить по тем же правилам и объяснить, почему показатель изменился.
Источники
Материал подготовлен редакцией WiseLab с помощью AI. Источники и фактические утверждения проверены при подготовке.
Что думаете?
Загружаем комментарии…