Чтобы посчитать CPL, CAC и ROMI в таблице, хватит трех листов: расходы по каналам, лиды со статусом и суммой сделки, сводка с формулами. CPL равен расходу, деленному на число заявок, CAC равен расходу на одного оплатившего клиента, ROMI показывает, сколько валовой прибыли вернул каждый вложенный тенге. Ниже шаблон и разбор на бюджете 100 000 тг.
Часто бывает так: подрядчик присылает отчет, где есть клики, CTR и стоимость заявки, а руководитель не может ответить на простой вопрос, окупились ли эти 100 000 тг. Клики живут в рекламном кабинете, заявки в почте или CRM, оплаты у бухгалтера. Таблица ниже сводит эти три источника в одну строку на каждый канал.
Что такое CPL, CAC и ROMI и чем они отличаются
Эти три метрики отвечают на разные вопросы, и путать их опасно: дешевая заявка еще не означает дешевого клиента. Чтобы в формулах не было разночтений, договоримся об определениях.
CPL (cost per lead) — это стоимость одного обращения: расход на рекламу, деленный на количество заявок за тот же период. Заявкой считается любое обращение, которое попало к менеджеру: форма на сайте, звонок, сообщение в мессенджере.
CAC (customer acquisition cost) — это стоимость привлечения одного оплатившего клиента: все затраты на привлечение, деленные на число новых клиентов. Заявка, которая не дошла до оплаты, в знаменатель не попадает.
ROMI (return on marketing investment) — это окупаемость маркетинговых вложений в процентах: валовая прибыль от привлеченных клиентов минус затраты на маркетинг, деленная на эти затраты. ROMI 0% означает, что реклама вернула ровно столько, сколько стоила. Отрицательный ROMI означает убыток.
| Метрика | Формула | На какой вопрос отвечает | Кто смотрит |
|---|---|---|---|
| CPL | Расход / Заявки | Сколько стоит одно обращение | Маркетолог, подрядчик по рекламе |
| CAC | Затраты на привлечение / Новые клиенты | Сколько стоит один покупатель | Руководитель отдела продаж, собственник |
| ROMI | (Валовая прибыль — Затраты) / Затраты x 100% | Заработали мы на рекламе или потеряли | Собственник, финансовый директор |
| ROAS | Выручка / Расход x 100% | Сколько выручки принес тенге рекламы | Интернет-магазины, рекламные кабинеты |
ROAS мы добавили в таблицу для полноты: его показывают рекламные системы, и его часто путают с ROMI. Разница в том, что ROAS считается от выручки, а ROMI от прибыли. Для бизнеса с маржой 30-40% ROAS 300% может означать убыток, и это главный повод не принимать красивую цифру из кабинета за окупаемость.
Как устроен шаблон расчета окупаемости рекламы
Шаблон состоит из трех листов, и каждый заполняется из своего источника. Так данные не смешиваются, а ошибку легко найти: если CAC выглядит странно, вы сразу видите, в каком листе искать.
- Лист «Расходы». Колонки: дата, канал, кампания, сумма в тенге. Сюда раз в неделю переносятся расходы из Google Ads, Яндекс Директа, рекламного кабинета Meta. Если подрядчик выставляет счет с НДС, договоритесь заранее, какую сумму вы вносите: с налогом или без. Главное, чтобы правило было одно для всех каналов.
- Лист «Лиды». Колонки: дата обращения, канал, номер заявки или имя клиента, статус («новый», «в работе», «отказ», «оплачено»), сумма оплаты. Источник: CRM или журнал заявок. Канал должен называться так же, как на листе «Расходы», буква в букву, иначе формулы его не найдут.
- Лист «Сводка». По строке на канал и итоговая строка. Здесь ничего не вводится руками, кроме маржинальности: все остальное считают формулы.
Для периода удобнее всего месяц. Неделя слишком короткая для большинства услуг: заявка, пришедшая в пятницу, оплачивается через две недели, и недельный CAC скачет без причины. Если цикл сделки у вас дольше месяца, логика когортного расчета разобрана в отдельной статье про ROMI для услуг с длинным циклом сделки, здесь мы ее повторять не будем.
Какие формулы нужны в таблице
Для всей сводки достаточно двух функций: суммирования по условиям и обработки ошибки деления на ноль. Обе есть и в Google Таблицах, и в Excel.
Функция СУММЕСЛИМН (SUMIFS) складывает значения, которые подходят под одно или несколько условий. Синтаксис и примеры есть в справке Google Таблиц по функции СУММЕСЛИМН. Функция ЕСЛИОШИБКА (IFERROR) возвращает запасное значение, если в формуле возникла ошибка, например деление на ноль в канале, где еще нет продаж. Ее описание есть в справке Google Таблиц по функции ЕСЛИОШИБКА.
Колонки листа «Сводка» и формулы для строки 2 (канал записан в ячейке A2). Разделитель аргументов в примерах точка с запятой: так формулы вводятся в таблицах с российскими региональными настройками.
| Колонка | Что считает | Формула |
|---|---|---|
| B Расход | Сумма расходов канала за период | =SUMIFS(Расходы!D:D; Расходы!B:B; A2) |
| C Заявки | Число обращений из канала | =COUNTIFS(Лиды!B:B; A2) |
| D Клиенты | Число оплативших | =COUNTIFS(Лиды!B:B; A2; Лиды!D:D; «оплачено») |
| E Выручка | Сумма оплат | =SUMIFS(Лиды!E:E; Лиды!B:B; A2; Лиды!D:D; «оплачено») |
| F Маржа | Доля валовой прибыли в выручке | вводится вручную, например 40% |
| G Валовая прибыль | Выручка x Маржа | =E2*F2 |
| H CPL | Расход на заявку | =IFERROR(B2/C2; «») |
| I CAC | Расход на клиента | =IFERROR(B2/D2; «») |
| J ROMI | Окупаемость | =IFERROR((G2-B2)/B2; «») |
В Google Таблицах английские названия функций работают при любом языке интерфейса. В русской версии Excel формулу придется писать с локальными именами функций, например СУММЕСЛИМН и ЕСЛИОШИБКА. Колонку J отформатируйте как процент, колонки B, E, G, H, I как число без копеек: тиыны в отчете для руководителя только мешают читать.
Отдельно стоит подумать про фильтр по датам. Самый простой вариант: держать по файлу или по набору листов на каждый месяц. Вариант удобнее: добавить в SUMIFS и COUNTIFS еще два условия по колонке даты (больше или равно первому числу месяца, меньше первого числа следующего) и вынести эти даты в две ячейки вверху сводки. Тогда период меняется одной правкой.
Как посчитать CPL, CAC и ROMI на бюджете 100 000 тг: пример
Разберем расчет на условных цифрах, близких к тому, что мы видим у компаний сферы услуг. Все числа ниже иллюстрация, а не норматив для вашей ниши: подставьте свои.
Исходные данные за месяц. Бюджет 100 000 тг поделен между двумя каналами: 60 000 тг в контекстную рекламу Google Ads и 40 000 тг в таргет Instagram. Средний чек 90 000 тг, валовая маржа 40%, то есть с каждой продажи компании остается 36 000 тг до вычета расходов на рекламу.
| Канал | Расход, тг | Заявки | Клиенты | Выручка, тг | Валовая прибыль, тг | CPL, тг | CAC, тг | ROMI |
|---|---|---|---|---|---|---|---|---|
| Google Ads | 60 000 | 30 | 4 | 360 000 | 144 000 | 2 000 | 15 000 | 140% |
| 40 000 | 20 | 2 | 180 000 | 72 000 | 2 000 | 20 000 | 80% | |
| Итого | 100 000 | 50 | 6 | 540 000 | 216 000 | 2 000 | 16 667 | 116% |
Проверим итоговую строку руками. CPL: 100 000 / 50 = 2 000 тг. CAC: 100 000 / 6 = 16 667 тг. Валовая прибыль: 540 000 x 40% = 216 000 тг. ROMI: (216 000 — 100 000) / 100 000 = 116%. Реклама окупилась и принесла сверху 116 000 тг валовой прибыли.
У обоих каналов одинаковый CPL, 2 000 тг. Если смотреть только на стоимость заявки, каналы равны, и бюджет логично делить поровну. Но заявки из Google Ads превращаются в оплату чаще: 4 клиента из 30 против 2 из 20. Поэтому CAC в контексте на 5 000 тг ниже, а ROMI почти вдвое выше. Именно ради этой разницы таблицу и стоит вести до колонки «Клиенты», а не останавливаться на заявках.
При этом вывод «отключить Instagram» из этих цифр не следует. ROMI 80% тоже положительный, канал зарабатывает. Полезнее спросить, куда добавить следующие 20 000 тг. И здесь важно помнить, что при росте бюджета CPL обычно растет, поэтому решение проверяют следующим месяцем, а не экстраполируют линейно.
Какие затраты включать в CAC
В CAC включаются все затраты, без которых клиент не пришел бы, и рекламный бюджет только одна из них. В примере выше мы посчитали «рекламный» CAC: только расход в кабинетах. Для руководителя полезнее полный CAC.
Добавим в пример то, что обычно остается за кадром. Допустим, ведение рекламы подрядчиком стоит 60 000 тг в месяц, а часть зарплаты менеджера, который обрабатывает именно рекламные заявки, оценивается в 40 000 тг. Тогда затраты на привлечение равны 200 000 тг, а не 100 000.
| Показатель | Только рекламный бюджет | Полные затраты на привлечение |
|---|---|---|
| Затраты, тг | 100 000 | 200 000 |
| Клиенты | 6 | 6 |
| CAC, тг | 16 667 | 33 333 |
| ROMI | 116% | 8% |
ROMI с полными затратами: (216 000 — 200 000) / 200 000 = 8%. Реклама по-прежнему в плюсе, но запас почти исчерпан. Любое удорожание клика переведет ее в минус. Эту цифру собственник должен видеть, даже если она неприятная.
Чтобы не спорить каждый месяц, договоритесь о составе затрат один раз и запишите его в отдельную ячейку-примечание на листе «Сводка». Типичный состав полного CAC: рекламный бюджет, оплата подрядчика или штатного маркетолога, сервисы (коллтрекинг, конструктор форм, сервисы рассылок), доля времени менеджеров, которые работают с новыми заявками. Аренду офиса и бухгалтерию обычно не включают: эти расходы не зависят от рекламы.
Сколько можно платить за заявку и за клиента
Предельный CAC равен валовой прибыли с одного клиента: если привлечение стоит дороже, каждая продажа убыточна. В нашем примере это 90 000 x 40% = 36 000 тг. Полный CAC 33 333 тг стоит очень близко к этой границе, поэтому ROMI всего 8%.
Из предельного CAC выводится предельный CPL: его умножают на конверсию заявки в оплату. У нас 6 клиентов из 50 заявок, конверсия 12%. Значит, заявка не должна стоить дороже 36 000 x 12% = 4 320 тг. Добавьте эти две строки в сводку отдельными ячейками:
- Предельный CAC: =средний_чек * маржа.
- Конверсия в оплату: =клиенты / заявки.
- Предельный CPL: =предельный_CAC * конверсия.
Эта цифра полезна в разговоре с подрядчиком. Вместо «сделайте заявки дешевле» вы ставите задачу: CPL не выше 3 000 тг при сохранении конверсии в оплату. С запасом от предела в 4 320 тг остается пространство на рост ставок.
Если клиент покупает повторно, предельный CAC можно считать не от первого чека, а от прибыли за весь срок жизни клиента. Это отдельная тема, и подробнее о ней в статье про LTV клиента и цену лида. Для первого шаблона хватит первого чека: так вы точно не переоцените рекламу.
Как связать таблицу с рекламными кабинетами и CRM
Таблица считает правильно ровно настолько, насколько правильно в нее попадает канал каждой заявки. Это самое слабое место, и на проектах B2BPRO.KZ мы чаще всего видим именно его: расходы разнесены аккуратно, а у трети заявок в колонке «канал» стоит «не знаю» или «звонок».
Что помогает навести порядок:
- UTM-метки во всех рекламных ссылках и передача их в форму на сайте, чтобы канал записывался автоматически, а не со слов клиента.
- Подменные номера телефона по каналам, если значимая часть клиентов звонит.
- Обязательное поле «Источник» в CRM, без которого менеджер не может перевести заявку дальше.
- Одинаковые названия каналов в CRM и в рекламном отчете.
Рекламные системы тоже умеют считать часть этих показателей, если передать им данные о конверсиях. В Google Ads стратегия «Целевая цена за конверсию» оптимизирует ставки под заданную стоимость конверсии, это видно из справки Google Рекламы о стратегии «Целевая цена за конверсию». Стратегия «Целевая рентабельность инвестиций в рекламу» требует, чтобы для конверсий была задана ценность, как сказано в справке о стратегии «Целевая рентабельность инвестиций в рекламу». Но кабинет видит только свой канал и не знает о марже и зарплате менеджера, поэтому сводную таблицу он не заменяет.
Когда таблица перестает справляться (каналов больше пяти, заявок сотни в месяц, данные переносятся по два часа в неделю), расчет имеет смысл перенести в CRM. Как посчитать стоимость клиента по стадиям воронки прямо в Битрикс24, описано в статье о стоимости сделки по воронке в Битрикс24.
Если вы хотите, чтобы реклама сразу запускалась с правильной разметкой и отчетом до оплаты, а не до заявки, можно заказать настройку контекстной рекламы с учетом окупаемости: мы начинаем с того, что договариваемся о формуле CAC и ROMI, и только потом настраиваем кампании.
Частые ошибки при расчете ROMI в таблице
Самая частая ошибка: считать ROMI от выручки, а не от валовой прибыли. В нашем примере это дало бы (540 000 — 100 000) / 100 000 = 440% вместо 116%. Разница в четыре раза, и руководитель, который увидит 440%, решит, что бюджет можно смело удваивать.
Остальные ошибки, которые встречаются регулярно:
- Разные периоды в числителе и знаменателе. Расход за октябрь делят на оплаты за октябрь, хотя половина октябрьских оплат пришла из сентябрьских заявок. Для короткого цикла сделки это терпимо, для длинного нужен когортный расчет.
- Повторные клиенты в числе новых. Постоянный клиент, который зашел по рекламной ссылке, попадает в CAC как новый и занижает его. Отмечайте в листе «Лиды», первая это покупка или повторная.
- Неоплаченные сделки в выручке. В колонку E попадают суммы со статусом «счет выставлен». Считайте только фактические оплаты, иначе отказ клиента через неделю испортит прошлый отчет.
- Бюджет с НДС в одном канале и без НДС в другом. Разница в 16% искажает сравнение каналов. Правило должно быть одно.
- Возвраты и отмены. Если клиент вернул деньги, строку в листе «Лиды» нужно перевести в статус «возврат», а не удалить: так видно, сколько таких случаев дает каждый канал.
Последнее замечание касается маржи. Если в компании несколько направлений с разной маржинальностью, одна цифра 40% для всех исказит картину. Добавьте колонку «направление» в лист «Лиды» и считайте валовую прибыль по каждой продаже отдельно, а в сводке суммируйте уже прибыль.
Как пользоваться шаблоном каждый месяц
На практике ведение такой таблицы занимает час-полтора в месяц, если CRM и кабинеты настроены. Удобный ритм выглядит так.
- Первого числа выгрузите расходы за прошлый месяц из всех рекламных кабинетов и внесите их на лист «Расходы».
- Выгрузите из CRM заявки за месяц с каналом, статусом и суммой оплаты, вставьте на лист «Лиды».
- Проверьте, что у каждой заявки заполнен канал. Пустые строки разберите с менеджерами сразу, через месяц никто уже не вспомнит.
- Посмотрите сводку: CPL, CAC и ROMI по каналам рядом с предельными значениями.
- Решите по каждому каналу: добавить бюджет, оставить или сократить. Запишите решение в примечание, чтобы через месяц сравнить ожидание и результат.
Через три-четыре месяца у вас накопится история, по которой видно сезонность и реальную конверсию каждого канала в оплату. С этими данными подрядчику гораздо сложнее объяснять слабый результат «высокой конкуренцией», а вам проще планировать бюджет на квартал вперед. Когда понадобится комплексный подход сразу к нескольким каналам, посмотрите, как устроены наши услуги по рекламе и продвижению под ключ.
Частые вопросы
Как посчитать CAC, если у меня нет CRM?
CAC можно посчитать и без CRM, если вести журнал заявок в той же таблице. Записывайте каждое обращение с датой, каналом и статусом, а при оплате ставьте сумму. В конце месяца разделите затраты на привлечение на число новых оплативших клиентов. Главное условие: канал записывается в момент обращения, а не по памяти в конце месяца.
Какой ROMI считается хорошим?
Хорошим считается любой ROMI выше нуля с запасом на рост цены клика, но единого норматива нет. Для услуг с маржой 30-50% ROMI ниже 20-30% по полным затратам обычно означает, что канал работает на грани и любое удорожание сделает его убыточным. Сравнивайте ROMI каналов между собой и со своей историей, а не с цифрами из чужих кейсов.
Чем ROMI отличается от ROAS?
ROMI считается от валовой прибыли, а ROAS от выручки. ROAS равен выручке, деленной на рекламный расход, и его показывают рекламные кабинеты. ROMI вычитает из прибыли затраты на маркетинг и показывает, заработала ли компания. При марже 40% ROAS 250% соответствует ROMI 0%: выручки много, а денег реклама не принесла.
Можно ли считать CPL и CAC в одной таблице для разных городов Казахстана?
Да, для этого в листы «Расходы» и «Лиды» добавляют колонку «город» и еще одно условие в формулы SUMIFS и COUNTIFS. Так в одной сводке видно, что заявка в Алматы и в Астане стоит по-разному. Важно, чтобы рекламные кампании тоже были разделены по городам, иначе расход нельзя будет честно разнести.
