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

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка связки рекламных расходов с CRM Битрикс24
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

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

Рекламные расходы живут в Яндекс.Директе, Google Ads, ВКонтакте, myTarget — в отдельных кабинетах с отдельными метриками. Выручка — в CRM Битрикс24. Без связки невозможно посчитать реальный ROI по каналам: сколько потратили на Директ и сколько из этого закрылось в деньги. Настройка этой связки — задача на стыке рекламных API и CRM.

Принцип атрибуции

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

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

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

В сделках Битрикс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).

Импорт расходов из рекламных систем

Ежедневный cron импортирует расходы за предыдущий день из каждой рекламной системы в агрегационную таблицу:

// Яндекс.Директ: расходы по кампаниям за день
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 в Битрикс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 прямо в Метрике — загрузка расходов через counter.uploadOfflineConversions (устаревший) или через Data2 API. При наличии сквозной аналитики через Метрику — подключение через «Импорт данных о расходах» из файла CSV, который генерирует Битрикс.

Состав работ

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

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