Интеграция amoCRM и Яндекс.Метрики связывает заявку в CRM с конкретным визитом на сайте, а потом возвращает в Метрику итог сделки — оплачено или нет и на какую сумму. Технически это работает через идентификатор посетителя ClientID (или yclid для Директа), который записывается в карточку сделки, а затем — через загрузку офлайн-конверсий и доходов обратно в Метрику. Результат: вы видите не «реклама принесла 40 заявок», а «реклама принесла 6 оплат на 318 000 ₽», и считаете окупаемость по деньгам, а не по лидам.
Коротко
- Связка нужна, чтобы видеть, какая реклама дала оплаты, а не просто заявки.
- Технический мостик —
ClientIDМетрики в карточке сделки и загрузка офлайн-конверсий. - В Метрику возвращаются статусы сделок и доход — отсюда ROI кампаний по UTM.
- Без
ClientID/yclidи без передачи статусов сквозная аналитика не собирается.
9–14
дней между заявкой и оплатой
ClientID
мостик заявка→источник
1
цель «оплата» = ROI
Зачем онлайн-школе связывать amoCRM и Метрику
Заявка и оплата — разные события, и разрыв между ними у онлайн-школ огромный. Человек оставил заявку на бесплатный вебинар, попал в воронку, и только через 9–14 дней купил курс за 45 000 ₽. Метрика без интеграции видит только первое событие — заполненную форму. Что было дальше, она не знает.
Из-за этого реклама оценивается по заявкам, и картина врёт. Один источник даёт дешёвые лиды по 250 ₽, но они не покупают. Другой — лиды по 900 ₽, но каждый третий доходит до оплаты. По стоимости заявки первый выглядит выигрышно, по деньгам — убыточно. Без связки с amoCRM этого не видно, и бюджет месяцами утекает в канал, который приводит зевак.
Если канал даёт заявки в 3 раза дешевле, но оплаты в 5 раз реже, он не дешёвый. Он просто прячет свою настоящую цену за стоимостью лида.
Что даёт связка на практике
amoCRM знает судьбу каждой сделки: на каком этапе воронки она застряла, оплачена ли, на какую сумму. Яндекс.Метрика знает, откуда пришёл человек — кампания, объявление, ключ, UTM-метки. Интеграция сводит это в одну точку.
- Передача статусов сделок в Метрику. Когда сделка переходит в «Оплачено», в Метрику уходит офлайн-конверсия, привязанная к нужному визиту.
- Передача дохода. Вместе со статусом передаётся сумма сделки — Метрика считает не только конверсии, но и выручку по источникам.
- ROI по UTM. В отчётах видно, какая кампания и какой ключ принесли реальные деньги, а не клики.
- Оптимизация Директа по оплатам. Цель «оплата» становится доступной для автостратегий — алгоритм учится приводить покупателей, а не форм-заполнятелей.
Один наблюдённый эффект из практики онлайн-школ: после переключения отчётности с заявок на оплаты часто «лучший» по CPL источник съезжает на третье-четвёртое место, а вперёд выходит канал, который раньше считали дорогим. Это нормально и это и есть смысл затеи.
Способы интеграции amoCRM и Яндекс.Метрики
Готового переключателя «связать amoCRM с Метрикой» внутри самих систем нет — нужен слой посередине. Вариантов несколько, и они не равнозначны.
- Виджеты из маркетплейса amoCRM. Быстрый старт, ставят галочку и подключают. Минус — часто передают факт конверсии, но не сумму и не все статусы; данные о доходе приходится донастраивать.
- Загрузка офлайн-конверсий в Метрику напрямую. Самый честный способ: amoCRM по своему API отдаёт сделки, скрипт сопоставляет их с
ClientID/yclidи шлёт в Метрику через API офлайн-конверсий. Гибко, но требует разработки. - Через Vakas-tools. Сервис умеет забирать данные сделок из amoCRM и передавать их в Яндекс.Метрику (а также выгружать для отчётов), не заставляя школу писать собственный коннектор и держать сервер под него.
Выбор простой. Нужно быстро и грубо — виджет. Нужна точная выручка по источникам и контроль над логикой — прямая загрузка офлайн-конверсий или готовый коннектор вроде Vakas-tools. Виджет «для галочки» закрывает потребность увидеть конверсии, но почти никогда не закрывает вопрос денег.
Как это работает пошагово
Шаг 1. Поймать ClientID на сайте
При отправке формы заявки скриптом достаётся
ClientIDМетрики (методgetClientID), а для трафика из Директа — параметрyclidиз ссылки. Это идентификатор визита, который свяжет заявку с источником.Шаг 2. Записать идентификатор в сделку
Вместе с заявкой
ClientID/yclidи UTM-метки уходят в amoCRM и сохраняются в полях сделки. Без этого шага дальше связывать будет нечего.Шаг 3. Дождаться смены статуса
Менеджер ведёт сделку по воронке. Ключевой момент — переход в этап «Оплачено» с заполненной суммой. Именно это событие имеет смысл возвращать в Метрику.
Шаг 4. Отправить офлайн-конверсию в Метрику
Коннектор или скрипт формирует строку с
ClientID, названием цели (например,payment), датой и суммой и отправляет в Метрику через API загрузки офлайн-конверсий.Шаг 5. Читать отчёты по деньгам
В Метрике в отчётах по источникам и UTM появляется цель «оплата» с доходом. Теперь видно ROI каждой кампании, а Директ можно оптимизировать на оплаты.
Частые ошибки
Большинство «неработающих» интеграций ломаются не на этапе настройки, а на трёх банальных вещах.
- Не сохраняется ClientID или yclid. Форма не передаёт идентификатор в сделку — и связать оплату с источником физически нечем. Метрика получает конверсию без привязки или не получает вовсе.
- Не передаются статусы сделок. Настроили отправку на этапе «Новая заявка» вместо «Оплачено». В Метрику льются все лиды как «конверсии», и отчёт снова считает заявки, а не деньги.
- Считают по заявкам, а не по оплатам. Самая дорогая ошибка по смыслу: интеграция стоит, данные идут, но в отчётах смотрят на количество лидов. Тогда вся затея бессмысленна — ради числа заявок офлайн-конверсии не нужны.
- Игнорируют срок жизни данных. У онлайн-школ цикл сделки длинный, а офлайн-конверсию Метрика принимает в пределах ограниченного окна с момента визита. Если оплата случилась слишком поздно, конверсия может не привязаться — это закладывают в логику заранее.
Ошибку со статусами я встречаю чаще всех остальных. Школа радостно рапортует «интеграция настроена», открываешь отчёт — а там 1200 «конверсий» в месяц при 40 реальных оплатах. Передавали факт создания сделки, а не факт оплаты.
Частая ошибка
Передают в Метрику факт создания сделки вместо факта оплаты — в отчёте 1200 «конверсий» при 40 реальных оплатах, и аналитика снова про заявки, а не про деньги.
Совет
Передавайте в Метрику событие «Оплачено» с суммой сделки, а не «Новая заявка». Иначе в отчёте 1200 «конверсий» при 40 оплатах — и вы снова считаете лиды, а не деньги.
Вопросы и ответы
Чем ClientID отличается от yclid?
ClientID — это идентификатор посетителя в Яндекс.Метрике, он работает для любого источника трафика. yclid — метка перехода именно из Яндекс.Директа, добавляется к ссылке объявления. Для полной картины удобно ловить оба: yclid для рекламы Директа, ClientID — для остального.
Можно ли обойтись без программиста?
Частично. Виджет из маркетплейса amoCRM ставится без кода, но обычно передаёт упрощённые данные. Точная передача статусов и дохода требует либо разработки, либо готового коннектора — например, Vakas-tools, который забирает сделки из amoCRM и отдаёт их в Метрику без собственного сервера.
Зачем передавать в Метрику сумму сделки?
Без суммы Метрика видит только факт оплаты, но не её размер. С передачей дохода в отчётах появляется выручка по каждому источнику и UTM — можно считать окупаемость рекламы в деньгах и отключать кампании, которые приносят оплаты, но дешёвые и убыточные.
Поможет ли это оптимизировать Яндекс.Директ?
Да, и это один из главных бонусов. Когда цель «оплата» приходит в Метрику, её можно использовать в автостратегиях Директа. Алгоритм начинает обучаться на реальных покупателях, а не на заявках, и со временем приводит более платёжеспособную аудиторию.
Сквозная аналитика для онлайн-школы — это не про красивые дашборды. Это про одну неудобную правду: половина рекламного бюджета обычно работает, а половина — нет, и до интеграции amoCRM с Яндекс.Метрикой вы не знаете, какая именно половина. Как только в отчётах вместо заявок появляются оплаты с суммами, решения об отключении кампаний принимаются за минуту, а не за квартал споров с подрядчиком.