Используем cookie — для входа в кабинет и обезличенной статистики. Подробнее
Автоматизация

Как передать продажи из CRM в Яндекс Метрику: офлайн-конверсии и сквозная аналитика

30 октября 2026·11 мин чтения

Короткий ответ: чтобы реклама училась на продажах, а не на заявках, оплаченную сделку из CRM нужно вернуть в Яндекс Метрику как офлайн-конверсию. Для этого сайт при заявке сохраняет идентификатор посетителя — ClientID — в сделку, а когда сделка оплачена, CRM передаёт в Метрику строку «ClientID, цель, время, сумма» файлом или через API. Важное ограничение из справки Яндекса: если с последнего визита прошло больше 21 дня, конверсия к визиту уже не привяжется. Настройку такой связки делаем по тарифу интеграций — от 32 000 ₽, от 2 дней.

Зачем возвращать продажи из CRM в Метрику?

Потому что Метрика видит заявку, но не видит оплату. Без обратной передачи вы знаете, сколько стоила заявка, но не знаете, какая реклама приводит платящих клиентов. А автостратегии Директа оптимизируются на ту цель, которую вы им дали: на заявки — значит, на любые заявки.

Типичная картина в сфере услуг: из 100 заявок с рекламы до оплаты доходит небольшая часть, и доля сильно разная по кампаниям. Одна кампания приносит много дешёвых заявок «просто спросить цену», другая — меньше, но с договорами. В отчёте по заявкам лидирует первая, в отчёте по оплатам — вторая. Пока продажи живут только в CRM, этого не видно ни вам, ни алгоритму.

Что даёт возврат продаж:

  • Отчёты по деньгам. В Метрике появляется цель «Оплата» с суммой, и любой стандартный отчёт — источники, кампании, страницы входа — можно смотреть по ней.
  • Сигнал для Директа. Загруженные цели можно выбрать в стратегии кампании. Если оплат мало для обучения, в материалах Яндекса советуют добавить в оптимизацию дополнительную цель — например, конверсии по звонкам или из офлайна.
  • Честный разговор с подрядчиком по рекламе. Обсуждаются не «лиды по 800 рублей», а оплаты и выручка по каналам.

Чего возврат продаж не даёт: он не снижает стоимость заявки сам по себе и не исправляет слабое предложение. Это измерительный прибор и данные для стратегии, а не рычаг.

Что такое офлайн-конверсии и какие данные нужны?

Офлайн-конверсия — событие вне сайта, привязанное к визиту на сайт: оплата, договор, выдача заказа. Технически это строка в CSV-файле: кто (идентификатор посетителя), что (идентификатор цели), когда (время) и, по желанию, на какую сумму.

По справке Метрики (проверено в октябре 2026 года) колонки такие:

  • Идентификатор посетителя — обязателен хотя бы один: ClientId, UserId, Yclid или PurchaseId.
  • Target — идентификатор цели. Цель заранее создают на счётчике как JavaScript-событие с условием «совпадает» и этим идентификатором, например deal_paid; значение в файле должно совпадать с ним точно.
  • DateTime — время конверсии в формате Unix-времени в секундах по часовому поясу счётчика. Время должно быть прошедшим, иначе загрузка вернёт ошибку.
  • Price — доход по цели, необязательно. По документации API разделитель дробной части — точка.
  • Currency — трёхбуквенный код валюты по ISO 4217, например RUB, необязательно. Если указать неподдерживаемую валюту, по справке вместо суммы и валюты уйдут нули.

Требования к файлу: CSV в кодировке UTF-8, размер до 1 ГБ, первая строка — названия колонок. Данные появляются в отчётах в течение 3 часов после загрузки. Главное ограничение — период дополнения визитов: если между последним визитом посетителя и началом обработки файла прошло больше 21 дня, конверсия не привяжется.

Из 21 дня следует практический вывод для длинных сделок. Если от заявки до оплаты обычно проходит полтора месяца, а клиент после заявки на сайт не возвращался, оплату привязать уже нельзя. Тогда в Метрику передают более ранний этап: «квалифицированный лид», «встреча проведена», «счёт выставлен» — то, что случается в пределах трёх недель.

Помимо формата офлайн-конверсий, в материалах Яндекс Рекламы описан вариант, где клиента указывают телефоном или почтой, предварительно захешированными в MD5. Конверсия и тогда привяжется, только если человек перед покупкой был на сайте. Если вы передаёте контактные данные клиентов, пусть юрист проверит, что это отражено в вашей политике обработки персональных данных.

Как сохранить ClientID в заявке и сделке?

При отправке формы сайт получает ClientID у счётчика Метрики и кладёт его в скрытое поле заявки. Сервер передаёт его в CRM вместе с контактами и метками, а в сделке под него заводится отдельное поле. Без этого шага передавать в Метрику потом нечего.

ClientID — идентификатор посетителя, который Метрика присваивает автоматически. Получить его на странице можно методом счётчика из справки: ym(номер_счётчика, 'getClientID', function(clientID) { … }) — в функцию приходит строка, которую и записывают в поле формы.

Цепочка целиком:

  1. Посетитель открывает форму; скрипт запрашивает ClientID и подставляет его в скрытое поле.
  2. Форма уходит на сервер сайта, оттуда — в CRM: контакты, UTM-метки и ClientID. Как надёжно передавать заявку с метками, мы разбирали в статье «Заявки с сайта в amoCRM и Битрикс24» — здесь не повторяем.
  3. В CRM ClientID лежит в отдельном поле сделки: в amoCRM — дополнительное поле, в Битрикс24 — пользовательское поле в лиде и в сделке; при работе с лидами проверяем, что значение доезжает до сделки после конвертации.
  4. Менеджер ведёт сделку как обычно. Когда она переходит в этап «Оплачено», срабатывает выгрузка.

Отдельно про звонки и мессенджеры. Если клиент позвонил или написал, а не заполнил форму, ClientID в CRM сам не появится. Для звонков его передают сервисы отслеживания звонков с подменой номера; для чат-виджета — сам виджет, если он умеет прокидывать идентификатор визита. Это проверяется на брифе: иначе часть продаж останется без привязки, и картина каналов исказится в пользу тех, кто заполняет формы.

Ещё одна оговорка: ClientID живёт в браузере. Если человек оставил заявку с телефона, а потом вернулся с рабочего компьютера, это два разных ClientID. Привязка пойдёт к визиту, с которого пришла заявка, — для оценки рекламы этого обычно достаточно.

Три способа вернуть продажи из CRM в Метрику
СпособКак работаетКому подходитСлабое место
Файл вручнуюРаз в несколько дней выгрузка из CRM, сборка CSV и загрузка в настройках счётчикаПроверить идею на 1–2 месяцах данныхЧеловек забывает, а визиты старше 21 дня уже не привяжутся
Готовый коннекторСервис-посредник забирает сделки из CRM и отдаёт их в Метрику по расписаниюСтандартная воронка, стандартные поля CRMСвоя логика, например «оплачено частично», настраивается не всегда
Свой обмен по APIСкрипт по событию «сделка оплачена» формирует запись и отправляет её методом загрузки офлайн-конверсийСвоя воронка, несколько этапов, повторные продажи, журнал ошибокНужен разработчик и тот, кто следит за журналом

Способы передачи: файл, API, готовые интеграции

Три пути: собрать CSV вручную и загрузить в настройках счётчика, подключить готовый коннектор или написать свой обмен по API Метрики. Файл годится для проверки идеи, для постоянной работы нужна автоматическая передача не реже раза в сутки.

Вручную. В разделе «Настройка» счётчика на вкладке «Загрузка данных» есть блок «Загрузка офлайн-конверсий»: выбираете тип идентификатора, загружаете файл. Подходит, чтобы за 1–2 месяца понять, есть ли вообще разница между каналами по оплатам. Риск — человеческий: пропустили три недели, и часть продаж уже не привязать.

Через Директ. По материалам Яндекс Рекламы, в кабинете Директа есть Центр конверсий: источник подключается как Google Sheets или файл по FTP/SFTP, и данные подтягиваются оттуда. Если CRM сама умеет обновлять такую таблицу, это простой вариант без программирования.

Готовые коннекторы. В справке Метрики упомянут сервис Albato; у CRM есть свои модули и виджеты аналитики. Перед подключением проверьте три вещи: в какую сторону он передаёт данные (многие только забирают расходы из рекламы), на каком этапе воронки отправляет конверсию и умеет ли передавать сумму.

Свой обмен по API. В API Метрики для этого есть метод загрузки офлайн-конверсий (POST /management/v1/counter/{counterId}/offline_conversions/upload) и метод проверки статуса загрузки (GET …/offline_conversions/uploading/{id}). Скрипт ловит событие CRM «сделка перешла в этап», собирает строку и отправляет. Если Метрика ответила ошибкой, запись остаётся в очереди и уходит повторно, а в журнале видно, какая сделка не ушла и почему. Подробнее о том, как устроены такие связки и что входит в работу, — в статье «API-интеграция: что это и сколько стоит».

Как часто передавать: в материалах Яндекс Рекламы рекомендуют для оптимизации кампаний отправлять CRM-конверсии не реже раза в сутки. Мы обычно ставим отправку по событию плюс ночную досылку того, что не ушло днём.

Сквозная аналитика: свой отчёт или сервис?

Офлайн-конверсии отвечают на вопрос «какой канал привёл к оплате». Сквозная аналитика добавляет расходы всех каналов, выручку, а иногда и маржу из учёта, и показывает окупаемость каждого рубля. Это следующий шаг, и он нужен не всем.

Варианты по мере роста:

Точки проверкиСквозная аналитика: свой отчёт или сервис?
  • Метрика + офлайн-конверсии. Оплаты и суммы по источникам в стандартных отчётах; расходы на Директ видны в его же статистике. Для одного-двух рекламных каналов этого часто достаточно.
  • Готовый сервис сквозной аналитики. Подключается к рекламным кабинетам, CRM и коллтрекингу, строит отчёт по окупаемости. Плюс — быстро; минус — ежемесячная подписка и логика сервиса, а не ваша.
  • Свой отчёт. Данные из CRM, рекламных кабинетов и учёта собираются по расписанию в таблицу или базу, отчёт строится под ваши вопросы: окупаемость с учётом повторных продаж, маржа по направлениям, сроки сделок. Имеет смысл, когда готовые сервисы не учитывают специфику продаж или когда руководитель хочет видеть цифры в привычной таблице.

Свой отчёт мы собираем той же связкой: выгрузки в Excel или Google Sheets входят в тариф интеграций. Если отчёт становится частью системы управления продажами — с планами, воронкой и задачами менеджерам, — это уже вопрос автоматизации отдела продаж целиком.

Типовые ошибки

Почти все ошибки — не в коде выгрузки, а в данных: пустой ClientID в сделках, цель с другим идентификатором, неверное время или передача «оплаты» на этапе, который ею не является. Их видно в отчёте о статусах загрузки, если туда регулярно смотреть.

  • ClientID не доходит до CRM. Поле есть в форме, но сервер его не передаёт или CRM не сохраняет. Проверяется тестовой заявкой в первый же день.
  • Target не совпадает с целью. В файле deal_paid, на счётчике — deal-paid. Конверсия не засчитается по нужной цели — проверяйте статус загрузки.
  • Время не в том формате. DateTime — Unix-время в секундах по часовому поясу счётчика; дата строкой или в миллисекундах не подойдёт, а время из будущего — ошибка загрузки.
  • Редкая выгрузка. Раз в месяц — и часть продаж выпадает из окна в 21 день.
  • Повторная отправка одной сделки. Сделку вернули в этап и снова закрыли — в Метрике две оплаты. Нужен флаг «уже отправлено» в CRM или журнал на стороне связки.
  • Не тот этап. «Оплачено» в CRM ставят при выставлении счёта, а не при поступлении денег. Метрика честно посчитает то, что ей дали.
  • Сумма с ошибками. Запятая вместо точки или сумма в копейках искажает доход в отчётах и стратегиях с ценностью конверсий.
  • Никто не смотрит статусы. Связка тихо сломалась после смены формы на сайте, и месяц продаж не дошёл. Нужны уведомление об ошибках и ответственный.

Когда это вам рано

Возврат продаж окупается вниманием, только если есть платная реклама с сайтом, CRM, в которой сделки доводят до оплаты, и заметный объём сделок. Если чего-то из этого нет, сначала наведите порядок там.

  • Нет рекламы или бюджет на неё небольшой. Решения по одной кампании проще принимать по CRM вручную.
  • Сделки в CRM не закрываются. Если менеджеры не переводят сделку в «Оплачено» или ведут клиентов в блокноте, в Метрику уйдёт пустота. Сначала — правила работы в CRM.
  • Почти все клиенты приходят звонком без коллтрекинга. ClientID у таких сделок не будет; начните с отслеживания звонков.
  • Сделка длится месяцами и клиент не возвращается на сайт. Оплата не попадёт в окно 21 дня; передавайте ранний этап воронки или ограничьтесь отчётом в CRM.
  • На сайте ещё не настроены цели на заявки. Начинать нужно с них — с целей в Метрике для форм, звонков и мессенджеров: офлайн-конверсия — продолжение онлайн-цели, а не её замена.

Сколько стоит и что входит?

Передача продаж из CRM в Метрику — это связка двух систем по тарифу «Интеграции и автоматизация»: от 32 000 ₽, срок — от 2 дней. Итог зависит от того, нужно ли дорабатывать формы сайта, поля и этапы CRM, и фиксируется в договоре до старта.

Что обычно входит в работу:

  • аудит: где на сайте формы, какие поля в CRM, на каком этапе считать оплату;
  • передача ClientID из форм сайта в сделку и тестовые заявки;
  • цель на счётчике и обработчик, который по этапу сделки отправляет конверсию в Метрику;
  • журнал операций, повтор при ошибке и уведомление ответственному в Telegram или на почту;
  • проверка на реальных сделках и инструкция: как устроен обмен и что делать при сбое.

Отдельно: подписки CRM и сторонних сервисов вы оплачиваете поставщикам напрямую; изменение настроек CRM на её стороне и каждая система сверх двух — по отдельной оценке. Оплата 50/50, приёмка — 5 рабочих дней, гарантия — 30 календарных дней с даты акта по договору; до 2 раундов правок и 7 дней бесплатной поддержки после запуска — по прайсу. Дальше следить за обменом можно по поддержке — от 7 900 ₽ в месяц.

С чего начать?

С трёх ответов: где у вас фиксируется факт оплаты, сколько дней обычно проходит от заявки до неё и какая доля сделок приходит через формы сайта. Этого хватает, чтобы выбрать этап для передачи и способ — файл, коннектор или свой обмен.

  1. Откройте 20 последних оплаченных сделок и посмотрите, сколько дней прошло от создания до оплаты.
  2. Проверьте, есть ли в сделках UTM-метки; если нет — начните с передачи заявок с метками.
  3. Договоритесь с отделом продаж, какой этап считается «Оплачено», и запишите это правило.
  4. Создайте на счётчике цель-событие для оплаты и сделайте одну пробную загрузку файлом на десятке сделок.
  5. Если строки привязались и разница между каналами видна — переводите передачу на автоматику.

Короткие ответы на частые вопросы

Что такое офлайн-конверсии в Яндекс Метрике?

Это события, которые произошли вне сайта, — оплата, подписание договора, выдача заказа, — но привязаны к визиту на сайт. Их загружают в Метрику файлом или через API, и они считаются как достижения цели во всех отчётах.

Какой срок есть на загрузку продажи из CRM?

По справке Метрики, если между последним визитом посетителя и началом обработки файла прошло больше 21 дня, конверсию к этому визиту привязать нельзя. Поэтому продажи выгружают регулярно, а не раз в квартал.

Можно ли передать продажи, если в CRM нет ClientID?

Можно попробовать другие идентификаторы: UserID, если вы сами присваиваете его посетителям, или yclid клика из Директа. В материалах Яндекса описан и вариант с телефоном и почтой, захешированными в MD5. Но без идентификатора визита сделка к рекламе не привяжется.

Сколько стоит настроить передачу продаж из CRM в Метрику?

Это связка двух систем по тарифу «Интеграции и автоматизация»: от 32 000 ₽ и от 2 дней. Если нужно дорабатывать формы сайта и поля CRM, объём уточняем на брифе и фиксируем в договоре до старта.

Нужна ли сквозная аналитика, если есть офлайн-конверсии?

Не всегда. Офлайн-конверсии отвечают на вопрос «какой канал привёл к оплате» и дают Директу сигнал для обучения. Расходы по всем каналам, маржа и окупаемость в одном отчёте — это уже сквозная аналитика, её строят, когда каналов и бюджета становится много.

Через сколько продажи появятся в отчётах Метрики?

По справке Метрики — в течение 3 часов после загрузки. Привязалась ли каждая конверсия к визиту, показывает отчёт «Офлайн-конверсии» и страница «Загрузка данных» в настройках счётчика.

Напишите, какая у вас CRM, какой счётчик Метрики и сколько сделок закрывается в месяц, — предложим схему передачи продаж и назовём цену и срок после брифа.

Рассчитать проект →

Оценку срока и цены по брифу делаем бесплатно, обычно отвечаем в течение часа в рабочее время. Типовой договор — посмотреть до оплаты.

Канал Roboweb в Telegram
Разборы цен, сроков и условий договора. Без спама и продаж в личку.
Подписаться →
Обсудим вашу задачу?

Опишите, что нужно — вернёмся с оценкой срока и цены. Обычно отвечаем в течение часа в рабочее время.

Заявка отправлена

Получили — обычно отвечаем в течение часа в рабочее время. Хотите быстрее, продублируйте в WhatsApp.

Продублировать в WhatsApp или позвонить +7 933 177-00-86
Или сразу: +7 933 177-00-86 · Telegram · WhatsApp