Вы знаете свою общую выручку. Открываете CRM, смотрите на месяц — вот цифра. А вот что почти ни один владелец home-service-бизнеса не скажет мне сходу — это какие типы работ, ключевые слова и каналы дали прибыль внутри этой цифры, а какие тихо ушли в минус. Именно в этом зазоре утекает большинство рекламных бюджетов.
И вот неприятная часть: прямо сейчас какие-то ваши работы и какие-то ваши ключи теряют деньги, а отчёты прячут это за здоровым на вид верхним числом.
Почему cost per lead недостаточно
Cost per lead — это метрика, которую вам выдаёт любой дашборд, и сама по себе она почти бесполезна. Лид — это не деньги, это всего лишь зазвонивший телефон. Чтобы понять, работает ли канал, нужно провести лид по всей цепочке вниз:
Cost per lead → доля закрытий → средний чек → маржа → прибыль.
Два канала могут показывать один и тот же cost per lead в $40 и жить в совершенно разных мирах:
- Канал A: закрывается 30% лидов, средний чек $600, маржа 55%.
- Канал B: закрывается 8% лидов, средний чек $180, маржа 40%.
Cost per lead одинаковый. Канал A приносит примерно $99 валовой прибыли с лида; канал B — около $5,76. Один — это машина, другой — течь, а cost per lead этой разницы не видит. Реально вам нужны стоимость закрытой работы и маржа по типу работ. Всё в этой статье — обвязка ради того, чтобы эти два числа стали честными.
Маржа по типу работ — переменная, которую все игнорируют
В трейдах маржа не плоская — она сильно гуляет в зависимости от вида работ. Текущие отраслевые бенчмарки по HVAC дают сервис и ремонт примерно в 50–65% валовой маржи, тогда как монтаж и замена — ближе к 35–45%, потому что стоимость оборудования и работа второго техника съедают маржу напрямую. Сантехника на валовом уровне обычно идёт на пару пунктов выше — один мастер закрывает дорогой ремонт в одиночку. Ремонтные работы часто в 2–3 раза прибыльнее на доллар, чем монтаж. (Считайте это отраслевыми бенчмарками — подставьте свой собственный расчёт себестоимости, прежде чем действовать.)
Почему это важно для маркетинга: если вы оптимизируете под выручку, вы с удовольствием зальёте бюджет в ключ, который гонит дорогие замены, — и будете смотреть, как ваша прибыль стоит на месте, потому что вы покупаете свою самую низкомаржинальную работу в масштабе. Выручка и прибыль смотрят в разные стороны, и единственный способ это увидеть — привязать маржу к каждому типу работ, прежде чем судить о канале.
ROAS загоняет в проблемы; POAS держит честным
Это самая чистая ментальная модель для всей задачи.
- ROAS (return on ad spend) = выручка ÷ рекламные расходы.
- POAS (profit on ad spend) = валовая прибыль ÷ рекламные расходы.
ROAS — это то, под что рекламные платформы оптимизируют по умолчанию, и он считает две работы по $600 одинаковыми, даже когда одна оставляет вам $240 (маржа 40%), а другая — $360 (маржа 60%). Кампания может показывать сильный ROAS и всё равно терять деньги, как только вы вычтете себестоимость самих работ. POAS — это метрика, к которой переходят операторы, считающие маржу: он вычитает себестоимость работы, прежде чем судить о расходах.
Одна честная оговорка: POAS — это не кнопка внутри Google Ads, а ментальная модель и расчёт, который вы делаете сами на своих данных по работам. Чтобы начать, не нужна модная колонка POAS. Нужно перестать делать вид, что доллар выручки с замены и доллар выручки с ремонта одинаково ценны для вашей чистой прибыли, — они не одинаковы.
Обвязка данных: как прибыль реально связывается
Здесь теория превращается в систему. Четыре элемента, по порядку.
1. Размечайте каждый лид по услуге, ключу и каналу
Каждый входящий путь обязан нести свой реальный источник. Call tracking с dynamic number insertion отмечает каждый звонок кампанией, ключом и каналом, которые его породили, вместо того чтобы диспетчер гадал. Веб-формы фиксируют UTM-метки и gclid, чтобы заявка уже знала, что пришла из «Google Ads / кампания по прочистке канализации», а не просто «с сайта». Это фундамент — и именно его выстраивает наша работа по conversion tracking.
Одна оговорка по соответствию закону, и она тут несущая: если ваш call tracking записывает звонки, согласие на запись регулируется законами штатов, и 12 штатов требуют согласия всех сторон (CA, CT, DE, FL, IL, MD, MA, MI, MT, NH, OR, PA, WA). Если вы работаете в любом из них или принимаете оттуда звонки, используйте уведомление о записи в начале разговора — нормальный провайдер call tracking автоматически включает объявление в штатах с двусторонним согласием. Когда сомневаетесь — предупреждайте; это одна строка приветствия, а не проект.
2. Связывайте лид со стоимостью его работы в CRM
У лида теперь есть источник и идентификатор клика. В вашей CRM — Workiz, HouseCall Pro, ServiceTitan, Jobber — лежат статус закрытия и стоимость работы. Вы сшиваете их внутри, по номеру телефона или email: этот лид, с этого ключа, стал вот этой закрытой работой на $640 с такой-то маржой. Теперь канал — это не «47 лидов», а «47 лидов, 14 закрыто, средний чек $580, смешанная маржа 52%».
3. Возвращайте результат обратно в платформы (gclid)
Вот петля, которую большинство агентств пропускает. Когда приходит платный клик, Google передаёт gclid; вы зафиксировали его на шаге 1. Как только работа закрывается и вы знаете её стоимость, вы загружаете этот результат обратно в Google как offline conversion import по gclid, с приложенной реальной стоимостью работы. Тогда smart bidding Google начинает оптимизировать под клики, которые становятся закрытыми, оплаченными работами, а не под то, что просто заставило телефон зазвонить.
Актуальная заметка, аккуратно по объёму, чтобы вы не паниковали не из-за того: сам gclid никуда не исчезает — он остаётся основным ключом сопоставления. Меняется узкая вещь. По опубликованному графику Google, примерно с 15 июня 2026 года прямой маршрут интеграции через Google Ads API для новых разработчиков перестаёт принимать новых участников: developer-токены, ещё не внесённые в allowlist (активные примерно с декабря 2025 по май 2026), будут отклоняться, а путь вперёд для новых сборок на API — Data Manager. Ручная загрузка файлов с GCLID в интерфейсе Google Ads и стандартные коннекторы CRM (нативные интеграции HouseCall Pro / ServiceTitan / Zapier) в эту деприкацию не входят — если ваша конфигурация загружает конверсии так, она продолжит работать. Enhanced Conversions for Leads, которые сопоставляют по хешированным email и телефону, — это всё более рекомендуемый Google спутник gclid и ваш запасной вариант, когда идентификатора клика нет.
Реальность по таймингу, которую большинство владельцев упускает: эта петля работает с задержкой, а не в реальном времени. Окно загрузки конверсий по умолчанию — 90 дней, у gclid есть свои окна валидности, а работы в home services часто закрываются через недели после клика — замена печи может закрыться и через месяцы. Это значит, что биддинг оптимизирует на запоздавших, иногда ещё неполных данных, а ваши показатели POAS стабилизируются за недели, а не за дни. Не судите о кампании по трём дням данных; дайте окну заполниться.
4. Читайте прибыль по ключам и типам работ — и режьте убыточное (аккуратно)
Когда стоимость работ течёт обратно, вы наконец можете ранжировать не по cost per lead, а по прибыли на ключ и на тип работ. Вот где прячутся деньги:
- Дешёвый ремонтный ключ, который стоит $55 в кликах и обработке звонков, чтобы получить работу на $140 с маржой 55% ($77 валовой), теряет деньги на работу — он зарабатывает меньше, чем стоит его выиграть.
- Высокочастотный ключ, который отлично выглядит по cost per lead, но закрывается на 6% и приводит охотников за ценой, тихо может быть крупнейшей течью в аккаунте.
- Отдельный тип работ — скажем, разовые диагностические выезды — может оказаться в минусе, как только вы загрузите стоимость привлечения.
Ограничитель: не убивайте ключ по трём закрытым работам. Большинство локальных аккаунтов не генерируют достаточно конверсий на ключ, чтобы надёжно судить о прибыли, а современный smart bidding и Performance Max и так часто прячут детализацию по ключам. Дождитесь нормальной выборки, прежде чем резать, и действуйте по закономерностям между типами работ и темами, а не по одному шумному запросу. Ничего из этого не видно в отчёте по cost per lead. Видно только тогда, когда прибыль привязана к конкретной позиции, — и в этом весь смысл revenue attribution: он превращает «мы потратили $4000 на Google» в «ключи по прочистке канализации дали POAS 6:1, а вот этот кластер ремонтных ключей терял деньги на нормальной выборке, поэтому мы их остановили».
Как это выглядит, когда работает
Разница между «до» и «после» резкая. До: «Мы сделали $90 000 в прошлом месяце и потратили $4000 на Google». После: «Мы сделали $90 000; ключи по заменам дали POAS 2,1:1 на тонкой марже, четыре ремонтных ключа теряли деньги за квартал, поэтому мы их остановили, а Local Services Ads закрывал работы по стоимости $42 за закрытую работу — считается отдельно, потому что LSA не передаёт gclid через ту же трубу».
Второе предложение — это бизнес, решающий, куда пойдёт его следующий доллар. Первое — это догадка в костюме.
Заметка к той строке про LSA: Local Services Ads считается иначе. Он не передаёт gclid, и его данные «лид → работа» живут в собственной системе, поэтому пропустить результаты LSA через offline-conversion-петлю из шага 3 нельзя. Прибыль по нему вы всё равно меряете — стоимость закрытой работы, доля закрытий, средний чек, — просто делаете это, сверяя журнал лидов LSA с вашей CRM, а не через трубу gclid. Это ещё один канал в картине прибыли; он просто приходит туда другой дорогой. Если LSA — реальная строка в вашем бюджете, это наша работа по Local Services Ads.
Частые вопросы
Почему cost per lead не показывает, работает ли маркетинг? Потому что лид — это не деньги. Cost per lead говорит, сколько стоит заставить телефон зазвонить, а не то, стал ли звонок закрытой, оплаченной и прибыльной работой. У двух каналов может быть одинаковый cost per lead в $40, при этом один закрывает 30% при чеке $600, а другой — 8% при $180. Чтобы понять, какой канал реально платит, нужны стоимость закрытой работы и маржа по типу работ.
В чём разница между ROAS и POAS? ROAS делит выручку на рекламные расходы; POAS делит валовую прибыль (выручка минус себестоимость работы) на расходы. Маржа разная по типу работ, поэтому ремонт с маржой 60% и замена с маржой 40% могут показывать одинаковый ROAS, но приносить совершенно разную прибыль. Оптимизация под ROAS гонит бюджет в дорогие по выручке, но низкомаржинальные работы; POAS — в то, что реально приносит деньги. POAS — это управленческая метрика, которую вы считаете сами, а не встроенная колонка Google Ads.
Как связать клик в Google Ads со стоимостью работы в CRM? Зафиксируйте gclid на каждой форме и сохраните его с лидом, отметьте каждый звонок реальным источником через call tracking, потом достаньте стоимость закрытой работы из CRM и загрузите её в Google как offline conversion import по этому gclid. Идентификатор клика связывает рекламу с лидом; телефон или email связывает лид с закрытой работой в Workiz, HouseCall Pro или ServiceTitan. Исключение — Local Services Ads: gclid нет, поэтому он сверяется отдельно.
Может ли ключевое слово или тип работ реально быть убыточным? Да, регулярно. Дешёвый ремонтный ключ может стоить в кликах и обработке звонков больше, чем работа приносит на марже. Высокочастотный ключ может отлично выглядеть по cost per lead и терять деньги по стоимости закрытой работы — потому что закрывается редко или приводит охотников за ценой. Видно это только в прибыли по ключам и типам работ — но читайте её на нормальной выборке, а не по трём закрытым работам, чтобы резать убыточное, а не шум.
Увидеть свои реальные числа
Если вы можете назвать общую выручку, но не самый прибыльный и самый убыточный канал, вы летите на верхнем числе, которое прячет течи. Мы строим трекинг, сшивку с CRM и пайплайн offline-конверсий, который превращает cost per lead в прибыль по типу работ, ключам и каналам — и возвращает её обратно, чтобы реклама оптимизировала под закрытые, прибыльные работы, с честно учтёнными оговорками про согласие на запись, окно атрибуции и размер выборки. Увидеть прибыль по каналам — и мы покажем, какие позиции резать первыми.