Зачем цели здесь, если есть Метрика
Законный вопрос. Ответ короткий: Метрика видит только то, что происходит на странице с её счётчиком. Всё, что дальше, для неё не существует.
Что Метрика видит
Промежуточная страница при переходе по ссылке вызывает ym(счётчик,'init',…) — это
настоящий хит, и визит в Метрике засчитывается. То есть сам клик Метрика видит: источник,
кампанию, регион, устройство. Тут мы ничего не изобретаем.
Чего Метрика не видит никогда
Как только человек ушёл в Telegram или MAX — счётчика там нет и быть не может. Значит Метрика структурно не может узнать:
- запустил ли он бота вообще, или закрыл окно по дороге;
- дошёл ли до анкеты, оставил ли контакт;
- заплатил ли, и сколько.
Именно эти события и лежат в нашей воронке как goal:bot_started, goal:lead, goal:paid.
Их присылает бот или ваша CRM через API — мы их не выдумываем и не берём из Метрики.
Взять их оттуда неоткуда.
Второе отличие: разрез по конкретной ссылке
Метрика считает по визитам и источникам. Она не ответит на вопрос «какая из моих сорока коротких ссылок принесла оплату» — для неё все они выглядят как один и тот же переход из одного и того же объявления.
Здесь воронка привязана к коду ссылки. Разложили одну кампанию на пять ссылок под разные площадки — и сразу видно, какая площадка кормит, а какая жжёт бюджет.
Где мы действительно дублируем Метрику
Скажем честно: если ссылка ведёт на обычную страницу вашего сайта, где счётчик уже стоит, то цели на сайте лучше считать в Метрике. Наша воронка в этом случае тонкая — клик и уход на цель, не более. Ценность здесь только в разрезе по ссылке.
Вся польза начинается там, где счётчика нет: мессенджеры, боты, звонки, CRM.
Самое интересное: вернуть цели обратно в Метрику
При переходе мы забираем clientID Метрики — тот же самый идентификатор, которым Метрика
опознаёт этого человека. А ещё yclid, если человек пришёл из Директа.
Значит цепочка замыкается: бот сообщил нам «оплатил» → у нас лежит clientID этого визита →
цель загружается в Метрику как офлайн-конверсия:
POST https://api-metrika.yandex.net/management/v1/counter/<ID>/offline_conversions/upload?client_id_type=CLIENT_ID
Authorization: OAuth <токен>
CSV из трёх колонок: ClientId,Target,DateTime. Для пришедших из Директа удобнее
client_id_type=YCLID и колонки yclid,target,datetime.
После этого Директ видит не «клики» и не «заявки», а оплаты — и может оптимизировать кампанию по ним. Это ровно то, ради чего вся конструкция и затевалась: платить за результат, а не за переходы.
⚠️ Сейчас 2vip этого не делает автоматически. Данные для загрузки он собирает и отдаёт по API, а саму выгрузку в Метрику надо запускать отдельно. Если нужно — сделаем внутри сервиса: указали счётчик и токен, и цели уезжают сами.
Коротко
| Событие | Метрика | 2vip |
|---|---|---|
| клик по ссылке | видит | видит |
| источник, кампания, регион | видит | видит |
| в разрезе конкретной короткой ссылки | нет | да |
| запуск бота | нет | да |
| заявка в боте | нет | да |
| оплата | нет | да |
| вернуть оплату в Директ для оптимизации | — | через офлайн-конверсии |