Связываем Битрикс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 рабочих дней. Стоимость рассчитывается индивидуально в зависимости от сложности сайта и количества целей. Свяжитесь с нами — мы оценим ваш проект и подготовим коммерческое предложение.







