Настройка связки рекламных расходов с 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-расписания импорта
- Документация по развёртыванию и поддержке
- Обучение менеджеров работе с отчётами
Процесс работы
- Анализ: изучаем ваши рекламные кабинеты, схему UTM, структуру CRM.
- Проектирование: определяем пользовательские поля, таблицы, логику импорта.
- Реализация: пишем код интеграций, настраиваем cron, отлаживаем на тестовых данных.
- Тестирование: проверяем корректность атрибуции на реальных сделках.
- Деплой: разворачиваем на боевой среде, передаём документацию.
Сроки ориентировочно
- Базовая связка (Директ + один канал) — 1–2 недели.
- Мультиканальный ROI-отчёт с BI-дашбордом — 3–4 недели. Стоимость рассчитывается индивидуально после аудита.
Закажите аудит ваших рекламных каналов — мы найдём потери в атрибуции. Свяжитесь с нами для бесплатной консультации по настройке сквозной аналитики. Наши сертифицированные инженеры гарантируют прозрачность и поддержку после внедрения.







