У каждого владельца выездного сервиса был такой момент: открываете отчёт по конверсии в Workiz (или HouseCall Pro, или ServiceTitan), смотрите на разбивку по источникам лидов и думаете: «это неправда». Рекомендаций подозрительно много, платный канал выглядит мёртвым, и цифры не сходятся со звонками, которые вы точно получали. Вам не кажется. Отчёт врёт — и врёт по скучной, починяемой причине.
Настоящая проблема: поле источника заполняется руками
CRM выездного сервиса отлично делают то, для чего созданы, — расписание, диспетчеризация, счета, учёт заказов и выручки. Чего они делать не умеют — это знать, откуда реально пришёл лид. Почти в каждой из них источник лида — это выпадашка, которую заполняет человек: диспетчер выбирает «Google», «рекомендация», «повторный» или что угодно, либо оставляет дефолт.
Так что в этом отчёте вы на самом деле смотрите на ввод данных, а не на реальность:
- Загруженный диспетчер жмёт первый вариант или один и тот же каждый раз.
- Отслеженный звонок из Google логируется как «рекомендация», потому что клиент упомянул соседа.
- Онлайн-букинги приходят вообще без источника и падают в дефолтную корзину.
- Двое заносят один лид по-разному.
Помножьте это на сотни заказов — и отчёт становится уверенной выдумкой. CRM не врёт нарочно — она честно отражает то, что люди напечатали.
Почему это опасно, а не просто раздражает
Это была бы сноска, если бы вы не принимали на этом денежные решения. Но вы принимаете. Если отчёт говорит, что всё тянут рекомендации, а Google Ads или Local Services Ads выглядят мёртвыми, вы срежете платный канал — даже когда правда в том, что половина этих заказов «по рекомендации» и «повторных» началась с отслеженного платного звонка, который неправильно пометили. Плохая атрибуция не просто искажает прошлое; она наводит ваш бюджет на неправильное будущее.
Цифра, которая вам реально нужна — стоимость заказа по каждому каналу — недостижима, когда сам канал является догадкой.
Что на самом деле нужно для точной атрибуции
CRM знает заказ и выручку. Рекламные платформы (Google Ads, Local Services Ads, Meta) знают расход. Ничто не связывает их, пока вы не построите мост. Вот как выглядит реальная настройка:
- Коллтрекинг на каждом входящем пути. Трекинг-номер на Google Business Profile (настроенный безопасно), собственная отчётность Local Services Ads и динамическая подмена номера на сайте, чтобы каждый звонок нёс свой реальный источник, а не догадку диспетчера.
- Веб-лиды помечены на источнике. UTM-метки и gclid захватываются на каждой форме, события прокинуты через GA4 и Google Tag Manager, так что заявка уже знает, что пришла из «Google Ads / брендовой кампании», а не «с сайта».
- Источник попадает в CRM автоматически. Вместо того чтобы человек выбирал из выпадашки, реальный источник въезжает в CRM вместе с лидом. Поле диспетчера становится резервом, а не источником правды.
- Заказы сопоставлены с каналом. Это и есть звено, замыкающее петлю: сшивка каждого оплаченного заказа с лидом, который его начал, — внутри, по номеру телефона — чтобы наконец делить расход на заказы и получать реальную стоимость заказа по каждому источнику. (Номер телефона — это то, как вы связываете свою CRM с хранилищем лидов; сами рекламные платформы матчат по click ID — об этом следующий пункт.)
То, что большинство агентств пропускает: возврат данных в платформы
Вот где это переходит от «отчёта, которому можно верить» к «системе, которая улучшает сама себя». У большинства CRM выездного сервиса сейчас есть нативные интеграции с Google Ads и Local Services Ads — но возврат данных обычно мелкий: оптимизирует на любой заказ, а не на порог выручки, редко покрывает Meta и плохо дедуплицирует. Для реального контроля строят собственный пайплайн.
Механизм — импорт офлайн-конверсий, и он матчит по click ID, а не по номеру телефона. Когда платный клик попадает на сайт, Google передаёт gclid (или gbraid/wbraid для многих iOS-кликов) — захватывайте их все на формах. Мы собираем каждый лид в собственное хранилище с этим click ID, источником, телефоном и именем; вытягиваем реальный исход каждого лида из CRM (забронирован, не забронирован, размер чека); матчим CRM-к-лиду внутри по телефону; и затем выгружаем квалифицированные исходы обратно в Google по click ID — через offline conversion import и Enhanced Conversions for Leads (который матчит по хешированному email/телефону) — и в Meta через Conversions API. Теперь кампании оптимизируются на лиды, ставшие оплаченными заказами, иногда вплоть до порога выручки — а не на то, что пометил диспетчер.
Это разница между «Workiz говорит, мы получили 80 лидов» и «мы получили 80 лидов, 24 забронировано, средний чек $290, и самый прибыльный канал — Local Services Ads со стоимостью заказа $38».
Итог
Если отчёт CRM по источникам лидов не сходится с реальностью, не пытайтесь вымуштровать диспетчеров до идеального ввода данных — это не удержится. Замените догадки на отслеженные источники, которые попадают автоматически, сопоставляйте заказы с каналом, который их создал, и возвращайте квалифицированные исходы в рекламные платформы.
Этот кастомный пайплайн атрибуции — связать звонки, формы и исходы из CRM в реальную стоимость заказа — это ровно то, что мы строим. Если вы принимаете решения по бюджету на отчёте, которому не доверяете, — именно это growth-аудит распутывает первым.