Как передать источник лида в 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.

    Часто задаваемые вопросы