Как передать источник лида в CRM через скрытое поле формы
Когда на сайте настроены формы и успешно собираются заявки, часто возникает задача передавать в CRM не только имя, телефон и URL страницы, но и источник трафика - откуда именно пришёл посетитель: из органической выдачи Яндекса, Google, рекламной кампании или соцсетей. Это позволяет анализировать эффективность каналов в разрезе продаж, а не только заявок.
Почему нельзя полагаться только на Яндекс.Метрику
Хотя API Яндекс.Метрики позволяет получить ClientID и связать визит с источником в отчётах, это даёт статистику только по лидам (заявкам). Для полноценной CRM-аналитики, привязанной к закрытым сделкам и выручке, необходимо передавать источник визита вместе с данными формы. Так вы сможете в CRM видеть, что лид пришёл, например, из yandex_direct или google_ads.
Как получить данные об источнике трафика
Самый надёжный способ - извлечь UTM-метки из URL страницы, на которой находится форма. Если посетитель пришёл по рекламной ссылке, в адресной строке будут параметры utm_source, utm_medium, utm_campaign. Для органического трафика и прямых заходов можно использовать JavaScript для определения реферера (домена, с которого пришёл пользователь) или специальные куки, которые устанавливает скрипт после клика по объявлению.
Пример кода для скрытого поля
Ниже приведён фрагмент на JavaScript, который собирает данные об источнике и записывает их в скрытое поле формы с id lead_source. Если есть UTM-метки - используется utm_source, если нет - проверяется реферер. Для рекламных систем (Яндекс.Директ, Google Ads) можно дополнительно анализировать параметры yclid и gclid.
<script>
function getSource() {
const params = new URLSearchParams(window.location.search);
let source = params.get('utm_source');
if (source) return source;
let ref = document.referrer;
if (ref.includes('yandex')) return 'yandex_seo';
if (ref.includes('google')) return 'google_seo';
if (ref.includes('vk.com')) return 'vk_ads';
if (ref.includes('t.me')) return 'telegram_ads';
return 'direct';
}
document.getElementById('lead_source').value = getSource();
</script>Настройка скрытого поля в форме
Добавьте в HTML-код вашей формы следующий элемент:
<input type="hidden" name="lead_source" id="lead_source" value="" />Убедитесь, что имя поля (name) совпадает с тем, которое ожидает ваша CRM при приёме данных. После отправки формы в CRM будет передано значение, например yandex_direct или google_ads.
Какие значения можно передавать
Для удобства анализа в CRM рекомендуется использовать единый справочник источников. Примеры значений:
- yandex_seo - органический трафик из Яндекса
- google_seo - органический трафик из Google
- yandex_direct - реклама Яндекс.Директ
- google_ads - реклама Google Ads
- telegram_ads - реклама в Telegram
- vk_ads - реклама ВКонтакте
- 2gis - переход с 2ГИС
- avito - переход с Avito
- direct - прямой заход (без реферера)
Проверка и отладка
После внедрения обязательно протестируйте форму: откройте страницу с разными UTM-метками (например, вручную добавьте ?utm_source=yandex_direct) и проверьте, что скрытое поле заполняется корректно. Также протестируйте заходы с других сайтов (через реферер) и прямой заход. Используйте консоль браузера или инструменты разработчика, чтобы убедиться в правильности работы скрипта.
Внедрение передачи источника лида в CRM - это простой, но мощный шаг к прозрачной аналитике. Вы сможете точно знать, какие каналы приносят не просто лиды, а реальные продажи, и оптимизировать рекламный бюджет на основе данных из CRM.