Настройка автоматического импорта лидов из Яндекс.Директ в Битрикс24

Настройка автоматического импорта лидов из Яндекс.Директ в Битрикс24 Мы постоянно сталкиваемся с ситуацией, когда заявки из лид-форм Яндекс.Директа остаются в личном кабинете рекламного кабинета или в Метрике. Менеджеру приходится вручную переносить данные в CRM — лиды «виснут» часами, часть теря
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка автоматического импорта лидов из Яндекс.Директ в Битрикс24
Простой
~1 день

Наши компетенции:

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

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1460
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    764
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    882
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    810
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1166

Настройка автоматического импорта лидов из Яндекс.Директ в Битрикс24

Мы постоянно сталкиваемся с ситуацией, когда заявки из лид-форм Яндекс.Директа остаются в личном кабинете рекламного кабинета или в Метрике. Менеджеру приходится вручную переносить данные в CRM — лиды «виснут» часами, часть теряется при копировании. Автоматический импорт через вебхук или Leads API устраняет человека из цепочки и сокращает время реакции до секунд.

Работа вебхука из Яндекс.Директ

Яндекс.Директ отправляет POST-запрос на указанный URL сразу после заполнения лид-формы. Обработчик получает данные, верифицирует подпись (HMAC-SHA256) и создаёт лид в Битрикс24 через REST-метод crm.lead.add. Весь процесс занимает менее секунды.

// webhook/yandex-direct-leads.php $rawBody = file_get_contents('php://input'); $data = json_decode($rawBody, true); // Верификация подписи (HMAC-SHA256) $signature = hash_hmac('sha256', $rawBody, YANDEX_WEBHOOK_SECRET); if ($signature !== $_SERVER['HTTP_X_YANDEX_SIGN'] ?? '') { http_response_code(403); exit; } // Маппинг полей формы Директа в поля лида Битрикс24 $leadData = [ 'TITLE' => 'Лид из Яндекс.Директ: ' . ($data['campaign_name'] ?? ''), 'NAME' => $data['answers']['name'] ?? '', 'PHONE' => [['VALUE' => $data['answers']['phone'] ?? '', 'VALUE_TYPE' => 'WORK']], 'EMAIL' => [['VALUE' => $data['answers']['email'] ?? '', 'VALUE_TYPE' => 'WORK']], 'SOURCE_ID' => 'ADVERTISEMENT', 'SOURCE_DESCRIPTION' => 'Яндекс.Директ', // UTM-метки из параметров формы 'UF_CRM_UTM_SOURCE' => $data['utm_source'] ?? 'yandex', 'UF_CRM_UTM_MEDIUM' => $data['utm_medium'] ?? 'cpc', 'UF_CRM_UTM_CAMPAIGN' => $data['utm_campaign'] ?? $data['campaign_id'] ?? '', 'UF_CRM_UTM_TERM' => $data['utm_term'] ?? '', 'UF_CRM_AD_ID' => $data['ad_id'] ?? '', 'UF_CRM_CAMPAIGN_ID' => $data['campaign_id'] ?? '', ]; // Отправляем в Битрикс24 $b24 = new BitrixWebhookClient(B24_WEBHOOK_URL); $result = $b24->call('crm.lead.add', ['FIELDS' => $leadData, 'PARAMS' => ['REGISTER_SONET_EVENT' => 'Y']]); 

Альтернатива: Leads API Директа

Если лид-форма не поддерживает вебхук (старые формы) — используем polling через Яндекс.Директ API. Каждые 5 минут скрипт проверяет новые лиды за последний период и создаёт их в CRM. Критично обеспечить идемпотентность — хранить ID уже обработанных лидов в Redis или таблице.

// Cron каждые 5 минут: проверяем новые лиды public function importNewLeads(): void { $token = YANDEX_OAUTH_TOKEN; $lastImportTime = $this->getLastImportTime(); // из Redis/файла $response = $this->yandexApiRequest('GetLeads', [ 'SelectionCriteria' => [ 'DateTimeRange' => [ 'From' => $lastImportTime->format('Y-m-d\TH:i:sP'), 'To' => (new DateTime())->format('Y-m-d\TH:i:sP'), ], ], ]); foreach ($response['Leads'] as $lead) { if (!$this->isAlreadyImported($lead['LeadId'])) { $this->createLeadInBitrix24($lead); $this->markAsImported($lead['LeadId']); } } $this->saveLastImportTime(new DateTime()); } 

Обработка дубликатов лидов

Без дедупликации один клик по форме может привести к двум лидам. Базовая проверка: перед созданием лида ищем запись с тем же номером телефона за последние 24 часа. Если есть — добавляем комментарий в таймлайн, а не создаём дубль. Дедупликация по email работает аналогично — особенно актуально для форм, где пользователь не указывает телефон. Для B2B-сегмента настраиваем дополнительную проверку по компании и должности: два разных сотрудника одной организации создаются как отдельные лиды, но автоматически привязываются к одной компании в CRM.

$existing = $b24->call('crm.lead.list', [ 'filter' => ['PHONE' => $phone, '>=DATE_CREATE' => date('Y-m-d', strtotime('-1 day'))], 'select' => ['ID'], ]); if (!empty($existing)) { // Добавляем комментарий к существующему лиду вместо создания дубля $b24->call('crm.timeline.comment.add', [ 'ENTITY_TYPE' => 'lead', 'ENTITY_ID' => $existing[0]['ID'], 'COMMENT' => 'Повторная заявка из Яндекс.Директ: ' . $data['campaign_name'], ]); return; } 

Распределение лидов по ответственным

После создания лида автоматически назначается ответственный менеджер. Маппинг кампании Директа на сотрудника храним в конфигурационном файле или в пользовательских настройках CRM. Альтернатива: использовать роботы Битрикс24 для распределения по правилам воронки.

Например, кампания «Контекст — регион Москва» всегда назначает менеджера московского офиса, а кампании по продукту X — узкого специалиста. Такой подход сокращает время первой реакции на 35%, потому что лид попадает к компетентному человеку напрямую, без переназначений.

При использовании роботов логику легко изменить без программирования: достаточно открыть редактор воронки и скорректировать условия. Роботы поддерживают распределение по нагрузке (очередь), по региону из UTM-метки или по времени суток.

Мониторинг работы интеграции

Без мониторинга неисправность вебхука можно заметить через несколько часов, упустив десятки лидов. Мы настраиваем:

  • Лог-файл всех входящих запросов с временной меткой и статусом обработки.
  • Алерт на почту или в Slack, если за 30 минут не поступило ни одного лида в рабочее время.
  • Запасной polling раз в час для сверки: сравниваем лиды из Яндекс.Директ API с уже созданными в Битрикс24.

Ретрай-механизм: если Битрикс24 недоступен (техническое обслуживание или перезагрузка), вебхук сохраняет данные во временную таблицу с временной меткой и повторяет попытку через 5 минут. Цикл продолжается до успешной обработки. Это полностью исключает потери лидов при плановых технических работах на сервере. Дополнительно: все ретраи пишутся в лог-файл, и при успешной обработке «задержанного» лида менеджер получает уведомление с временем задержки — это помогает правильно расставить приоритеты при перезвоне.

Что входит в услугу

Этап Детали
Анализ формы Проверяем структуру полей Директа, определяем маппинг с полями лида
Настройка вебхука Регистрируем URL в кабинете, реализуем обработчик с верификацией
Разработка маппера Сопоставляем поля: телефон, имя, email, UTM, campaign_id
Дедупликация Внедряем проверку по телефону за 24 часа, логирование
Распределение Настраиваем назначение ответственного по кампании
Тестирование Проверяем на реальных формах, фиксируем ошибки

Сроки: от 3 до 5 дней при готовой инфраструктуре сервера и CRM. Если требуется настройка пользовательских полей и правил распределения — до 2 недель. Стоимость рассчитывается индивидуально после анализа ваших форм — свяжитесь для оценки проекта. Наш опыт: более 20 интеграций с Яндекс.Директом, 5 лет на рынке. Гарантируем отсутствие дублей и потерь лидов.

Получите консультацию по автоматизации импорта — пишите, и мы настроим бесшовную передачу заявок в Битрикс24.