Зв'язуємо Бітрікс24 і Яндекс.Метрику: офлайн-конверсії та атрибуція
Ми часто бачимо таку картину: в Бітрікс24 накопичено сотні угод, а в Яндекс.Метриці — тисячі візитів. Між ними — чорний ящик: незрозуміло, які конкретні рекламні кліки принесли реальні гроші, а які обернулися лише холостими заявками. Інтеграція закриває цей розрив. Вона дозволяє передавати офлайн-конверсії (угоди з сумами) назад в Метрику та записувати ClientID в CRM, щоб прив'язати продаж до конкретної сесії. На практиці компанії обмежуються колтрекінгом, втрачаючи до 30% ефективності рекламного бюджету. Наші інженери мають 10+ років досвіду в Бітрікс24 та реалізували понад 50 подібних інтеграцій. Ми пропонуємо повну інтеграцію під ключ: від збору ClientID на формах до автоматичної відправки даних та зворотної синхронізації аудиторій. Оцініть проєкт безплатно — зв'яжіться з нами.
Два рівні інтеграції
Перший рівень — передача офлайн-конверсій. Події про угоди (наприклад, «Перемога») відправляються в Метрику через API. Метрика збагачує звіти: видно, з яких кампаній прийшли реальні покупці, а не просто заявки. Другий рівень — передача ClientID (_ym_uid) в CRM. Дозволяє з будь-якої угоди відкрити сесію користувача в Метриці та побачити його шлях на сайті. Офлайн-конверсії в 3 рази точніші за колтрекінг для оцінки ефективності каналів, оскільки враховують усі закриті угоди, включаючи ті, що оброблені в CRM, а не лише дзвінки.
Як додати ClientID на сайт
Крок 1. JavaScript збирає _ym_uid з кукі:
function getYmClientId() { const match = document.cookie.match(/_ym_uid=([^;]+)/); return match ? match[1] : null; } // При отправке формы const formData = { name: document.getElementById('name').value, phone: document.getElementById('phone').value, ym_client_id: getYmClientId(), // ... другие поля }; Крок 2. На сервері при створенні ліда через REST API:
$client->call('crm.lead.add', [ 'fields' => [ 'TITLE' => 'Заявка з сайту', 'UF_CRM_YM_CLIENT_ID' => $formData['ym_client_id'], 'UTM_SOURCE' => $_GET['utm_source'] ?? '', 'UTM_CAMPAIGN' => $_GET['utm_campaign'] ?? '', // ... ], ]); Поле UF_CRM_YM_CLIENT_ID створюється вручну в налаштуваннях CRM: рядкове поле на ліді та угоді. При конвертації ліда в угоду поле копіюється, якщо налаштовано відповідний сценарій. Без цього ідентифікатора неможливо розрізнити сесії, що привели до продажу.
Як працюють офлайн-конверсії
При переході угоди на стадію «Перемога» кастомний робот CRM відправляє POST-запит до POST /upload/v1/counter/{counterId}/goals/upload. Тіло запиту:
{ "Hits": [ { "ClientId": "{{ _ym_uid клієнта }}", "DateTime": "2025-01-02T10:00:00", "Target": "deal_won", "Price": 150000, "Currency": "USD" } ] } Робот використовує OAuth-токен з правами metrika:write, який зберігається в налаштуваннях модуля або змінних середовища. Ми гарантуємо повторну відправку при збоях до отримання підтвердження від API. Додатково можна передавати події кваліфікації ліда (lead_qualified) для більш точної атрибуції. Докладніше про формат запиту — в документації REST API Яндекс.Метрики.
Чому передача ClientID — критичний етап?
Без ClientID офлайн-конверсія не прив'язується до конкретної сесії. Метрика бачить лише факт угоди, але не знає, з якого візиту вона відбулася. Це зводить нанівець атрибуцію: ви бачите, що угода закрита, але не розумієте, який канал або оголошення привело клієнта. Збір ClientID вирішує цю проблему. Наші клієнти після впровадження відзначають зростання точності атрибуції в середньому на 40%. Отримайте консультацію з налаштування — це підвищить віддачу від реклами.
Проблема multi-touch атрибуції та її вирішення
Метрика за замовчуванням призначає конверсію останньому кліку. При роботі зі звичайними цілями це призводить до недооцінки брендингових кампаній та переоцінки ретаргетингу. Офлайн-конверсії з передачею суми угоди частково вирішують проблему: Метрика дізнається не лише кількість конверсій, але й їх цінність. Однак модель атрибуції змінюється тільки на рівні Яндекс.Діректу — там можна вибрати стратегію «Цінність конверсій» або «Частка конверсій». Для повної multi-touch моделі знадобиться додаткове налаштування через API Діректу.
Синхронізація аудиторій
Метрика дозволяє створювати сегменти на основі офлайн-конверсій: наприклад, «клієнти з сумою > $900–1.3k.» або «повторні покупці». Сегмент створюється в розділі «Аудиторії» → «Завантажити дані» → «Офлайн-конверсії». Після побудови сегмент експортується в Яндекс.Дірект для ретаргетингу або Look‑alike. Ми налаштовуємо автоматичну щотижневу синхронізацію, щоб аудиторії залишалися актуальними. Це підвищує ефективність реклами: налаштування сегментів займає 1 день, а віддача від ретаргетингу зростає в 2 рази.
Реальний кейс з нашої практики: оптимізація контекстної реклами за виручкою
Задача: інтернет-магазин B2B-витратних матеріалів. Контекстна реклама приводила багато заявок, але виручка не зростала — частина лідів виявилася нецільовими (фізособи, неправильний регіон). Оптимізація за кількістю заявок не давала результату.
Рішення: передача офлайн-конверсій з двома подіями: lead_qualified (кваліфікація) та deal_won (перемога з сумою). Налаштували збір ClientID на сайті.
Результати: кампанія «загальні ключі» давала 40% заявок, але лише 10% виручки. Кампанія «бренд конкурентів» — 15% заявок і 35% виручки. Без офлайн-конверсій ця асиметрія залишалася непоміченою. Після перерозподілу бюджету CPA за виручкою знизився на 28% за два місяці, а загальна виручка зросла на $21k–30kів за квартал. Клієнт продовжує співпрацю — інтеграція окупилася за 2 місяці.
Типові помилки при інтеграції
| Помилка | Наслідок | Рішення |
|---|---|---|
| Колтрекінг без ClientID | Неможливість прив'язати дзвінок до сесії | Додайте збір ClientID на сайті |
| Робот без обробки помилок | Втрата даних при збої API | Використовуйте retry з експоненційною затримкою |
| Відсутність поля ClientID на угоді | Втрата зв'язку після конвертації ліда | Налаштуйте сценарій копіювання поля |
| Пропуск тестової угоди | Неправильні дані в Метриці | Перед запуском перевірте ланцюжок end-to-end |
Строки та обсяг робіт
| Етап | Результат | Час |
|---|---|---|
| Аналітика | Аудит форм, CRM, рекламних кампаній | 1 день |
| Розробка | Добудова збору ClientID на сайті + робот відправки | 3–5 днів |
| Налаштування | Поля CRM, роботи, підключення API Метрики, сегменти | 1–2 дні |
| Тестування | Перевірка ланцюжка «форма → лід → угода → конверсія» | 1–2 дні |
| Документація | Інструкція, навчання менеджерів | 1 день |
Повний цикл — від 7 до 14 робочих днів. Вартість розраховується індивідуально залежно від складності сайту та кількості цілей. Зв'яжіться з нами — ми оцінимо ваш проєкт безплатно та підготуємо комерційну пропозицію.







