Офлайн-конверсии в Яндекс Директ — это способ сообщить рекламной системе не только о том, что человек оставил заявку, но и о том, что было дальше: дозвонились ли до него, приехал ли он на замер, заплатил ли деньги. Без этого Директ видит только верх воронки. Он честно оптимизирует кампании на «отправку формы» и радостно приводит людей, которые форму отправляют, но ничего не покупают.
Я сталкиваюсь с этим постоянно. Клиент приходит с жалобой: «Заявок много, CPL нормальный, а продаж нет». Открываем CRM — половина заявок нецелевые: ошиблись номером, ищут вакансию, хотят «просто узнать цену» для соседнего региона. Для Директа все эти заявки одинаково хороши, потому что ему никто не сказал обратного. Офлайн-конверсии решают именно эту проблему: вы возвращаете в рекламу данные из CRM, и автостратегия начинает учиться на продажах, а не на нажатиях кнопки.
Ниже я расскажу, как устроена передача офлайн-конверсий, какие данные нужно сохранять с каждой заявкой, как загружать их в Метрику вручную, по API и через CRM, и как потом использовать эти цели в стратегиях Директа. Всё — на практике: я не только настраиваю рекламу, но и сделал собственную CRM Пробит, которая как раз возвращает сделки в Директ.
Что такое офлайн-конверсии в Яндекс Директ и зачем они нужны
Офлайн-конверсия — это событие, которое произошло не на сайте, а за его пределами: в CRM, в отделе продаж, по телефону, в офисе. Например, «заявка квалифицирована», «клиент приехал на встречу», «договор подписан», «оплата получена». Сайт и счётчик Метрики этих событий не видят. Чтобы реклама о них узнала, их нужно загрузить в Метрику и связать с конкретными визитами.
Технически офлайн-конверсии загружаются в Яндекс Метрику, а Директ использует их как обычные цели: в отчётах, в Мастере отчётов, в автостратегиях с оптимизацией конверсий. То есть Директ «учится» на офлайн-событиях так же, как на отправке формы.
Что это даёт бизнесу
- Автостратегия оптимизируется на деньги. Если вы ставите цель «оплата» или «квалифицированный лид», система ищет людей, похожих на тех, кто реально покупает.
- Видно реальную окупаемость кампаний. Можно считать не только CPL, но и стоимость продажи, ДРР, ROMI по каждой кампании, группе и даже ключевой фразе.
- Мусорные источники становятся заметны. Площадки РСЯ, которые дают дешёвые заявки без продаж, отключаются на основе фактов, а не ощущений.
- Меньше споров между маркетингом и продажами. Оба отдела смотрят на одни и те же цифры.
Как Метрика связывает событие из CRM с рекламным кликом
Весь механизм держится на идентификаторе. Когда человек приходит на сайт, Метрика присваивает ему идентификатор, а Директ добавляет к ссылке метку клика. Если вы сохраните этот идентификатор вместе с заявкой в CRM, то потом сможете сказать Метрике: «Вот этот посетитель через неделю стал клиентом».
| Идентификатор | Откуда берётся | Когда использовать |
|---|---|---|
| ClientID | Присваивается счётчиком Метрики браузеру посетителя, получается на сайте через JavaScript | Основной вариант для сайтов с формами и корзиной |
| yclid | Метка клика, которую Директ добавляет к ссылке при переходе из рекламы | Когда нужно связать событие именно с рекламным кликом, а ClientID получить сложно |
| UserID | Ваш собственный идентификатор пользователя, который вы передаёте в Метрику | Для сайтов с личным кабинетом и авторизацией |
| Телефон, email | Контакты из заявки | При загрузке данных CRM и для сегментов Аудиторий; сопоставление идёт по хешам |
В моих проектах основной рабочий вариант — ClientID плюс yclid. ClientID ловит почти все заявки с сайта, yclid страхует на случай, если человек перешёл из рекламы, а форма отправилась в другой сессии.
Как получить ClientID в форме
На сайте нужен небольшой скрипт, который получает ClientID через метод счётчика и подставляет его в скрытое поле формы. При отправке заявки это поле уходит вместе с именем и телефоном и попадает в CRM. То же самое делается для yclid: скрипт берёт метку из адреса страницы, сохраняет её в cookie на время сессии и подставляет в скрытое поле. Для разработчика это задача на полчаса, но её почему-то пропускают чаще всего.
А если заявка пришла по телефону
Звонки — отдельная история. Без коллтрекинга вы не знаете, из какого визита пришёл звонок. Динамический коллтрекинг подменяет номер на сайте и связывает звонок с сессией, а значит и с ClientID. Большинство сервисов коллтрекинга умеют передавать звонки в Метрику и в CRM. После этого звонок становится обычной заявкой, по которой тоже можно загрузить офлайн-статус.
Способы загрузки офлайн-конверсий в Метрику
Есть три основных пути. Выбор зависит от объёма заявок и от того, какая у вас CRM.
1. Ручная загрузка файла
В настройках счётчика Метрики есть раздел для загрузки офлайн-конверсий. Вы создаёте в Метрике цель типа «JavaScript-событие» с понятным идентификатором (например, deal_won), а потом загружаете CSV-файл: идентификатор посетителя (ClientID, yclid или UserID), идентификатор цели, дата и время события, по желанию — сумма и валюта. Формат и требования к столбцам описаны в справке Яндекс Метрики.
Ручная загрузка подходит, если заявок немного — десятки в месяц — и есть человек, который раз в несколько дней выгружает из CRM таблицу и загружает её. Минус очевиден: как только ответственный уходит в отпуск, данные перестают поступать, и стратегия теряет сигнал.
2. Загрузка по API
У Метрики есть API для загрузки офлайн-конверсий. Разработчик пишет скрипт, который по расписанию берёт из CRM сделки с нужными статусами и отправляет их в Метрику. Это надёжнее ручной загрузки и позволяет передавать данные каждый день или чаще. Нужны доступ к API, токен и немного времени разработчика.
3. Интеграция CRM с Метрикой
Многие CRM умеют передавать данные в Метрику сами — через встроенную интеграцию или модуль. Кроме загрузки офлайн-конверсий, в Метрике есть загрузка данных CRM: контакты и заказы со статусами. На их основе можно строить отчёты по выручке и использовать цели, связанные с заказами. Если ваша CRM это поддерживает — это самый удобный путь.
В CRM Пробит, которую я разработал, это устроено так: форма на сайте передаёт ClientID и yclid вместе с заявкой, менеджер двигает сделку по воронке, а при смене статуса система автоматически отправляет конверсию в Метрику. Никто не выгружает таблицы, и Директ получает данные о продажах без участия людей.
Какие события передавать в Директ как офлайн-конверсии
Типичная ошибка — передавать только «оплату». На первый взгляд логично: деньги — главное. Но у малого бизнеса оплат в месяц может быть 10–20, а автостратегии этого мало для обучения. Поэтому я выстраиваю лестницу событий.
| Этап воронки | Пример цели | Для чего использую |
|---|---|---|
| Заявка с сайта или звонок | Отправка формы, целевой звонок | Базовая цель, её много, стратегия быстро обучается |
| Квалифицированный лид | Менеджер подтвердил, что заявка целевая | Основная цель для оптимизации в большинстве ниш услуг |
| Встреча, замер, визит | Клиент приехал в офис или специалист выехал на объект | Промежуточный этап для длинных сделок |
| Сделка, оплата | Договор подписан, деньги получены, с суммой | Оценка окупаемости, ценность конверсии, долгосрочная оптимизация |
Для оптимизации я чаще всего беру самый глубокий этап, по которому набирается достаточно событий. Если квалифицированных лидов 40–60 в месяц на кампанию — это хорошая цель. Если сделок 200 в месяц — оптимизирую на сделки с ценностью. Если событий мало, использую несколько целей одновременно с разной ценностью: заявке ставлю небольшую условную ценность, квалифицированному лиду — выше, продаже — реальную сумму.
Нецелевые заявки тоже важны
Даже если вы не готовы оптимизировать на продажи, передавайте хотя бы статус «квалифицированный лид». Это самый быстрый способ отличить кампании, которые приводят реальных клиентов, от кампаний, которые приводят спам, ошибки и конкурентов, собирающих цены.
Как использовать офлайн-конверсии в стратегиях Яндекс Директ
Когда данные из CRM начали поступать в Метрику, их можно подключать к кампаниям. Порядок у меня такой.
- Сначала только наблюдение. Две-четыре недели офлайн-цели просто собираются в статистике. Я проверяю, что они корректно связываются с визитами из Директа: в Мастере отчётов по кампаниям должны появляться конверсии по новой цели.
- Сверка с CRM. Сравниваю число сделок в CRM с числом офлайн-конверсий в Метрике за тот же период. Полного совпадения не будет — часть клиентов приходит не из рекламы или не связывается с визитом. Но если в CRM 50 сделок из Директа, а в Метрике 5, где-то теряется идентификатор.
- Добавление цели в стратегию. В кампании с оптимизацией конверсий добавляю офлайн-цель в список целей с указанием ценности. Иногда оставляю и онлайн-заявку с меньшей ценностью, чтобы у стратегии было больше сигналов.
- Корректировка целевой цены. Целевая цена квалифицированного лида выше, чем цена любой заявки. Если оставить её на прежнем уровне, стратегия может резко сократить показы.
- Наблюдение и терпение. После смены цели стратегия переобучается. Первые 1–2 недели результаты могут колебаться — не нужно дёргать настройки каждый день.
Подробнее о выборе стратегии и о том, когда переходить с ручных ставок на автостратегии, я писал в статье «Стратегии Яндекс Директ: ручные ставки или автостратегии». А о том, какие цели в Метрике должны быть настроены ещё до офлайн-конверсий, — в материале про цели Яндекс Метрики.
Оплата за конверсии и офлайн-цели
Модель оплаты за конверсии в Директе особенно интересна в связке с офлайн-данными: вы платите не за клики, а за события. Но будьте осторожны с оплатой за глубокие офлайн-цели: если событие наступает через неделю после клика и загружается с задержкой, стратегии сложнее учиться. Я начинаю с оплаты за клики с оптимизацией на офлайн-цель и перехожу на оплату за конверсии, только когда вижу стабильный поток событий.
Сроки загрузки и задержки: почему «раз в месяц» не работает
Чем быстрее данные попадают в Метрику, тем полезнее они для рекламы. Автостратегия принимает решения каждый день, и если продажи за сентябрь вы загружаете в конце октября, для обучения они уже почти бесполезны.
- Метрика связывает офлайн-конверсию с визитом только в пределах определённого окна после визита. Актуальный срок указан в справке — ориентируйтесь на него и не копите данные.
- Я настраиваю загрузку ежедневно, а для проектов с большим объёмом — несколько раз в день.
- Статусы в CRM должны меняться вовремя. Если менеджеры закрывают сделки пачками в конце месяца, никакая интеграция не поможет: сначала нужно навести порядок в работе отдела продаж.
Отдельная боль — длинный цикл сделки. Если от заявки до оплаты проходит два-три месяца (недвижимость, дорогое оборудование, строительство), оптимизировать на оплату напрямую почти невозможно. Тут выручает промежуточный этап: встреча, выезд специалиста, выставленный счёт. Он наступает быстрее и хорошо коррелирует с итоговой продажей.
Частые ошибки при настройке офлайн-конверсий
- ClientID не сохраняется в заявке. Форма уходит на почту, менеджер переносит данные в CRM руками, идентификатор теряется. Без него связать продажу с кликом нельзя.
- Разные формы работают по-разному. Основная форма передаёт ClientID, а квиз или онлайн-чат — нет. В итоге часть заявок выпадает из аналитики.
- Дубли конверсий. Одну и ту же сделку загружают несколько раз при каждом изменении статуса. Нужно следить, чтобы событие передавалось один раз на этап.
- Неправильный часовой пояс или формат даты. Конверсия «в будущем» или слишком далеко в прошлом просто не примется.
- Цель в Метрике создана, но не добавлена в кампании. Данные есть, а стратегия продолжает учиться на старой цели.
- Слишком мало событий. Оптимизация на цель, по которой 3 конверсии в месяц. Стратегия не обучается, показы падают.
- Нет контроля. Интеграция сломалась после обновления сайта, и полтора месяца никто этого не замечал. Раз в неделю я сверяю количество конверсий в Метрике и в CRM.
Что меняется в работе после внедрения офлайн-конверсий
Самое заметное изменение — разговор о рекламе становится предметным. Вместо «кажется, из РСЯ идут плохие заявки» появляется «РСЯ даёт 40% заявок, но только 15% квалифицированных лидов». Решения принимаются по данным.
Из того, что я вижу в проектах после внедрения:
- часть кампаний, которые казались лучшими по CPL, оказываются худшими по стоимости продажи;
- часть ключевых фраз с дорогим кликом, наоборот, приносит самых платёжеспособных клиентов;
- доля мусорных заявок снижается, потому что стратегия перестаёт «награждать» источники, которые их приводят;
- отдел продаж начинает аккуратнее вести CRM, потому что видит, что от этого зависит качество входящего потока.
Это не магия и не гарантия роста продаж: если продукт или отдел продаж слабый, аналитика это просто покажет. Но без офлайн-данных вы управляете рекламой на ощупь. Особенно ярко это видно в сетях: как офлайн-данные помогают отличить полезные площадки от мусорных, я разбирал в статье о настройке РСЯ и чистке площадок.
Данные из CRM не только для стратегий: аудитории и исключения
Офлайн-конверсии — не единственный способ использовать CRM в рекламе. Те же данные о клиентах работают в Яндекс Аудиториях, и я почти всегда подключаю их параллельно.
Похожие аудитории на базе покупателей
Выгрузите из CRM телефоны и email тех, кто реально купил, и загрузите их в Яндекс Аудитории как сегмент. Контакты перед загрузкой хешируются, сами данные в открытом виде никуда не передаются. На основе такого сегмента можно построить похожую аудиторию — людей, по поведению напоминающих ваших клиентов. Для РСЯ это один из самых качественных таргетингов: система ищет «новых похожих на покупателей», а не «похожих на всех, кто заходил на сайт».
Исключение текущих клиентов
Второй сценарий — наоборот, не показывать рекламу тем, кто уже купил. Если у вас разовая услуга (например, установка окон или юридическое сопровождение сделки), платить за клики вчерашних клиентов бессмысленно. Сегмент покупателей добавляется в кампании как исключение или с понижающей корректировкой.
Повторные продажи
Если бизнес живёт на повторных покупках — расходники, сервисное обслуживание, сезонные услуги, — сегмент прошлых клиентов становится отдельной кампанией с отдельным предложением. Это дешёвые и тёплые касания, которые без CRM просто невозможно собрать.
Как выглядит внедрение на типичном проекте
Опишу обобщённый сценарий из моей практики — компания, оказывающая услуги по Москве и области, с отделом продаж из двух-трёх менеджеров.
- Неделя 1. Разбираем воронку. Выясняется, что статусы в CRM есть, но менеджеры ставят их через раз. Договариваемся о трёх обязательных этапах: «целевой лид», «выезд», «договор».
- Неделя 2. Разработчик добавляет ClientID и yclid во все формы и квиз, подключаем коллтрекинг. Проверяем тестовыми заявками.
- Недели 3–6. Данные копятся. Первая сверка показывает, что одна из кампаний в сетях даёт много заявок, но почти без выездов, а поисковая кампания по узким запросам — наоборот. Перераспределяем бюджет.
- Неделя 7 и дальше. Переводим основные кампании на оптимизацию по цели «целевой лид» с условной ценностью, а «договор» используем для оценки окупаемости.
Цифры у каждого бизнеса свои, и обещать конкретный рост я не буду. Но почти всегда после такого внедрения становится понятно, куда реально уходят деньги, — и этого уже достаточно, чтобы перестать финансировать неработающие кампании.
Пошаговый план внедрения офлайн-конверсий в Яндекс Директ
- Опишите воронку продаж в CRM: какие этапы проходит заявка до оплаты, где менеджер фиксирует каждый этап.
- Выберите 2–3 этапа, которые будете передавать: например, «квалифицированный лид», «встреча», «оплата».
- Настройте сохранение ClientID и yclid во всех формах сайта, квизах, чатах. Проверьте тестовой заявкой, что они доходят до CRM.
- Подключите коллтрекинг, если значимая доля заявок приходит по телефону.
- Создайте в Метрике цели под каждый офлайн-этап с понятными идентификаторами.
- Выберите способ загрузки: ручной файл, API или встроенная интеграция CRM.
- Настройте регулярную передачу данных — лучше ежедневно.
- Две-четыре недели соберите статистику и сверьте её с CRM.
- Добавьте офлайн-цели в стратегии кампаний с ценностью и скорректируйте целевую цену.
- Раз в неделю проверяйте, что данные поступают, а раз в месяц — оценивайте стоимость продажи по кампаниям.
Чек-лист готовности
- Каждая заявка в CRM содержит ClientID или yclid.
- Менеджеры меняют статусы в день события, а не в конце месяца.
- В Метрике есть отдельные цели для офлайн-этапов.
- Загрузка работает автоматически, есть ответственный за контроль.
- Число офлайн-конверсий в Метрике сопоставимо с числом сделок из рекламы в CRM.
- Офлайн-цели добавлены в стратегии, целевая цена пересчитана.
Вывод
Офлайн-конверсии в Яндекс Директ — это мост между рекламой и деньгами. Пока его нет, Директ оптимизирует то, что видит: клики и формы. Когда он есть, система начинает искать людей, которые покупают. Технически это не сложно: сохранить ClientID, выбрать этапы воронки, настроить регулярную загрузку и подключить цели к стратегиям. Сложнее дисциплина — аккуратная CRM и регулярный контроль.
Если хотите внедрить это у себя, я помогу на любом этапе: от настройки Метрики и целей до связки CRM с рекламой и перевода кампаний на оптимизацию по продажам. Посмотрите услуги по настройке и ведению контекстной рекламы и стоимость работ — настройка Метрики, целей и коллтрекинга стоит от 12 000 ₽. А если нужна готовая CRM, которая сама возвращает сделки в Директ, — посмотрите Пробит на probit-crm.ru.
Частые вопросы
Создайте в Метрике цель типа «JavaScript-событие» и загрузите файл с идентификатором посетителя (ClientID, yclid или UserID), идентификатором цели и временем события. Загрузку можно делать вручную, через API Метрики или через интеграцию CRM. Для рекламы лучше настроить автоматическую ежедневную передачу.
ClientID — это идентификатор, который счётчик Метрики присваивает браузеру посетителя. Его можно получить на сайте через JavaScript-метод счётчика и передавать в скрытом поле формы вместе с заявкой в CRM. Без него связать продажу с рекламным визитом не получится.
Чем больше, тем стабильнее обучение. На практике я ориентируюсь хотя бы на десяток событий в неделю по кампании. Если офлайн-событий меньше, лучше оптимизировать на несколько целей с разной ценностью или на промежуточный этап воронки.
Да. Для этого нужен коллтрекинг, который связывает звонок с визитом на сайт. После этого статус звонка в CRM, например «целевой» или «продажа», можно передавать в Метрику так же, как статус заявки с формы.
Желательно ежедневно. У Метрики есть ограничение по давности связи конверсии с визитом, а автостратегия принимает решения постоянно, поэтому данные, загруженные через месяц, почти не помогают обучению.
