Клиент позвонил в офис или зашёл в точку уже после того, как закрыл сайт. В кабинете Директа в эту минуту виден клик, а не разговор и не визит. Офлайн-конверсия как раз переносит такое действие в статистику и привязывает его к визиту из рекламы. Ниже разбираю, чем это отличается от цели на странице, какие идентификаторы я передаю и что проверяю, если строка в учётной системе есть, а в отчёте её нет.
Что я отношу к офлайну
Онлайн-конверсия срабатывает в браузере. Человек отправил форму, положил товар в корзину или оплатил заказ на странице — Метрика видит это сама. Офлайн-конверсия происходит позже и не на сайте. Это дозвон, приход в магазин или офис, оплата по счёту в учётной системе, покупка в зале после того, как предложение смотрели в интернете.
В справке Яндекса сказано прямо: такие шаги не всегда попадают в рекламную статистику. Кампанию тогда оценивают по верхней части воронки. Объявления, которые приводят к звонкам и визитам, могут недополучать бюджет или останавливаться раньше, потому что алгоритм видит только клики и заявки с формы.
Как связать обычную цель Метрики с кампанией, я разбирал в статье про цели в Яндекс Директе. Настройку счётчика здесь не повторяю. Для офлайна задача другая: действие уже случилось вне страницы, и его надо связать с визитом, который пришёл из объявления.
Три источника, которые не заменяют друг друга
Офлайн в Директе я собираю из трёх слоёв. Они стоят рядом, но закрывают разные события. Включать все три «на всякий случай» не обязательно. Сначала выбираю тот слой, которым клиент заканчивает путь.
| Слой | Когда он нужен |
|---|---|
| Центр конверсий и учётная система | Есть заказ, оплата и смена статуса |
| Коллтрекинг в Директе | Главный канал — телефон, кампания «Простой старт» или единая перфоманс-кампания |
| Цель «Посещение организации» | Точка на Яндекс Картах, человек приходит без заявки на сайте |
Если человек звонит и потом платит по счёту, одного визита из Карт мало. Если приезжает без звонка, журнал звонков поездку не покажет. Если оплата живёт только в учётной системе, ни звонок, ни карта эту оплату не заменят.
Звонок, который прошёл мимо сайта
Коллтрекинг нужен, когда человек звонит, а не заполняет форму. Во встроенном коллтрекинге Директа номер в объявлении подменяется динамически: у обращения свой номер, и дозвон связывается с кампанией. Подключение есть в «Простом старте» и в единой перфоманс-кампании, если есть доступ владельца или представителя организации в Яндекс Бизнесе. По справке подмена работает на Поиске, в списке организаций и в десктопных Яндекс Картах. В журнале остаются дата, статус, подменный номер, длительность, кампания и номер клиента; запись хранится два месяца, цель на звонок в Метрике создаётся сама. Статический номер в формате офлайн-конверсий не уходит. Если звонок надо пометить как целевой и передать ClientID в учётную систему, событие отправляет сторонний сервис тем же форматом. Где задать телефон в объявлении, я писал отдельно.
Звонок попадает в Директ, когда у клика есть свой номер и дозвон связан с кампанией.
Визит в точку
Визит я считаю отдельно от звонка. Человек может открыть карточку, построить маршрут и приехать, ничего не набрав. Так бывает у автосервиса, клиники, кафе и магазина с залом. Реклама при этом идёт в Яндекс Картах или в блоке «Список организаций и галерея услуг». Мне нужно увидеть, что контакт с карточкой связан с приходом, а не только с нажатием «маршрут».
Для этого есть цель «Посещение организации». Её запустили 18–22 декабря 2025 года. Она доступна в единой перфоманс-кампании и в Мастере кампаний, когда показы идут в Картах или в списке организаций. Цель вероятностная: система отмечает, что человек оказался рядом с организацией после действия в карточке. Счётчик Метрики для профиля в Яндекс Бизнесе создаётся сам, код на сайт ставить не нужно.
- Оценку визита запускают клик, звонок, маршрут или другое действие в карточке.
- Один контакт даёт не больше одного визита.
- Связь с рекламой держится 21 день.
- Оплата и статус сделки в эту цель не входят.
Это не кассовый чек. Если визит или оплата записаны в учётной системе, я передаю их отдельно, через Центр конверсий. Иначе стратегия учится на оценке геоприсутствия, а не на факте покупки.
Визит из Карт — вероятная отметка рядом с точкой, а не чек и не строка в учётной системе.
Чем привязываю событие к визиту из рекламы
Атрибуция здесь — привязка события вне сайта к визиту или клику. Нужен хотя бы один идентификатор, иначе строка не встанет на нужный визит. Чем больше сведений о конверсии, тем выше шанс привязать её к конкретному визиту: так написано в справке Яндекса.
| Идентификатор | Что даёт |
|---|---|
| ClientID | Идентификатор браузера в Метрике. Его Яндекс рекомендует первым, его и ставлю |
| UserID | Идентификатор человека на стороне сайта или учётной системы |
| yclid | Идентификатор клика по объявлению Директа |
| Телефон или почта | Контакт или его хеш, если другого идентификатора нет. Точность ниже |
| PurchaseId | Идентификатор покупки из электронной торговли. Для звонка и учётной системы не беру |
Офлайн-событие связывается с визитом, если с последнего захода на сайт прошло не больше 21 дня. Статус сделки можно обновлять дольше, до 111 дней. Сначала уходит «заказ создан», позже тот же идентификатор приходит со статусом «оплачен». В отчётах Метрики строки появляются примерно через три часа после загрузки.
ClientID я снимаю на сайте: getClientID кладёт значение в скрытое поле формы, из формы оно попадает в карточку учётной системы. Без этого поля в CRM сделка есть, а визита из Директа у неё нет. Если цикл длиннее 21 дня, часть оплат не атрибутируется — это предел окна. Тогда передаю промежуточные события, которые успевают привязаться: звонок, визит, статус «заказ создан».
Как загружаю данные в Центр конверсий
Центр конверсий — окно, через которое офлайн попадает и в Метрику, и в обучение стратегий. Его запустили 7 октября 2022 года. Сюда же складывают онлайн-события и звонки, здесь видна статистика, отсюда цели подключаются к автостратегиям.
Кабинет принимает Яндекс Метрику, FTP или SFTP, интеграцию с учётной системой, Ozon, файл по ссылке HTTP или HTTPS и онлайн-таблицу. Для Google Таблиц доступ на просмотр выдаю техническому аккаунту import@yandex-direct-conversions.iam.gserviceaccount.com. Директ забирает таблицу раз в сутки. Коннектор вроде amoCRM или Битрикс24 передаёт данные каждый час при смене статуса. Если в карточке лида из чат-бота лежат ClientID или yclid, событие уходит тем же путём: коннектор, вебхук или таблица.
- Скачиваю шаблон Excel в Центре конверсий.
- В строке заполняю идентификатор, лучше ClientID, время конверсии, название цели, ценность и статус.
- Название цели копирую из Метрики: оно должно совпасть точно, включая регистр.
- Загружаю файл вручную или включаю автозагрузку по ссылке либо FTP.
- Жду около трёх часов и включаю «Учёт офлайн-конверсий».
После первой загрузки цели из Центра конверсий встают вверху списка при настройке стратегии. Если имя цели в файле отличается от имени в Метрике хотя бы регистром, события не находятся. IN_PROGRESS отношу к цели «CRM: Заказ создан», PAID или пустой статус — к «CRM: Заказ оплачен». Составную цель для звонков и офлайна не ставлю: этапы должны быть отдельными целями. Как устроена оплата за конверсии, здесь не разбираю. Офлайн-цель к ней и к «Максимум конверсий» подключается, когда события уже привязаны. Онлайн-заявку и офлайн-сделку без ClientID в одну цель не смешиваю.
Что проверяю, прежде чем отдать цель алгоритму
Перед стратегией сверяю идентификатор, имя цели и то, что загрузка не оборвалась.
Для обучения автостратегии Яндекс ориентирует примерно на 10 конверсий в неделю на кампанию. Меньше — стратегия нестабильна. Официальный период обучения — от 7 до 14 дней, крупная правка в эти дни сбрасывает прогресс. На «все звонки» кампанию не ставлю, если могу отделить короткий и повторный дозвон от целевого разговора.
- В выгрузке у заказов с сайта есть ClientID, а офлайн-строки не подмешаны без идентификатора.
- Тестовый звонок и тестовый визит появляются в Метрике, каждый со своей целью.
- Название в файле и название в Метрике совпадают знак в знак.
- Таблица или FTP не молчат дольше двух дней: обрыв загрузки оставляет алгоритму только верх воронки.
- В стратегии выбрана цель нужного этапа — квалифицированный звонок, визит или оплата, а не любое касание.
Если строк в Метрике нет, проверяю по порядку: был ли идентификатор, совпало ли имя цели, включён ли «Учёт офлайн-конверсий», не ушёл ли звонок со статического номера, не вышло ли событие за 21 день. Расхождение с учётной системой ожидаемо: окно и вероятностный визит из Карт отрезают часть записей. Таблица обновляется раз в сутки, коннектор — примерно каждый час при смене статуса, отчёт Метрики — около трёх часов после загрузки. Сверяю направление по дням, а не каждое событие.
Когда клиент звонит, приезжает или платит вне сайта, Директ без офлайн-конверсий видит только клик и форму. Я выбираю один слой под этот путь, передаю ClientID и не обрываю загрузку. Тогда в стратегии оказывается действие, которое случилось после рекламы, а не только визит на страницу.
Проверю привязку офлайн-событий
Посмотрю, доходят ли звонок и визит до Метрики и стоит ли в стратегии цель с идентификатором, а не просто клик.

