Чтобы сохранить UTM-метки до продажи, недостаточно добавить скрытые поля в форму. Нужна проверяемая цепочка: параметры входящего перехода → сохранение на сайте → отправленная заявка → поля CRM → неизменный снимок источника конкретной сделки. Отдельно передают ClientID Метрики, если он получен: это идентификатор браузера, а не название рекламной кампании.
Ниже — карта параметров и методика проверки. Она дополняет проверку доставки формы в CRM: здесь разбирается сохранность источника, включая повторные визиты и новые заказы существующего клиента.
Что считать источником
Разделите технический канал создания сделки и источник привлечения. Значение «форма сайта» объясняет, как запись появилась в CRM, но не отвечает, откуда человек пришёл на сайт. UTM-метки описывают размеченный переход; отсутствие UTM не доказывает прямой заход.
Метрика учитывает и переходы по сохранённым ссылкам с метками. Поэтому UTM — наблюдаемое значение ссылки, а не независимое подтверждение оплаченного клика. Яндекс также различает UTM и отдельные идентификаторы, например yclid. Не заменяйте один другим. Как Метрика обрабатывает метки.
До настройки согласуйте единые названия источников и кампаний, допустимые значения и правило пустого поля. В метки не помещают телефон, email или содержание клиентского запроса. Для анализа достаточно рекламных идентификаторов, не раскрывающих персональные сведения.
Карта рекламных параметров
Это пример спецификации для разработчика и администратора CRM. Названия полей условные; фактические поля и их идентификаторы нужно записать для своего подключения.
| Данные | Откуда получить | Где и как хранить | Проверка |
|---|---|---|---|
| utm_source, utm_medium, utm_campaign | Параметры входящего URL | Отдельные текстовые поля снимка заявки | Значения совпадают на входе, в запросе формы и CRM |
| utm_content, utm_term | URL, если параметры присутствуют | Текст; отсутствие допустимо по правилам кампании | Нет обрезания и подстановки значений другой кампании |
| Первый наблюдаемый источник | Первое сохранённое касание в согласованном окне | Набор параметров и время; не перезаписывать обычным повторным визитом | Возврат по другой рекламе не стирает первое касание |
| Последний размеченный переход | Последнее подходящее касание по правилу проекта | Отдельный набор параметров и время | Новые метки заменяют весь набор, включая очистку отсутствующих частей |
| Источник текущего обращения | Состояние на момент отправки | Снимок у заявки или сделки | Следующий заказ не меняет источник прежнего |
| ClientID и номер счётчика | Ответ getClientID для выбранного счётчика | ClientID как строка; номер счётчика отдельно | Полученное значение совпадает с отправленным и сохранённым |
| Страница входа, страница формы, referrer | Зафиксированные данные посещения | Согласованные URL без секретных и лишних параметров | Входная страница не заменена страницей отправки |
| ID заявки, время, состояние сбора | Обработчик формы и механизм сбора | Служебная связь с записью CRM; например «получено» или «недоступно» | Можно найти одно обращение на каждом участке маршрута |
У каждой строки назначьте владельца: кто собирает данные на сайте, кто преобразует их при отправке и кто принимает в CRM. Если поле не поддерживается готовым подключением, это нужно записать до запуска, а не считать переданным по названию интеграции.
Как передавать метки в CRM
- Сохраните входящий набор. Метки читают на странице входа до того, как человек уйдёт на страницу без параметров. Механизм хранения и срок действия выбирают для конкретного сайта.
- Сформируйте снимок заявки. При отправке соберите нужные наборы источников, страницы, время и доступный ClientID. Не рассчитывайте на то, что метки всё ещё находятся в адресной строке.
- Проверьте серверный обработчик. Поля должны пройти валидацию, преобразование и очередь доставки вместе с заявкой. Ключи доступа CRM остаются на сервере.
- Сопоставьте поля CRM. Проверьте типы, ограничения длины и правила обновления. Повторная доставка той же заявки не должна подменять её источник свежими данными контакта.
- Сохраните связь с продажей. У сделки остаётся снимок источника её обращения. Если один контакт делает новый заказ, прежняя сделка не получает метки нового визита.
В amoCRM раздел «Статистика» может содержать UTM и данные сайта. Документация различает автоматическую передачу из собственных форм/CRM Plugin и отдельную настройку для сторонних форм. Это не гарантия передачи произвольных полей вашим конструктором сайта: проверяйте фактический запрос и карточку. Раздел «Статистика» amoCRM.
Первый и последний источник: не смешивайте значения
Сначала определите, что означает «первый»: первое наблюдаемое посещение, первое размеченное посещение или источник первой заявки. Также определите «последний»: текущий визит или последний размеченный переход. Эти правила дают разные результаты, поэтому названия полей должны отражать выбранный смысл.
Учебный пример. Человек впервые пришёл по кампании A, затем по кампании B, позже открыл сайт без меток и отправил форму. Если проект хранит первый размеченный переход и последний размеченный переход, в этих полях будут A и B. У текущего визита при этом нет UTM. Нельзя молча назвать B источником текущего визита: это результат выбранного правила учёта.
Обновляйте связанный набор целиком. Если у кампании A был utm_content, а у B его нет, нельзя оставлять старый content рядом с source и campaign от B. Получится комбинация, которой не было ни в одном переходе.
Срок хранения, смену устройства, очистку браузерных данных и переход между доменами учитывайте как ограничения наблюдения. «Первый сохранённый» не равен первому контакту человека с компанией за всю жизнь. При объединении контактов сохраняйте происхождение снимков заявок, а не только одно поле источника на весь контакт.
Как проверить передачу ClientID из Метрики
Метрика присваивает ClientID браузеру; один человек в двух браузерах может иметь два идентификатора. ClientID не следует использовать как единственное доказательство личности клиента. Различие ClientID и UserID.
Официальный способ получения — вызов ym(номер_счётчика, 'getClientID', callback). Значение приходит в функцию обратного вызова как строка. Проверяйте завершение этого вызова до формирования данных заявки; само наличие скрытого поля не означает, что оно успело заполниться. Метод getClientID.
- Откройте тестовый визит с нужным счётчиком и получите значение через его API.
- Отправьте тестовую форму и найдите ClientID в отправленном запросе средствами разработчика браузера.
- По ID заявки сравните значение в обработчике и CRM. Сохраняйте его как текст, без числового округления.
- Повторите тест при быстрой отправке формы и при недоступности счётчика.
При недоступном счётчике заявка должна сохраняться с явно обозначенным отсутствием идентификатора, а не блокироваться бесконечным ожиданием. Не подставляйте фиктивный ClientID. Разработчик должен определить ограниченное ожидание и последующее дополнение записи, если оно предусмотрено проектом. Сбор данных должен учитывать действующие настройки сайта и выбор посетителя.
Наличие ClientID в CRM ещё не подтверждает передачу оплаты обратно в Метрику или её сопоставление с визитом. Это отдельный маршрут и отдельная проверка. В этой статье проверяется сохранность данных до продажи, а не готовность всей сквозной аналитики.
Почему метки теряются: найдите первый разрыв
Возьмите одну тестовую заявку и сравните четыре точки: конечный URL после перенаправлений, сохранённый набор на сайте, запрос формы, запись CRM. Исправляйте первый участок, где ожидаемое значение исчезло или изменилось.
- Нет уже в URL: проверьте рекламную ссылку, редиректы и переход между доменами.
- Были при входе, но нет в форме: проверьте переходы между страницами, срок хранения, сторонний iframe и момент формирования данных.
- Есть в запросе, но нет в CRM: проверьте список разрешённых полей обработчика, типы и сопоставление с полями CRM.
- Были в карточке, затем изменились: найдите обновление от робота, интеграции или повторной заявки.
- Смешались значения разных переходов: проверьте атомарное обновление набора и очистку отсутствующих параметров.
Значения, пришедшие из браузера, могут быть изменены посетителем. Не используйте UTM для выдачи доступа, определения цены или подтверждения платежа. Для отчёта храните исходные значения и отдельное нормализованное представление по словарю, если оно нужно; не исправляйте историю незаметно.
Что делать с заявками без меток
Разделите «метки отсутствовали», «сбор недоступен» и «ошибка передачи». Если технически нельзя установить причину, оставьте «не определено». Не назначайте всем таким обращениям «прямой заход» или последнюю запущенную кампанию.
Дополнительные сведения — страница входа, referrer, канал обращения и ответ клиента — храните с указанием происхождения. Слова клиента «нашёл в поиске» полезны, но не являются UTM-меткой. Отдельно считайте долю заявок с ошибкой передачи: улучшение сбора должно снижать подтверждённые потери, а не просто заполнять пустые поля догадками.
Контрольные сценарии перед запуском
Для тестов используйте выделенные значения кампании, например qa_source_test, и исключайте тестовые заявки из рабочих отчётов. Сохраните ожидаемые значения, ID заявки, карточку CRM и результат каждой проверки.
- Размеченный вход и отправка с той же страницы: весь набор совпадает.
- Переход на другую страницу без меток: источник сохранён по принятому правилу.
- Возврат по кампании B после A: первый и последний наборы различаются корректно.
- Кампания B без content: значение от A не осталось.
- Визит без меток и недоступный счётчик: заявка доставлена, отсутствие данных обозначено честно.
- Повторная доставка и новый заказ того же контакта: источник старой сделки не изменился.
- Закрытие тестовой продажи: источник и связь с исходной заявкой доступны для отчёта.
Принимайте результат по карте полей и этим сценариям. Исправление одного скрытого поля не подтверждает весь маршрут. Регулярную проверку можно включить в согласованный план сопровождения CRM, а изменение передачи и хранения параметров — в проект интеграции сайта с amoCRM.
Источники проверены 19 октября 2026 года. Карта полей и правила хранения — редакционная методика CHECK CRM; учебные примеры не являются клиентскими кейсами.
