Конверсии в Метрике есть, а в Директе нет: где рвётся цепочка
Классика жанра: в Метрике конверсии идут, а в кабинете Директа — ноль, кампания «не обучается», оптимизатор голодает. Мы разобрали эту проблему на живом кейсе — с проверкой каждого звена через API Яндекса — и собрали чек-лист из пяти причин, по которым цепочка «событие → Метрика → Директ» рвётся. Спойлер: самая частая причина — самая скучная.
Как вообще конверсия попадает из Метрики в Директ
Цепочка выглядит так, и рваться может на любом звене:
- на сайте (или во внешней системе) происходит событие → оно отправляется в счётчик Метрики;
- в счётчике настроена цель, и событие в неё «зачитывается»;
- счётчик привязан к кампании Директа;
- Директ атрибутирует конверсию своему клику и показывает её в статистике — по той цели, которую вы выбрали в отчёте или стратегии.
Причина 1. Цель не создана или идентификатор не совпадает
Наш кейс из практики (реальный клиент сервиса, детали изменены): внешняя система месяц отправляла офлайн-конверсии в счётчик — 300+ загрузок, API Метрики на каждую отвечал «200 ОК». В кабинете — ноль. Причина вскрылась одним запросом к API целей: в счётчике не было создано ни одной цели. Система слала события с идентификатором цели, а цели с таким идентификатором не существовало — и Метрике было просто некуда их зачитывать.
Проверка: Метрика → Настройка → Цели. Для JavaScript-событий и офлайн-конверсий идентификатор цели должен посимвольно совпадать с тем, что отправляет ваш код или внешняя система: регистр, дефисы, подчёркивания — всё имеет значение.
Причина 2. «Принято» не значит «зачтено»: статусы офлайн-конверсий
Если конверсии загружаются в Метрику извне (CRM, трекер, колл-трекинг), запомните главное: HTTP 200 на загрузку означает «файл принят», а не «конверсии привязаны». Привязка происходит асинхронно, и её результат виден только в отчёте Метрика → Загрузка офлайн-конверсий (или через API uploadings). Статусы:
- UPLOADED — файл принят, обработка идёт;
- LINKED — конверсии привязаны к визитам: всё хорошо;
- LINKAGE_FAILURE — привязать не удалось: цели нет, идентификатор не совпал, клик не найден или вышло окно.
В нашем кейсе картина была именно такой: 277 из 304 загрузок — LINKAGE_FAILURE, 0 — LINKED, при том что отправляющая система считала все отправки успешными. Месяц данных для обучения кампании пропал. Вывод в одну строку: проверяйте отчёт загрузок, а не логи отправителя.
Причина 3. Счётчик не привязан к кампании
Директ показывает конверсии только тех счётчиков, которые указаны в параметрах кампании. Типовые сценарии обрыва:
- счётчиков несколько (сайт, лендинг, приложение), к кампании привязан не тот;
- кампанию запускали через сервис-посредник, и счётчик в параметрах не проставился;
- цель создана в одном счётчике, а кампания смотрит в другой.
Проверка: параметры кампании → счётчики Метрики. Косвенный признак, что привязка есть: в визитах из Директа в Метрике заполняются метки yclid.
Причина 4. Окно атрибуции: конверсия «опоздала»
Для офлайн-конверсий по yclid действует жёсткое правило: привязка возможна, если между кликом и загрузкой конверсии прошло не больше 21 дня. Для бизнесов с длинным циклом сделки (недвижимость, B2B, обучение) это значит: часть реальных конверсий физически не сможет попасть в Директ — планируйте, какое событие цикла сделки отправлять, чтобы уложиться в окно. И перепроверьте атрибуцию в самом отчёте Директа: выбранная модель (последний переход, первый переход) меняет цифры.
Причина 5. Смотрите не туда: цель, лаг и фильтры отчёта
- Не та цель в отчёте. В Мастере отчётов Директа конверсии показываются по выбранной цели; если стратегия оптимизируется по одной цели, а вы смотрите другую — увидите ноль.
- Лаг обработки. Офлайн-конверсии обрабатываются часами; свежезагруженные данные в кабинете появляются не мгновенно — дайте цепочке сутки, прежде чем бить тревогу.
- Разные периоды и часовые пояса в отчётах Метрики и Директа — сравнивайте одинаковые интервалы.
Чек-лист: 7 проверок за 15 минут
- Цель существует в нужном счётчике, идентификатор совпадает посимвольно.
- Цель «зачитывается»: в Метрике по ней есть достижения за период.
- Для внешних загрузок: отчёт «Загрузка офлайн-конверсий» показывает LINKED, а не LINKAGE_FAILURE.
- Счётчик привязан к кампании (параметры кампании → счётчики).
- Разрыв клик→конверсия укладывается в 21 день.
- В отчёте Директа выбрана та же цель, тот же период, учтён лаг обработки.
- Если всё выше в порядке, а цифр нет, — проверьте цепочку заново на одной тестовой конверсии от события до отчёта.
И общий принцип, который сэкономит вам не один рекламный бюджет: «отправлено успешно» на любом звене не означает «доставлено до конца цепочки». Доверяйте только конечному отчёту — тому, где конверсию видит оптимизатор. Как устроена вся связка «переход из рекламы → подписка в мессенджере → конверсия в Директ» — разбирали в гайде про Директ для Telegram и MAX.
Частые вопросы
Почему в Метрике конверсии есть, а в Директе нет?
Что значит статус LINKAGE_FAILURE в Метрике?
Через сколько офлайн-конверсии появляются в Директе?
Какое окно атрибуции у офлайн-конверсий по yclid?
Конверсии из Telegram и MAX — в Директ автоматически
Tracker-bot ловит подписки по рекламным ссылкам и сам отправляет офлайн-конверсии в вашу Метрику по yclid. 7 дней бесплатно.
🚀 Попробовать бесплатно