Почти каждый владелец home services бизнеса, с которым мы общаемся, говорит одно и то же: «Я знаю, что должен трекать это лучше». У него есть аккаунт Google Ads, который фиксирует конверсии, возможно, GA4, который кто-то когда-то настроил, номер call tracking, которому никто до конца не доверяет, и ноль понимания, сколько на самом деле стоит выполненная работа по каналам. Настройка не отсутствует — она сломана так, что это хуже, чем её отсутствие, потому что выдаёт числа, которые выглядят настоящими, но настоящими не являются.
Это стек, который реально работает, в том порядке, в котором его стоит собирать. Без теории. Только что подключить и почему.
Шаг 0: решите, что такое «конверсия»
До любого тега определитесь: конверсия — это выполненная работа, а не клик. Звучит очевидно, и почти никто так не делает.
Есть три уровня, и это не одно и то же:
- Клик — человек проявил интерес. Дёшево. Сам по себе значит мало.
- Лид — заявка или звонок. Лучше, но «прицениться» и замена системы за $14 000 выглядят здесь одинаково.
- Выполненная работа — деньги в календаре. Это единственное число, которое вам платит.
Трекайте все три, чтобы видеть, где люди отваливаются. Но когда вы оптимизируете — когда говорите Google или Meta «приведи мне больше этого» — оптимизируйте на выполненную работу. Большинство сломанных настроек оптимизируют на заявки, и именно так вы начинаете платить за поток лидов, которые никогда не превращаются в работу.
Шаг 1: GA4 + Google Tag Manager для веб-событий
Ваш сайт — это место, где живут измеримые события. Google Tag Manager (GTM) — это контейнер, который запускает теги без правки кода каждый раз; GA4 — это место, куда события приземляются.
Заведите события, которые что-то значат:
- Отправки форм (отдельно для «записаться», «запросить смету» и «контакт»).
- Клики по номеру телефона на мобильном (тап по
tel:-ссылке). - Клики по виджету записи или планировщику.
- Просмотр thank-you / страницы подтверждения, если она есть.
Держите нейминг чистым и единообразным. Самый частый бардак, который мы наследуем, — двенадцать по-разному названных событий «form_submit», которые невозможно отличить друг от друга. Одно событие, названное один раз, срабатывающее в одном месте.
Одно решение лучше проговорить заранее: где именно считается каждая конверсия. Событие GA4, conversion action в Google Ads и импортированная конверсия могут описывать одну и ту же выполненную работу. Выберите один дом для каждой — считайте её нативно в Google Ads или импортируйте из GA4, но не одновременно, — и свяжите свойство GA4 с аккаунтом Google Ads, чтобы связь была чистой. Если этого не сделать, появляется то самое двойное считывание, о котором мы предупреждаем ниже.
Шаг 2: call tracking с dynamic number insertion
Покупатели в home services звонят. Огромная доля вашей реальной выручки приходит через телефон, и если вы не трекаете звонки, вы летите вслепую по самому важному каналу, который у вас есть.
Используйте call tracking с dynamic number insertion (DNI). DNI подменяет отображаемый номер на трекинговый только для живых посетителей, тогда как поисковики по-прежнему видят ваш реальный номер в исходном HTML страницы. Эта последняя деталь важна: при правильной настройке DNI не вредит local SEO и консистентности NAP, потому что канонический номер остаётся в разметке.
Единственная реальная оговорка — Google Business Profile. Ваш профиль GBP — это не сайт, поэтому DNI там не работает. Безопасная схема, подтверждённая практиками локального поиска вроде Joy Hawkins из Sterling Sky, — поставить трекинговый номер основным в GBP, а реальный локальный номер добавить в поле дополнительных номеров. Это даёт Google сигнал, что реальный номер всё ещё привязан к бизнесу, так что вы сохраняете консистентность NAP и измеряете звонки из GBP. Глубже разбираем это в нашей работе по call tracking.
И ещё с чем вас столкнёт call tracking — со спамом. Номера в home services притягивают робозвонки, ошибки номером и десятисекундные сбросы, и каждый из них раздувает счётчик «лидов», если этому не помешать. Поставьте порог по минимальной длительности (мы обычно начинаем с 30–60 секунд) и считайте лидами только звонки, которые его проходят. Иначе мусор портит ваш коэффициент выполненных работ и заставляет хороший канал выглядеть дорогим.
Шаг 3: ловите click ID и UTM на каждой форме
Вот где большинство настроек тихо ломается. Когда человек кликает по объявлению Google, Google добавляет к URL посадочной click ID. Его нужно поймать и сохранить как скрытое поле в форме, потому что это ключ, по которому платформы потом сматчат данные.
Вы увидите три click ID, и они существуют не просто так:
gclid— стандартный идентификатор клика Google. Золотой стандарт, полные данные, используется всегда, когда доступен.wbraid— iOS-идентификатор Google, безопасный с точки зрения ATT-приватности, для пути app-to-web: человек тапает по объявлению внутри приложения вроде YouTube, Gmail или Discover и попадает на ваш сайт. Именно этот случай реально важен для посадочной home services.gbraid— парный идентификатор для пути web-to-app (клик в браузере, который ведёт к конверсии в приложении). На посадочной вы увидите его гораздо реже, но ловите, если он появился.
Вы не выбираете между ними — вы ловите тот, что присутствует, плюс ваши UTM-метки (utm_source, utm_medium, utm_campaign) в скрытые поля формы. Без click ID вся остальная цепочка не сможет заново связать выполненную работу с объявлением, которое её принесло.
Шаг 4: conversion actions в Google Ads + Enhanced Conversions for Leads
Теперь определите свои conversion actions в Google Ads — конкретные события, которые Google должен считать и на которые должен бидить. Свяжите их со значимыми событиями из Шага 1, а не с «любой формой».
Затем включите Enhanced Conversions for Leads. Это та часть, которая защищает ваши измерения на будущее. Когда лид отправляет форму, вы собираете его данные (email, телефон), хешируете их по SHA-256 на выходе — Google никогда не получает сырые персональные данные, — и эти хешированные данные позволяют Google сматчить лид с залогиненным аккаунтом, который кликнул по вашему объявлению. Именно так измерения выживают в мире, где cookies всё меньше. Это напрямую связано с остальной вашей настройкой трекинга конверсий и с биддингом в Google Ads.
Одно служебное замечание, и оно скоропортящееся: Google консолидирует эти загрузки на Data Manager API и выводит из эксплуатации легаси-пути Google Ads API. Конкретно: новые загрузки офлайн-импорта конверсий и Enhanced Conversions for Leads через Google Ads API блокируются начиная с 15 июня 2026 года, а настройки Enhanced Conversions для веба и лидов унифицируются раньше в 2026-м. Если ваша настройка работает через старую интеграцию, проверьте, что она на актуальном пути, до того как этот срок ударит.
Шаг 5: офлайн-импорт конверсий — верните выполненную работу обратно
Это шаг, который отделяет настоящую настройку от парадной. По умолчанию Google Ads считает лид. Но вы-то знаете, что взятая работа за $9 000 и заявка «просто прицениться» — не равны. Офлайн-импорт конверсий замыкает петлю: когда лид становится выполненной работой в вашей CRM, вы отправляете этот исход — и в идеале сумму чека — обратно в Google, привязав к исходному click ID.
Теперь Google может бидить на тех, кто реально покупает, а не на того, кто быстрее всех заполнит форму. Google сообщил о медианном росте измеренных конверсий примерно на 10%, когда рекламодатели добавляют хешированные first-party данные (email/телефон) к офлайн-импорту на базе GCLID, по сравнению со стандартным импортом только по GCLID — то есть это прирост от обогащения импорта, который уже использует click ID, а не прирост от импорта исходов против трекинга кликов. Дело не в точной цифре; дело в том, что рассказать платформе, что реально произошло, делает её умнее в том, кому она вас показывает.
Две реальности по времени, которые нужно уважать, потому что они тихо съедают конверсии:
- Lookback и истечение click ID. Click ID не действительны вечно, а дефолтное окно конверсии по клику в Google ограничено примерно 90 днями. Циклы сделки в home services бывают длиннее — крыша или полная замена HVAC могут идти от двух до трёх месяцев от первого клика до подписанной работы. Если исход приходит после окна валидности click ID, импорту не к чему его привязать, и выполненная работа теряется.
- Загружайте быстро. Офлайн-загрузки ожидаются в пределах ограниченного окна после клика; CRM, которая синхронизирует работы только спустя недели, может получить отклонённые загрузки или тихо потерять атрибуцию. Отправляйте исход, как только лид становится выполненной работой, а не в конце месяца.
Шаг 6: Local Services Ads живут в своём отдельном мире
Если вы крутите Local Services Ads (LSA) — а большинству владельцев home services стоит, — знайте сразу: LSA не трекается ни через gclid, ни через GA4, ни через ваши conversion actions в Google Ads. Лиды и звонки LSA живут в отдельной панели Local Services, со своим логом лидов и процессом оспаривания. Читатель, который дословно пройдёт Шаги 0–7 и остановится, захватит каждый канал, кроме LSA.
Поэтому относитесь к LSA как к отдельной сверке: выгружайте или забирайте его лиды, отмечайте каждый как взятый в работу или нет в своей CRM так же, как для всего остального, и вручную вносите результат в свой отчёт по каналам. Через трубопровод click ID это не потечёт — но часто это самый дешёвый канал, что у вас есть, поэтому он обязан быть в расчёте. Вписываем это в общую картину в нашей работе по Local Services Ads.
Шаг 7: Meta Conversions API (если крутите Meta)
Если вы рекламируетесь в Meta, только браузерного Meta Pixel уже недостаточно — блокировщики рекламы и iOS съедают его часть. Запустите Meta Conversions API (CAPI) на серверной стороне рядом с Pixel.
Ловушка здесь — двойное считывание: Pixel и CAPI отправляют один и тот же лид, и Meta считает его дважды. Лечится event_id — уникальной строкой, привязанной и к событию Pixel, и к соответствующему событию CAPI, чтобы Meta их дедуплицировала (матчинг по имени события плюс event_id, в пределах 48-часового окна для пары браузер-плюс-сервер). Для офлайн-событий, загруженных на сервер, дедуплицируйте по ключу заказа или пользователя. Несовпадающие ID — обычный виновник, когда числа выглядят раздутыми.
Шаг 8: свяжите всё с CRM — и выберите модель атрибуции
Платформы матчат по click ID снаружи. Внутри вы сшиваете выполненную работу обратно с её лидом по номеру телефона (и email). Это мост между «работа в календаре в Workiz / Housecall Pro / ServiceTitan» и «звонком из Google три недели назад, который её принёс». Сделаете это правильно — и сможете наконец делить расходы на выполненные работы по каналам.
Две доработки делают этот отчёт надёжным, а не просто внушительным:
- Определитесь с моделью атрибуции. Одна выполненная работа часто касается нескольких каналов — звонок из LSA, более поздний клик в Google Ads, органический визит между ними. Last-click отдаёт всю работу последнему касанию; data-driven атрибуция распределяет кредит между ними. Для мультиканального взгляда «стоимость выполненной работы по каналам» выберите одну модель и применяйте её единообразно, иначе будете сравнивать числа, которые никогда не считались одинаково.
- Рассмотрите server-side GTM. По мере того как браузеры и iOS урезают то, что видят клиентские теги, серверный контейнер GTM становится устойчивым каркасом для first-party измерений — естественным домом и для Enhanced Conversions, и для CAPI. Это не обязательно на старте, но именно туда движутся долговечные настройки.
Ошибки, которые тихо ломают всё
- Трекать клики и заявки, а не работы. Вы оптимизируете на лиды и тонете в мусоре.
- Двойное считывание. GA4, Google Ads и Meta приписывают себе один и тот же лид, поэтому ваши итоги не сходятся, а всё выглядит так, будто «работает».
- Нет офлайн-импорта. Платформа никогда не узнаёт, какие лиды стали работой, и продолжает покупать дешёвые, низкокачественные.
- Игнор окон. Длинные циклы сделки в home services и поздние синхронизации CRM выталкивают исходы за lookback click ID, и выполненная работа так и не атрибутируется.
- Считать спам-звонки лидами. Без фильтра по минимальной длительности робозвонки и сбросы раздувают счётчик лидов и заставляют хорошие каналы выглядеть плохо.
- Пробелы согласия. Если баннер согласия блокирует теги до того, как пользователь согласился, конверсии тихо пропадают. Используйте consent mode, чтобы измерения деградировали плавно, а не исчезали.
- Трекинговый номер на GBP без реального номера за ним. Чинится за тридцать секунд через поле дополнительных номеров; проигнорированное, оно отпугивает людей от call tracking целиком.
Честное конечное состояние
Когда это собрано правильно, вы перестаёте спорить о кликах и начинаете смотреть на одну строку на канал: стоимость выполненной работы. Google Ads — $310 за работу. Local Services Ads — $190. Meta — $640. SEO — фактически бесплатно за работу, как только оно ранжируется. Вот отчёт, который позволяет двигать бюджет с уверенностью, а не на ощупь.
Это не работа на один вечер, и кто говорит обратное — тот не делал её для home services бизнеса. Но она конечна, её можно собрать, и как только она работает, она окупается на первом же решении о перераспределении бюджета, которое вы примете.
Частые вопросы
Что считать конверсией для home services бизнеса? Выполненную работу, а не клик и даже не отправку формы. Клик — это интерес, форма или звонок — это лид, а выполненная работа — это деньги. Трекайте все три уровня, чтобы видеть, где люди отваливаются, но оптимизируйте на выполненную работу — это единственное число, которое оплачивает счета.
Вредит ли номер call tracking моему local SEO или Google Business Profile? Нет, если настроить правильно. Используйте dynamic number insertion, чтобы поисковики по-прежнему видели ваш реальный номер в HTML страницы, а в Google Business Profile поставьте трекинговый номер основным, а реальный локальный — в поле дополнительных номеров. Так NAP остаётся консистентным, и при этом вы измеряете звонки.
Зачем мне офлайн-импорт конверсий, если Google Ads уже показывает конверсии? Потому что по умолчанию Google Ads считает лиды — заявки и звонки, — а не выполненные работы, а качество лидов в home services скачет очень сильно. Офлайн-импорт отправляет в Google реальный исход (работа взята, сумма чека), чтобы он бидил на тех, кто реально покупает. Google сообщает о медианном росте измеренных конверсий примерно на 10%, когда рекламодатели добавляют хешированные first-party данные к офлайн-импорту на базе GCLID, по сравнению с импортом только по GCLID.
Какая самая частая ошибка в трекинге конверсий? Измерять клики и заявки вместо выполненных работ, а затем дважды считать их в GA4, Google Ads и Meta, так что каждая платформа приписывает себе один и тот же лид. Лечится одним источником правды на каждую конверсию, с дедупликацией и реальными исходами работ, которые возвращаются из CRM.
Соберите настройку, которая говорит вам правду
Если ваш трекинг сломан, собран наполовину или вы просто не доверяете числам — это нормальная точка старта, а не повод ждать. Мы разберём вашу текущую настройку, починим то, что задваивается или отсутствует, и соберём петлю от клика до выполненной работы, чтобы вы наконец увидели стоимость выполненной работы по каналам. Свяжитесь с нами, и мы настроим ваш трекинг.