Как настроить выгрузку офлайн-конверсий в Метрику

Настройка выгрузки офлайн-конверсий — тот шаг, на котором чаще всего всё и ломается. Не потому что сложно, а потому что есть несколько неочевидных правил, о которые спотыкаешься молча: вроде всё настроил, а конверсии не доходят. В этой статье соберу порядок действий и грабли, на которые я сам наступал.
Если вы попали сюда сразу, без контекста, рекомендую сперва прочитать общее руководство по офлайн-конверсиям и разбор ClientID и yclid — здесь я на них опираюсь.
Шаг 1. Завести две цели в Метрике
Первое, что я делаю, — создаю в Метрике две цели под офлайн-конверсии:
- Подтверждённое обращение — менеджер поговорил и убедился, что клиент живой. Цена ноль. Это массовое событие, оно даёт стратегии объём.
- Состоявшаяся сделка — обращение закрылось деньгами. В конверсию уходит сумма сделки.
Почему две, а не одна: до сделки доходит меньше половины обращений, а автостратегии нужно 20–30 конверсий в неделю. Одними сделками этот объём не набрать, и стратегия не обучится. У каждой цели свой идентификатор — латиницей, цифрами и подчёркиванием. Кириллица или пробел означают, что конверсии не привяжутся никогда, а поймёте вы это только через неделю по нулям в отчёте.
Идентификаторы целей задавайте осознанно и один раз. Я предпочитаю нейтральные имена вроде «обращение» и «сделка» латиницей — они читаются и не привязаны к конкретной нише. И запомните железное правило: на работающей установке имя цели менять нельзя. Цель в счётчике уже заведена под старым идентификатором, и переименование молча оборвёт связь — новые конверсии перестанут привязываться, а старые вы не тронете.
Шаг 2. Связать счётчик с Директом
Чтобы Метрика находила визиты по yclid, счётчик должен быть связан с рекламным аккаунтом Директа. Без этой связки метка клика есть, а привязки нет. ClientID работает и без связки, но yclid как страховка вам ещё пригодится, поэтому связку настройте сразу.
Шаг 3. Подготовить данные для выгрузки
Метрика принимает офлайн-конверсии файлом, где для каждой строки указаны идентификатор (ClientID или yclid), название цели, дата и, для сделки, цена. Тут два правила, которые я вывел на практике:
- Идентификатор: сначала ClientID, потом yclid. Если у заявки ClientID пуст, его можно подставить из любого события её визита.
- Один тип идентификатора за загрузку. Метрика принимает либо файл с ClientID, либо файл с yclid — не смешивайте в одном.
И важное ограничение: заявки, внесённые вручную, выгрузить нельзя — у них нет меток визита, привязать не к чему. Это не баг, а следствие того, что человека вписали руками, а не он пришёл с рекламы.
Шаг 4. Выгружать по расписанию
Это ключевой момент, ради которого стоит городить автоматику. Выгрузку нужно ставить на расписание, а не жать кнопку. Две причины:
- Окно 21 день. Метрика принимает конверсию, только пока визиту меньше трёх недель. Заявка старше — и она просто не примется, вернётся ошибка про период учёта.
- Скорость обучения. Директ учится тем лучше, чем раньше пришла конверсия. Кнопка нажимается, когда дошли руки, — то есть всегда с опозданием.
Я ставлю запуск раз в час. Когда выгружать нечего — задание молчит, чтобы не забивать почту письмами «всё спокойно». А отчёт приходит, только если что-то выгружено или случилась ошибка. Именно так это сделано в Пробите: выгрузка идёт по расписанию сама, с журналом запусков, чтобы молчание планировщика можно было отличить от «выгружать было нечего».
Шаг 5. Проверить, что конверсии реально засчитались
Самая коварная грабля. Метрика на приём файла отвечает HTTP 200 — и легко решить, что всё сработало. Но 200 означает лишь «файл принят», а не «конверсия засчитана». Привязку Метрика проверяет отдельно, и результат виден в счётчике: раздел загрузки данных, последние действия. Пока вы туда не заглянули — вы не знаете, дошло ли что-то.
Отсюда полезное свойство, которое я закладываю: возможность вернуть заявку в очередь. Если Метрика файл приняла, но визит не привязала, отметку об отправке нужно уметь снять и отдать заявку заново — иначе она исчезнет из очереди навсегда, а конверсия так и не засчитается.
Шаг 6. Разделить отметки об отправке
Мелочь, которая экономит нервы. У двух целей — обращения и сделки — должны быть раздельные отметки о том, что конверсия уже выгружена. Если отметка одна на обе, то, отправив обращение, вы закроете дорогу сделке по той же заявке: система решит, что «эту заявку уже выгрузили». А ведь по одной и той же заявке в Директ уходят два события — сначала подтверждённое обращение, потом, если дошло до денег, сделка с суммой.
Поэтому я всегда веду две независимые пометки. Заявка сначала уезжает как обращение с ценой ноль, а когда закрывается, — как сделка с суммой. Одно другому не мешает, и деньги не считаются дважды.
Как понять, что всё работает
Через неделю-две после запуска я смотрю на три вещи и по ним сужу, живая настройка или мёртвая:
- Журнал запусков. Расписание должно отрабатывать регулярно. Пустой журнал — это не «выгружать нечего», это «планировщик не запускается». Разные вещи, и вторую надо чинить.
- Раздел загрузки данных в счётчике. Здесь видно, сколько конверсий Метрика реально приняла и привязала, а не просто «файл получен».
- Отчёт по офлайн-целям. Если цифры растут — обращения и сделки доходят. Нули на второй неделе почти всегда означают кириллицу в идентификаторе цели или пустые идентификаторы у заявок.
Частые ошибки
- Кириллица в идентификаторе цели. Молчаливая смерть выгрузки: ошибок нет, конверсий нет.
- Идентификатор цели поменяли на работающей установке. Так делать нельзя: цель в счётчике заведена под старым именем, переименование оборвёт связь.
- Выгружают только сделки. Объёма не хватает, стратегия не обучается. Нужны обе цели.
- Заявка в статусе «Новая» ушла в Директ. Пока менеджер не поговорил, неизвестно, обращение это или спам. Выгружайте только подтверждённое.
Итог
Рабочая выгрузка — это две цели, связка с Директом, привязка по ClientID с yclid в запасе, расписание вместо кнопки и обязательная проверка в счётчике, что конверсии реально засчитались. Когда всё это стоит, звонки и сделки начинают возвращаться в рекламу сами, а вы наконец видите честные CPL и CPA со звонками. Дальше остаётся управлять ставками по реальной цене сделки, а не по заявкам с формы.
Частые вопросы
Как часто выгружать конверсии?
По расписанию, желательно раз в час или хотя бы раз в день. Метрика принимает конверсию, пока визиту меньше 21 дня, а стратегия учится тем лучше, чем раньше пришло событие.
Что значит HTTP 200 от Метрики?
Только то, что файл принят. Засчитана ли конверсия и нашёлся ли визит — Метрика проверяет отдельно, это видно в счётчике, в разделе загрузки данных и последних действий.
Почему конверсию не приняли?
Частые причины: визиту больше 21 дня, у заявки пустой идентификатор, кириллица или пробел в идентификаторе цели, либо цель ещё не заведена в счётчике под этим именем.
Можно ли выгрузить заявку, внесённую вручную?
Нет. У ручной заявки нет ClientID и yclid — её не к чему привязать. Выгружаются заявки с сайта и звонки, у которых сохранились метки визита.