Как связать сайт, Яндекс Директ, телефонию и CRM, чтобы видеть источник каждой продажи
Сквозная аналитика работает, когда идентификаторы и события сохраняются на каждом переходе: реклама → сайт → форма или звонок → лид → сделка → оплата. Дашборд появляется в конце. Если источник потерян при создании лида или перезаписан менеджером, визуализация уже не восстановит цепочку достоверно.
Сначала определите, какие вопросы должен закрывать отчёт. Обычно бизнесу нужны не только расходы и число заявок, но и квалифицированные лиды, сделки, выручка и маржа по источнику. Затем спроектируйте поля и правила передачи данных.
Какие данные появляются при рекламном переходе
UTM-метки описывают кампанию в принятой вами системе именования. yclid идентифицирует рекламный клик Яндекса. ClientID Метрики — анонимный идентификатор браузера, который Метрика создаёт автоматически. Он не является идентификатором человека: один пользователь в разных браузерах получит разные ClientID.
В документации Яндекса описаны ClientID и UserID, а для офлайн-данных поддерживаются ClientID, UserID, yclid и PurchaseID: импорт офлайн-данных.
| Значение | Кто создаёт | Где сохранить | Для чего использовать |
|---|---|---|---|
| UTM | рекламная разметка | сессия и карточка лида | контекст кампании |
yclid |
Яндекс Директ | сервер/форма и CRM | связь с рекламным кликом |
| ClientID | Яндекс Метрика | скрытое поле и CRM | связь CRM-события с визитом |
| Lead ID | CRM | CRM и интеграционные журналы | идемпотентность и диагностика |
| Call ID | телефония/коллтрекинг | звонок и CRM | связь обращения по телефону |
| Deal/Order ID | CRM/учётная система | CRM и выгрузка конверсий | связь лида с продажей |
UTM недостаточно: метка может отсутствовать, повториться у многих людей или измениться при новом визите. Она отвечает «какая разметка была у перехода», а не «кто купил».
Как передать форму в CRM без потери источника
При первом визите сохраните исходные значения отдельно от данных текущего обращения. При отправке формы backend должен принять контакт, страницу, UTM, yclid, ClientID и технический ID события, а затем передать их в CRM.
Надёжная цепочка учитывает ошибки:
- Сайт валидирует данные и создаёт уникальный ID обращения.
- Сервер записывает попытку до обращения к внешнему API.
- CRM подтверждает создание или обновление лида.
- Повторный запрос с тем же ID не создаёт дубль.
- При временной ошибке данные остаются в очереди на повтор.
- Пользователь видит успех только по принятому сценарию.
- Журнал позволяет найти конкретное обращение по времени и ID.
Не храните источник одним свободным текстом. Минимально полезны поля original source, lead source, посадочная страница, дата первого известного визита и дата обращения. Original source не перезаписывается при возврате пользователя. Lead source описывает конкретное обращение и может отличаться.
Как связать звонок с визитом
Форма несёт параметры внутри запроса. Обычный телефонный звонок такой связи не имеет, поэтому нужен коллтрекинг или другой механизм сопоставления. При динамическом коллтрекинге посетителю показывается номер из пула, а сервис связывает звонок с его сессией и источником.
Проверьте не наличие виджета, а путь данных:
- какой номер увидел посетитель;
- какой визит и ClientID записал сервис;
- создан ли лид в CRM;
- сохранён ли Call ID и запись разговора по правилам компании;
- как обрабатываются пропущенные и повторные звонки;
- не создаются ли дубли формы и звонка одного клиента;
- сохраняется ли первый источник после ручной правки менеджером.
Если почти все продажи начинаются со звонка, телефония становится центральным источником событий, а не дополнением к веб-аналитике.
Какие поля нужны в CRM
Источник
Original UTM, lead-touch UTM, yclid, ClientID, landing URL, referrer и тип обращения.
Процесс
Lead ID, дата и время, ответственный, статус квалификации, причина отказа, Deal/Order ID.
Результат
Статус сделки, дата оплаты, выручка, себестоимость или маржа — только если бизнес действительно ведёт эти данные.
Словарь полей должен определять формат, источник, момент записи, право изменения и систему-владельца. Например, yclid создаёт Яндекс, сайт сохраняет, CRM хранит, а менеджер не редактирует. Статус квалификации, напротив, определяет продажа по утверждённому правилу.
Как обрабатывать повторные обращения и дубли
Один человек может отправить форму, позвонить и вернуться через рекламу. Нельзя просто удалять повтор как дубль: вместе с ним исчезает история касаний. Лучше объединять записи по установленным правилам и сохранять каждое обращение как событие.
Разделяйте:
- контакт — известная сущность клиента;
- обращение — конкретная форма, звонок или чат;
- лид — коммерческая возможность по вашему правилу;
- сделку — процесс продажи;
- оплату — финансовое событие.
В короткой онлайн-покупке эти сущности могут почти совпасть. В B2B между первым обращением и оплатой проходят несколько контактов и участвуют разные люди, поэтому «единственный истинный источник» становится выбранной моделью атрибуции, а не физическим фактом.
Как вернуть продажу в Яндекс
Метрика позволяет загружать CRM-заказы и офлайн-конверсии, связывать их с визитами и использовать привязанные события в отчётах и оптимизации Директа. Яндекс рекомендует сохранять ClientID при создании сделки: загрузка данных из CRM. В отчёте «Офлайн-конверсии» видны идентификаторы и причина, по которой событие могло не связаться с визитом.
Передавайте не любое изменение карточки, а события, имеющие стабильное бизнес-значение: квалифицированный лид, согласованная сделка, оплата. Названия и правила должны быть одинаковыми в CRM, аналитике и отчёте. Повторная отправка одного события не должна удваивать результат.
Техническая архитектура не заменяет правовое основание обработки персональных данных. Контакты клиентов, места хранения, доступы и передачи между сервисами нужно отдельно сверить с действующей политикой и требованиями компании.
Где обычно ломается цепочка
| Симптом | Первая проверка | Исправление |
|---|---|---|
| В CRM пустой источник | запрос формы и серверный журнал | передавать поля с backend и валидировать |
| UTM есть, ClientID нет | получение getClientID, скрытое поле |
сохранять ClientID до отправки |
| Звонки не связаны с рекламой | пул номеров и Call ID | настроить и протестировать коллтрекинг |
| Источник меняется после повторного визита | правила записи CRM | разделить original и lead source |
| Лидов больше, чем обращений | повторные webhook и ручное создание | ввести уникальный event ID и merge-правила |
| В Яндексе есть формы, но нет продаж | набор передаваемых целей | вернуть квалификацию и оплату |
| Продажа не привязалась к визиту | идентификаторы, время и формат | проверить отчёт офлайн-конверсий |
Как проверить готовую систему
Выберите одну тестовую продажу и восстановите её путь без ручных догадок: рекламный клик, визит, посадочная, форма или звонок, CRM-лид, квалификация, сделка и итоговое событие в Метрике. Затем повторите тест для прямого визита, органического поиска и повторного обращения.
Эта проверка нужна и для выбора маркетингового бюджета: без связи с продажами невозможно честно сравнить SEO и Яндекс Директ. Если требуется спроектировать поля, интеграции и контрольные тесты, обсудите задачу с BTD.TEAM.



