Налаштування зв'язки рекламних витрат з CRM Бітрікс24

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування зв'язки рекламних витрат з CRM Бітрікс24
Проста
~1 робочий день
Часті питання

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування зв'язки рекламних витрат з 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, Facebook) — 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, який генерує 1С-Бітрікс.

Склад робіт

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

Терміни: 1–2 тижні для базової зв'язки (Директ + один канал). 3–4 тижні для мультиканального ROI-звіту з BI-дашбордом.