Настройка связки рекламных расходов с CRM Битрикс24

Настройка связки рекламных расходов с CRM Битрикс24 Реклама запущена, лиды идут, но окупаемость каждого канала — тёмный лес. Потратили $4.5k–6.5k. на Директ — сколько из этого вернулось? Без связки рекламных расходов с CRM вы не получите ответа. Ручной сбор данных из трёх-пяти рекламных кабинето
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка связки рекламных расходов с CRM Битрикс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
    809
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1165

Настройка связки рекламных расходов с CRM Битрикс24

Реклама запущена, лиды идут, но окупаемость каждого канала — тёмный лес. Потратили $4.5k–6.5k. на Директ — сколько из этого вернулось? Без связки рекламных расходов с CRM вы не получите ответа. Ручной сбор данных из трёх-пяти рекламных кабинетов и объединение с CRM-отчётами отнимает до 10 часов в месяц и неизбежно содержит ошибки. Мы решаем эту задачу через UTM-атрибуцию и автоматический импорт данных из рекламных систем. Настройка требует работы с API Яндекса, Google, VK и REST-методами Битрикс24. Наши инженеры имеют сертификаты «1С-Битрикс» и 7+ лет опыта в подобных интеграциях. Гарантируем точность данных и прозрачность каждого доллара.

Как настроить атрибуцию рекламы?

Связь «реклама → лид → сделка → деньги» строится на UTM-метках. Каждое объявление помечается UTM-параметрами, которые попадают в Битрикс24 при создании лида. После закрытия сделки — выручка по этой сделке атрибутируется к кампании. Автоматизированная связка даёт 100% точность учёта и не требует ручного вмешательства.

utm_source=yandex&utm_medium=cpc&utm_campaign=brand&utm_term=купить → Лид (UF_CRM_UTM_*) → Сделка → Сумма + Расходы по кампании из Яндекс Директ API = ROI 

Ручной расчёт ROI — это десятки человеко-часов в месяц и ошибки. Автоматизация сокращает время в 12 раз и полностью исключает человеческий фактор.

Структура пользовательских полей

В сделках Битрикс24 нужны поля для хранения UTM-данных:

Поле Код Тип
Источник UF_CRM_UTM_SOURCE string
Кампания UF_CRM_UTM_CAMPAIGN string
ID кампании UF_CRM_CAMPAIGN_ID string
Канал UF_CRM_UTM_MEDIUM string
Ключевое слово UF_CRM_UTM_TERM string
Объявление (ID) UF_CRM_AD_ID string

Поля создаются через crm.userfield.add или в интерфейсе Битрикс24. При создании лида из любого рекламного канала (Директ, VK, FB) — UTM-метки сохраняются в эти поля. При конвертации лида в сделку — поля копируются (настройка через «Источники» в Б24 или через REST). Источник: документация Битрикс24 по пользовательским полям.

Почему ежедневный импорт расходов критичен?

Без ежедневного импорта вы работаете с устаревшими данными, а ROI считается с задержкой до недели. Наш cron-скрипт загружает расходы за предыдущий день из каждой рекламной системы в агрегационную таблицу. Автоматизированный импорт в 12 раз быстрее ручного сбора и даёт актуальную картину каждое утро.

Пример кода импорта из Яндекс.Директа
// Яндекс.Директ: расходы по кампаниям за день public function importDirectCosts(string $date): void { $report = $this->directApi->getReport([ 'ReportType' => 'CAMPAIGN_PERFORMANCE_REPORT', 'DateRangeType' => 'CUSTOM_DATE', 'DateFrom' => $date, 'DateTo' => $date, 'FieldNames' => ['CampaignId', 'CampaignName', 'Cost', 'Clicks', 'Impressions'], ]); foreach ($report as $row) { AdCostTable::add([ 'DATE' => $date, 'SOURCE' => 'yandex', 'CAMPAIGN_ID' => $row['CampaignId'], 'CAMPAIGN' => $row['CampaignName'], 'COST' => $row['Cost'] / 1000000, // Директ отдаёт в микрорублях 'CLICKS' => $row['Clicks'], ]); } } 

Аналогично для VK Ads (ads.getStatistics) и Google Ads (Google Ads API, CampaignService). Импорт работает стабильно, данные всегда актуальны.

Какие данные нужны для расчёта ROI?

Для точного расчёта достаточно трёх компонентов: расходы из рекламных кабинетов, выручка по закрытым сделкам из CRM и корректная связка через UTM-метки. Сравнение ручного и автоматического подхода:

Параметр Ручной сбор Автоматизация
Время на сведение данных в месяц до 10 часов 0 часов
Точность атрибуции ±15% за счёт ошибок 100%
Частота обновления раз в месяц ежедневно
Возможность оперативных решений нет да

Отчёт ROI в Битрикс24

Итоговый отчёт строится запросом, объединяющим расходы и выручку:

SELECT d.UF_CRM_UTM_SOURCE as source, d.UF_CRM_CAMPAIGN_ID as campaign_id, SUM(ac.COST) as ad_spend, COUNT(DISTINCT d.ID) as deals_count, SUM(d.OPPORTUNITY) as revenue, ROUND((SUM(d.OPPORTUNITY) - SUM(ac.COST)) / NULLIF(SUM(ac.COST), 0) * 100, 1) as roi_pct FROM b_crm_deal d LEFT JOIN local_ad_costs ac ON ac.CAMPAIGN_ID = d.UF_CRM_CAMPAIGN_ID AND ac.SOURCE = d.UF_CRM_UTM_SOURCE AND DATE(ac.DATE) = DATE(d.DATE_CREATE) WHERE d.STAGE_ID = 'WON' AND d.DATE_CLOSE BETWEEN :date_from AND :date_to GROUP BY d.UF_CRM_UTM_SOURCE, d.UF_CRM_CAMPAIGN_ID ORDER BY roi_pct DESC 

Отчёт отображается в административном разделе Битрикс24 или в интегрированном BI-инструменте (Yandex DataLens, Google Looker Studio). Благодаря автоматизации ROI каждого канала становится виден в реальном времени.

Типичные ошибки при настройке атрибуции

Ошибка Последствие Решение
Неправильная структура UTM-параметров Лиды не привязываются к кампаниям Внедрить единый шаблон меток
Отсутствие поля для ID кампании Невозможность сопоставить расходы Добавить UF_CRM_CAMPAIGN_ID
Импорт расходов без учёта НДС Завышенный ROI Настроить корректный расчёт стоимости
Редкое обновление данных Принятие неверных решений Настроить ежедневный cron

Передача расходов обратно в Яндекс.Метрику

Для отображения ROI прямо в Метрике — загрузка расходов через counter.uploadOfflineConversions (устаревший) или через Data2 API. При наличии сквозной аналитики через Метрику — подключение через «Импорт данных о расходах» из файла CSV, который генерирует Битрикс.

Что входит в работу

  • Создание пользовательских полей в сделках Б24
  • Настройка передачи UTM при создании лида (все каналы)
  • Разработка импортёров расходов: Директ, VK Ads, FB/Instagram
  • Агрегационная таблица local_ad_costs
  • Отчёт ROI по кампаниям с фильтрами по периоду и каналу
  • Настройка cron-расписания импорта
  • Документация по развёртыванию и поддержке
  • Обучение менеджеров работе с отчётами

Процесс работы

  1. Анализ: изучаем ваши рекламные кабинеты, схему UTM, структуру CRM.
  2. Проектирование: определяем пользовательские поля, таблицы, логику импорта.
  3. Реализация: пишем код интеграций, настраиваем cron, отлаживаем на тестовых данных.
  4. Тестирование: проверяем корректность атрибуции на реальных сделках.
  5. Деплой: разворачиваем на боевой среде, передаём документацию.

Сроки ориентировочно

  • Базовая связка (Директ + один канал) — 1–2 недели.
  • Мультиканальный ROI-отчёт с BI-дашбордом — 3–4 недели. Стоимость рассчитывается индивидуально после аудита.

Закажите аудит ваших рекламных каналов — мы найдём потери в атрибуции. Свяжитесь с нами для бесплатной консультации по настройке сквозной аналитики. Наши сертифицированные инженеры гарантируют прозрачность и поддержку после внедрения.