Веб-аналитика видит 56 заявок, CRM — 48, телефония ещё 12 звонков. В кабинете уверяют, что их надо складывать. Отдел продаж предлагает вычесть всё, чего не помнит. Пока два человека делят один и тот же отчёт, рекламный бюджет продолжает жить своей жизнью. Исправлять надо не общий итог, а связь между событиями.
Для сверки сквозной аналитики выберите короткий период и построите реестр: принятая форма или звонок → обращение → сделка → нужный исход → загрузка в отчёт. У каждого звена должен быть собственный ключ и явная связь с соседним. Сначала разберите строки, для которых связи нет. Совпадение двух итоговых чисел ещё не означает, что внутри совпадают события.

Один контрольный путь и три разных результата
В условном тесте администратор отправляет форму с идентификатором F-314. Сервер подтверждает, что данные приняты; аналитика фиксирует событие формы; карточка CRM с этим ключом не появляется. В логах обнаруживается ответ интеграции «неизвестный регион». Это не проблема атрибуции и не задержка отчёта: передача в CRM отвергнута. Менеджеры не видят вход.
Второй тест: звонок T-812 есть в телефонии, обращение L-771 существует, а визит к звонку не привязался. Менеджер видит клиента и работает, но отчёт по кампании неполный. Третий: карточка и визит связаны, но оплата ещё не отправилась из учёта. Все три результата выглядят как «не совпали цифры». Их исправляют три разных владельца.
Для проверки маршрута можно посмотреть автоматизацию CRM от 404ai: полезно принести одну обезличенную строку из каждой системы. Так легче увидеть место обрыва, чем начинать с настройки нового красивого дашборда.
Сверяйте то, что имеет одинаковый смысл

Клик по телефонной ссылке — намерение открыть набор. Человек может закрыть диалог, выбрать другой номер или позвонить с другого устройства. У АТС есть вызов, но даже соединение с меню не означает, что продавец получил запрос. У CRM есть карточка, которая может объединять несколько действий одного клиента. Сложение кликов, вызовов и сделок даёт число, у которого нет предмета.
Сформируйте словарь наблюдений. Для формы выделите попытку отправки в браузере, принятый сервером запрос и запись в CRM. Для телефона — начало вызова, результат в очереди и установленное обращение. Для сделки — согласованный результат, например оплата, а не просто положительный статус. Каждое событие отвечает на свой вопрос: работает ли интерфейс, работает ли доставка, учтён ли факт.
В отчёте Метрики по звонкам телефонные данные доступны при соответствующей передаче. В импорте офлайн-данных описаны отдельные идентификаторы и привязка событий к визитам. В отчёте по офлайн-конверсиям можно проверять, произошла ли привязка и что могло ей помешать. Системы не обещают, что любой звонок автоматически найдёт визит; отсутствие связи следует измерять.
Какие идентификаторы положить в реестр
Храните ключ события и ключ бизнес-объекта отдельно. Для формы — идентификатор принятого обращения, не текст кнопки. Для звонка — устойчивый идентификатор вызова вместе с источником. Для CRM — ключ карточки и, если доступно, связь с исходным событием. Для оплаты — ключ платежа или заказа по принятой модели. Веб-идентификатор помогает соотнести с визитом и не заменяет ключ сделки.
У одной формы может быть несколько попыток доставки. Один звонок может породить несколько технических плеч. Один клиент может отправить форму, потом позвонить. Не выкидывайте исходные события после объединения. Храните отношения «доставляет», «относится к», «привязан к визиту». Тогда можно выяснить, где повтор ожидаем, а где ошибка.
| Колонка | Условный пример | Как используется |
|---|---|---|
| Тип события | Сервер принял форму | Делает сравнение осмысленным |
| Исходный ключ | F-314 | Поиск записи в источнике |
| Время события | 09:15:40 | Возраст и порядок действий |
| Время получения | 09:16:12 | Отличает задержку передачи |
| Ключ обращения | L-771 | Связь нескольких событий |
| Статус сопоставления | Не найден визит | Отличает маршрут от атрибуции |
| Основание исключения | Технический тест | Не стирает событие из аудита |
Не выгружайте в общий документ лишние контакты. Для сверки чаще достаточно внутренних ключей, обезличенных контрольных строк и ограниченного доступа к деталям в исходных системах. Если связи нет, персональные данные сами по себе не заменят правила: похожие контакты могут быть разными людьми или одним общим офисом.
Разметьте расхождения по месту разрыва

«Не принято»: пользователь нажал, но сервер не подтвердил форму. Ищите проблемы с валидацией, сетью, формой и обработкой ошибок. «Не доставлено»: сервер принял, CRM не получила или отвергла. Ищите очередь, соответствие полей и права. «Не связано»: событие получено, но связь с визитом или заказом отсутствует. Ищите потерянный идентификатор и разницу времён. «Не готово»: цепочка целая, исход ещё не наступил либо ожидает плановой доставки. Последнее нельзя называть потерянным клиентом.
Есть ещё ложное совпадение: у заявки есть связанная сделка, но она принадлежит другому запросу. В итоговых числах это может выглядеть хорошо. Отдельно проверяйте несколько успешных связей глазами. Например, по номеру покупателя связали все обращения с его старой оплаченной сделкой; отчёт видит конверсии, отдел видит новые незакрытые вопросы. Ошибка опасна именно тем, что увеличивает приятный показатель.
Для просрочки задайте ожидание по звеньям. Форма должна быстро стать видимой менеджеру, выгрузка отчёта может идти позже. Отметьте допустимое окно отдельно, чтобы ранняя проверка не приписала системе поломку, а поздняя не скрыла реальный сбой. Измеряйте медиану и хвост отдельно, если объём позволяет. Иногда одна строка ждёт из-за нерешённой ошибки, пока остальные текут в пределах нормы.
Условный разбор дня: как 56 и 48 могут быть правдой
Представим 56 событий формы в браузере. Из них пять — повторные срабатывания на одном запросе, три не дошли до подтверждения сервера. Осталось 48 принятых запросов. CRM видит 48 карточек, но две появились из ручного ввода, а две серверные формы ещё не доставлены. Итоги совпали случайно. Реальное покрытие принятого потока — 46 из 48 на момент проверки. Телефонные 12 событий рассмотрим отдельно: три касаются уже известных обращений, два — технические, семь требуют рабочего результата. Не сложим автоматически 48 и 12.
Как воспроизвести расчёт: сделайте левое сопоставление от списка принятых запросов к журналу CRM, посчитайте отсутствующие, затем сделайте обратное сопоставление для ручных строк. Для телефонии добавьте связь исходного вызова с бизнес-обращением. Если сводка не раскрывается до строки, она плохо годится для расследования. На первом этапе достаточно таблицы с фильтром «нет пары» и причиной.
Начните со своего тестового обращения

Откройте страницу в разрешённой тестовой среде и используйте явно тестовый идентификатор. Прогоните форму с понятной меткой и отдельно вызов по тестовому номеру. На каждом звене запишите время и ключ. Проверьте нормальную ветку, отказ, повтор и задержку. В рабочем отчёте исключите тестовые строки по устойчивому признаку, а из журнала проверки не удаляйте.
После этого разберите маленькую рабочую выборку: несколько форм, звонков и обращений из неизвестного канала. Не сопоставляйте по имени и примерному времени, если у вас уже есть устойчивые ключи. Если ключей нет, не называйте найденные кандидаты подтверждёнными. Кандидаты хороши для восстановления отдельных случаев; для отчёта нужна устойчивая схема.
Контрольные прогоны
Сайт отправил два одинаковых события
Пользователь один раз нажал отправку. Скрипты записали две цели, сервер принял один запрос.
- Что проверить
- Сверьте момент и ключ серверного запроса; посмотрите, каким обработчикам принадлежали цели.
- Решение
- Сохраните оба технических события для диагностики и исправьте двойную отправку цели. Число принятых запросов не меняйте.
- Ожидаемый результат
- Повторите один клик. В принятом потоке и отчёте о форме остаётся по одному наблюдению.
Сервер принял, CRM отвергла
Успешный экран показан, но обязательное поле в CRM не распознано.
- Что проверить
- Найдите ответ принимающей стороны и формат поля. Сохранённый на сайте запрос и созданная карточка имеют разные подтверждения.
- Решение
- Исправьте преобразование и воспроизведите запрос через очередь с тем же исходным ключом. Не создавайте второй лид вручную без связи.
- Ожидаемый результат
- После доставки карточка одна, причина первоначального отказа остаётся видимой, сотрудник понимает, когда пришло обращение.
В телефонии два плеча одного вызова
Звонок переводили. В выгрузке две строки, у менеджера один запрос.
- Что проверить
- Проверьте родительский идентификатор и итог передачи. Длительность каждого плеча не объясняет, сколько людей просили помощи.
- Решение
- Сохраните оба плеча, свяжите их с исходным вызовом и результатом обращения.
- Ожидаемый результат
- В отчёте по звонкам есть маршрут. В бизнес-отчёте одна история, без двойной оплаты результата.
Звонок есть, визита нет
Клиент набрал номер из старой вкладки. Телефон работает, карточка существует, атрибуция пустая.
- Что проверить
- Проверьте, был ли сохранён веб-идентификатор и допустимо ли его связать в этой ситуации. Не выбирайте визит на глаз.
- Решение
- Оставьте рабочее обращение и явно отметьте отсутствие связи в рекламном слое. Если причина повторяется, расследуйте подмену номера или окно.
- Ожидаемый результат
- Сотрудник видит клиента; аналитик видит неизвестный источник. Исправление не должно менять прошлые сделки без доказательства.
Оплата прислана позже
Оплата в учёте есть, карточка закрыта, отчёт ещё не получил событие.
- Что проверить
- Посмотрите график обмена, журнал отправки и фактическое время события. Убедитесь, что ожидание действительно нормальное.
- Решение
- Покажите состояние «ожидает обмена», а при выходе за окно передайте разбор владельцу интеграции.
- Ожидаемый результат
- После появления связи отчёт воспроизводит исходное время оплаты и не рисует второй результат за день получения.
Разные лиды связали по общему телефону
Форма и звонок пришли от двух разных отделов. CRM сложила их в старую карточку снабжения.
- Что проверить
- Проверьте контекст обращения и область, где номер считался ключом. Найдите старую сделку, которая получила чужой результат.
- Решение
- Разъедините обращения по проверенному контексту, сохранив связь с организацией. Для автоматической связи оставьте более строгий критерий.
- Ожидаемый результат
- В отчёте перестаёт расти ложная конверсия, а ни одна реальная карточка не исчезает из истории.
Договорите о времени до того, как сравнивать итоги
Открывайте один календарный отрезок и сохраняйте время события со смещением. Сайт может записать приём формы по UTC, CRM отобразить локальный день, отчёт посчитать день визита. Один и тот же факт попадёт в разные колонки. Для сверки используйте время исходного события и согласованное отображение; дату загрузки оставляйте вторым измерением. Последние часы периода проверяйте отдельно — именно там расхождения наиболее заметны.
Пусть форма принята в 23:58, CRM создала карточку в 00:02, аналитика привязала исход к визиту предыдущей недели. Таблица по источникам покажет три даты. Чтобы понять, работает ли входящий маршрут, сравните ключ формы и ключ карточки независимо от перехода через полночь. Чтобы оценить загрузку менеджера, используйте время появления задачи. Чтобы разобрать рекламу, откройте правило привязки. Ни одно из этих времён не обязано вытеснять остальные.
Считайте итог за период после того, как согласовали роль часов. Для оперативного просмотра оставьте предварительный срез, для закрытия периода — фиксированный срез с датой. Если отчёт обновился после поступления данных, добавьте разницу: сколько появились в задержке, сколько исправили по факту, сколько оставили без пары. Это быстрее объяснить, чем каждый понедельник выяснять, кто «поменял прошлую неделю».
Контроль дублей в двух направлениях
Первый тип — одинаковое исходное событие обработали дважды. Его находят по ключу, типу и источнику. Второй — два разных события описывают одно обращение. Здесь нужен бизнес-контекст: человек оставил форму и позвонил уточнить тот же заказ. Третий — один и тот же клиент имеет несколько независимых обращений. Если их склеить, получится скрытая потеря. У всех трёх свой способ разбора. Простое «удалить дубликаты по телефону» испортит часть рабочего потока.
Пусть пользователь дважды отправил форму из-за проблемы сети. Если сервер распознал повтор той же попытки, он возвращает прежний результат, и в отчёт не попадает второй принятый запрос. Если через час человек действительно попросил о другой услуге, сохраняется новый ключ. Оба запроса могут иметь один номер. В сверке первой паре помогает идентификатор попытки, второй — различие задач.
Раз в неделю проверяйте «один к нескольким» в обе стороны: один исходный запрос породил несколько карточек; несколько разных запросов попали в одну карточку. Не все такие случаи ошибки. Например, форма для двух площадок может законно создать две задачи, но у команды должно быть правило и наблюдаемая причина. Покажите причину в журнале, чтобы следующее расследование не начиналось заново.
Кто отвечает за разные типы расхождения
Присвойте ошибке первого отсутствующего перехода. Владелец интерфейса берёт непринятую форму, интегратор — принятую, но не доставленную, владелец CRM — случай с ошибочной связью, аналитик — непривязанный визит. Не отдавайте весь отчёт одному специалисту просто потому, что именно его экран видит расхождение. Временный координатор хранит очередность, проверяет повторный прогон и не даёт делу исчезнуть между командами.
Соберите короткую запись инцидента: исходный ключ, ожидаемый следующий ключ, подтверждение из системы, первое время отсутствия и последний известный статус. К ней приложите решение, которое проверяется на новой строке. Если поле региона иногда не принимает CRM, исправление должно показывать и допустимый регион, и ожидаемый понятный отказ для неизвестного. Иначе на тесте останется только красивый успешный пример.
Не заставляйте руководителя вникать во все детали. Ему пригодится количество людей, которых не увидел отдел, число событий без маркетинговой связи и длительность ожидания выгрузки. В таблице диагностики нужен точный ключ, на экране управления — приоритет. Один интерфейс редко одинаково хорошо обслуживает обе задачи.
Какие выборки сравнить после исправления
Проверьте старые ошибки и новые входящие. Старые показывают, можно ли восстановить данные, новые — перестала ли появляться причина. Иногда исторический источник уже недоступен или потерялись идентификаторы. Зафиксируйте границу восстановления: пять дел восстановили из журнала, три без надёжной связи, с указанного времени новый маршрут передаёт ключ. Не дописывайте три неизвестных как «прочие», если потом эту группу решат оптимизировать рекламой.
Сравните покрытие по типам устройства, каналу и отделу. Общая цифра может вырасти за счёт потока, который и раньше работал лучше. В небольшой группе откройте конкретные строки. В большой — проверьте распределение ошибок по причинам. Если сбор ключа зависит от определённого интерфейса, тесты надо выполнить там, где он ломался, а не только на ноутбуке интегратора.
В результате может выясниться, что фактических потерь нет, есть задержка отчёта. Это тоже полезное решение: отделу продаж не надо повторно перезванивать, аналитик поправит момент формирования среза. Экономия времени — нормальный исход сверки, даже если после неё не появилось ни одной новой красивой конверсии.
Что должен показать хороший отчёт о сверке
Покажите число принятых событий, долю с найденной карточкой, долю с валидной атрибуцией и сроки задержек. Назовите причину для каждого систематического провала. Не прячьте проблему в общий «процент совпадения». Для правил отправки статусов пригодится разбор офлайн-конверсий Метрики; для постоянного наблюдения за входящим маршрутом — мониторинг пути заявки.
Найдите одно событие, которое можно провести пальцем через всю систему. Потом найдите одно, которое пропало. С этих двух строк начинается полезная сквозная аналитика. Совпавшие итоги можно праздновать после того, как совпали смыслы.