+7 938 150-78-77

Сквозная аналитика: как связать заявки, звонки и расходы на рекламу

В Метрике сорок конверсий, в CRM двенадцать сделок, в кабинете Директа расход — и ни одна цифра не сходится с другой. Разбираем, что именно нужно связать технически, чтобы считать стоимость продажи, а не стоимость нажатия кнопки.

М Матвей Калашников Основатель студии 09 ноября 2026 13 минут чтения
Сквозная аналитика: как связать заявки, звонки и расходы на рекламу

Разговор про сквозную аналитику почти всегда начинается одинаково. Открываем три окна: в Метрике за месяц сорок достижений цели, в CRM двенадцать сделок с источником «сайт», в кабинете Директа сумма расхода. Делить одно на другое бессмысленно, потому что цифры считают разные вещи за разные периоды по разным правилам. Сквозная аналитика — это не сервис, который это чинит, а набор технических связок, после которых делить становится можно.

Что это на самом деле означает

За красивым словом стоит одна простая вещь: идентификатор визита должен доехать до сделки и остаться рядом с суммой денег. Всё остальное — следствие. Если идентификатор доехал, можно посчитать, какая кампания принесла не заявку, а оплаченный заказ. Если не доехал, останется считать заявки и надеяться, что они конвертируются одинаково — а они не конвертируются одинаково никогда.

Цепочка состоит из шести звеньев, и порвана она обычно в одном-двух местах. Разберём каждое.

Звено первое: ClientID Метрики

Метрика присваивает браузеру идентификатор и хранит его в куке _ym_uid. Получить его на странице можно методом счётчика: ym(НОМЕР, 'getClientID', function (id) { ... }). Полученное значение кладётся в скрытое поле формы и уезжает вместе с заявкой.

Три вещи, которые про него надо знать до того, как на нём построят отчётность. Первая: вызов асинхронный, и если форму отправить до того, как обратный вызов сработал, поле уедет пустым — значение берут при загрузке страницы, а не при нажатии кнопки. Вторая: идентификатор привязан к браузеру, а не к человеку. Зашёл с телефона, оставил заявку с ноутбука — это два разных идентификатора, и связать их нечем. Третья: он живёт в куке, и блокировщики, режим инкогнито и очистка данных его обнуляют. Доля заявок без ClientID есть всегда, вопрос только в её размере.

Заявки без идентификатора — не брак данных, а нормальная часть выборки. Их надо считать отдельной строкой, а не распределять по кампаниям пропорционально.

Звено второе: метки и yclid

UTM-метки отвечают на вопрос «откуда пришёл», yclid — на вопрос «по какому именно клику». Директ при включённой разметке ссылок добавляет yclid в адрес автоматически, и именно он нужен для передачи конверсий обратно в рекламный кабинет.

Обе сущности нужно сохранять на стороне сайта, потому что человек почти никогда не оставляет заявку на той же странице, куда приземлился. Рабочая схема:

  • При первом заходе разбираем параметры адреса и пишем их в куку на срок порядка трёх месяцев
  • Храним два набора: первое касание и последнее — они отвечают на разные вопросы и оба нужны
  • Если параметров в адресе нет, не затираем сохранённые значения; внутренний переход — не новый источник
  • В форму подставляем сохранённые значения скрытыми полями: источник, канал, кампания, объявление, ключ, yclid
  • Дополнительно пишем адрес страницы, с которой ушла форма, и её тип — это то, чего в метках нет

Четвёртый пункт — место, где чаще всего теряются данные: поля в форме есть, но заполняются только на лендинге, а на остальных страницах уходят пустыми. Проверяется это за минуту: зайти по ссылке с метками, походить по сайту, отправить тестовую заявку и посмотреть, что доехало.

Звено третье: звонки

Это звено пропускают чаще всех остальных, и в нишах, где звонят охотнее, чем пишут, из-за этого аналитика получается принципиально неверной. Телефонный звонок не оставляет следа в Метрике вообще: человек увидел номер на сайте и набрал его с трубки.

Решает это коллтрекинг, и он бывает двух видов. Статический — отдельный номер на канал: один в Директе, другой в визитке, третий на сайте. Дёшево, различает каналы, но не различает кампании и ключи. Динамический — пул номеров, из которого посетителю на время сессии показывается свой номер; система запоминает, какому визиту он был выдан, и после звонка связывает звонок с ClientID и метками. Дороже, требует пула номеров, зато даёт звонок в том же разрезе, что и заявку с формы.

Размер пула считается по одновременным посетителям, а не по визитам в день: если номеров меньше, чем людей на сайте в пике, двоим покажется один номер и привязка станет неточной. Это единственная техническая величина, которую в коллтрекинге надо считать заранее.

Звено четвёртое: поля в CRM

Всё собранное на сайте должно оказаться в карточке лида или сделки — иначе данные остались в базе сайта, а деньги считаются в CRM, и связать их нечем. Минимальный состав полей:

  • client_id — идентификатор Метрики, по нему потом грузятся офлайн-конверсии
  • yclid — идентификатор клика Директа, по нему конверсии уезжают в рекламный кабинет
  • Пять полей меток: источник, канал, кампания, объявление, ключевая фраза
  • Страница и тип формы — откуда именно ушла заявка
  • Сумма сделки и дата закрытия — без них считать нечего
  • Причина отказа по проигранным сделкам — это то, что превращает отчёт в решение

Метки в Битрикс24 — штатные поля лида и сделки, свои создавать не нужно; для идентификаторов Метрики и Директа нужны пользовательские поля. Важно, чтобы при конвертации лида в сделку значения переносились: по умолчанию часть полей остаётся на лиде, и отчёт по сделкам оказывается пустым. Механику передачи заявок мы подробно разбирали в статье про лиды с сайта в Битрикс24, и состав полей там — ровно то основание, на котором потом строится сквозная аналитика.

Отдельно о дублях. Если один человек оставил три заявки, в CRM это должна быть одна сделка с тремя обращениями, а не три сделки. Иначе конверсия в продажу посчитается заниженной, а стоимость сделки — завышенной. Дедупликация по нормализованному телефону — обязательная часть, а не улучшение.

Звено пятое: конверсии обратно в рекламу

Это звено даёт самый заметный эффект и делается реже всего. Смысл простой: алгоритмы Директа учатся на тех событиях, которые вы им отдаёте. Если отдавать отправку формы, они будут приводить людей, которые охотно отправляют формы. Если отдавать оплаченный заказ, они начнут приводить тех, кто покупает.

Технически это загрузка офлайн-конверсий. В Метрику данные грузятся файлом или через API: идентификатор (ClientID, либо yclid, либо почта или телефон в хешированном виде), название цели, дата и время события, при необходимости — сумма и валюта. В Директ конверсии можно отдавать по yclid напрямую. Есть ограничение по сроку: событие, случившееся слишком давно относительно клика, уже не свяжется — поэтому выгрузку делают регулярно, а не раз в полгода.

Практическая последовательность: раз в сутки берём из CRM сделки, у которых сменился статус на квалифицированную или на оплаченную, достаём сохранённые идентификаторы и отправляем как две разные цели. Квалифицированная заявка приходит быстро и годится для обучения, оплата приходит позже и годится для оценки. Если автостратегия настроена на цель «отправка формы», переключать её на новую цель имеет смысл только когда по ней накопится достаточно событий — это часть обычного ведения кампаний, а не разовая настройка.

Звено шестое: расходы

Чтобы считать стоимость сделки, нужны деньги в том же разрезе, что и заявки. По Директу при связанных аккаунтах расходы попадают в Метрику сами. По всему остальному — а это обычно SEO, площадки, рассылки, подрядчики — расходы грузятся вручную или через API загрузки расходов, в разрезе источника, канала и кампании, по дням.

Два места, где цифра портится. Первое: расход в кабинете указан без НДС, а в бухгалтерии с НДС — надо договориться, какая из двух цифр идёт в отчёт, и держаться её. Второе: агентское вознаграждение и работа подрядчика по ведению — часть стоимости канала. Если их не учитывать, реклама выглядит дешевле, чем есть, и сравнение с SEO получается нечестным. Как это раскладывается между каналами, мы разбирали в статье про бюджет на digital.

Почему цифры всё равно не совпадут

Ожидание, с которым стоит расстаться заранее: после всех связок Метрика и CRM всё равно покажут разные числа. Это не ошибка, это свойство систем.

  • Модель атрибуции: Метрика по умолчанию считает по последнему значимому переходу, CRM — по тому, что записано в сделке; это разные ответы на разные вопросы
  • Часовой пояс счётчика и часовой пояс CRM могут не совпадать, и заявки у границы суток уезжают в разные дни
  • Дедупликация: три заявки одного человека в Метрике — три достижения цели, в CRM — одна сделка
  • Окно конверсии: сделка закрылась через два месяца, а визит был в прошлом квартале
  • Заявки без идентификатора и звонки без коллтрекинга просто не попадут в разрез по кампаниям

Поэтому правильная постановка задачи — не «добиться совпадения», а «понимать размер и причину расхождения». Если CRM показывает на пятнадцать процентов меньше и вы знаете, что это дубли и заявки без идентификатора, отчётом можно пользоваться. Если расхождение втрое и причина неизвестна, считать по нему нельзя ничего.

Что считать, когда связки собраны

Набор показателей небольшой, и чем он меньше, тем полезнее. Стоимость заявки — расход на канал, делённый на число обращений. Стоимость квалифицированной заявки — то же, но в знаменателе только те, кто подошёл по профилю; эта цифра обычно и становится рабочей. Стоимость сделки — расход, делённый на число оплат за тот же период. И возврат вложений — выручка минус расход, отнесённые к расходу.

Главное при этом — смотреть на срез, а не на общую цифру. Общая стоимость заявки по аккаунту почти ничего не говорит: внутри неё одни кампании кормят, другие проедают бюджет. Полезный отчёт строится по кампаниям и группам, и минимальный объём данных для решения — несколько десятков конверсий на срез, иначе вы сравниваете шум. Про то, как это считается на старте, когда данных ещё мало, мы писали в разборе стоимости заявки из Директа.

Можно ли без платных сервисов

Можно, и для небольшого проекта это нередко разумнее. Минимальная рабочая конфигурация: своя таблица заявок на сайте со всеми полями меток и идентификаторов, цели в Метрике, выгрузка расходов из кабинета раз в месяц и сведение в обычной таблице. Это закрывает вопрос «какая кампания приносит заявки» полностью и вопрос «какая приносит деньги» наполовину — настолько, насколько аккуратно менеджеры ведут статусы.

Платный сервис сквозной аналитики нужен, когда каналов много, звонков много и нужна готовая связка коллтрекинга с кабинетами. Он не создаёт данные, которых нет: если на сайте не собираются идентификаторы и в CRM не ведутся статусы, подключение сервиса даст те же пустые отчёты, только за абонентскую плату.

Чек-лист

  • ClientID забирается при загрузке страницы и уезжает в заявке
  • Метки и yclid сохраняются в куку, внутренние переходы их не затирают
  • Хранятся и первое, и последнее касание
  • Скрытые поля заполняются на всех страницах, а не только на лендинге
  • Решено, нужен ли коллтрекинг, и если да — посчитан размер пула номеров
  • В CRM есть поля под идентификаторы и метки, при конвертации лида они переносятся
  • Дубли по телефону склеиваются, одна продажа — одна сделка
  • Статусы сделок ведутся и означают одно и то же у всех менеджеров
  • Офлайн-конверсии грузятся регулярно, минимум по двум событиям
  • Расходы по неавтоматическим каналам загружаются по дням
  • Известен и объяснён размер расхождения между Метрикой и CRM
  • Отчёт строится по кампаниям, а не одной средней цифрой

Мы собираем такие связки под конкретный проект: поля в формах, хранение меток, цели, передачу в CRM, выгрузку офлайн-конверсий и отчёт, по которому принимают решения. Что входит в работу, смотрите на странице веб-аналитики. Если CRM ещё не подключена к сайту, начинать надо с неё — это внедрение Битрикс24. А если реклама уже идёт и вопрос только в том, что цифры непонятны, разобраться дешевле в рамках работы с Директом, чем отдельным проектом. Что должно быть настроено ещё до первого запуска, собрано в разборе целей в Метрике.

М Матвей Калашников · основатель Sapphireweb 6 лет делает сайты и интеграции на 1С-Битрикс и WordPress. Пишет о том, что чинит своими руками. Статья опубликована 09 ноября 2026. Пересматриваем материалы раз в квартал и правим то, что устарело.
Вопросы

Отвечаем
заранее

Не нашли свой вопрос? Напишите в Telegram — ответим без долгих согласований.

ClientID Метрики с заявкой, метки и yclid с источником, звонки через коллтрекинг, поля в CRM со сделкой и расходы из рекламных кабинетов. Разрыв в любом звене ломает отчёт.
Разные окна атрибуции, разные определения конверсии и потери на границах систем. Расхождение в пределах 10–15 % — норма: задача не в равенстве, а в сопоставимости.
Да, если заявок немного: ClientID в скрытое поле формы, метки в CRM и выгрузка расходов руками. Коллтрекинг и автоматический импорт расходов без сервисов не делаются.

Расскажите
о задаче

Пришлите ссылку на сайт и опишите задачу. Уточним исходные данные, предложим состав работ и подготовим оценку стоимости и сроков. Пришлите сайт и задачу — подготовим оценку работ, стоимости и сроков.

Вопрос по статье: Сквозная аналитика: как связать заявки, звонки и расходы на рекламу