Когда владелец онлайн-школы открывает отчёт GetCourse, рекламный кабинет и дашборд аналитики, цифры по одному и тому же показателю часто не совпадают. Причина не в ошибке системы и не в том, что кто-то неправильно настроил учёт — дело в том, что каждый инструмент считает по своим правилам. GetCourse фиксирует момент оплаты в CRM, рекламная платформа учитывает клик по объявлению, а дашборд может показывать данные за период загрузки, а не фактической транзакции. Сверка данных нужна не для того, чтобы найти виноватого, а чтобы понять, откуда берётся расхождение и можно ли с этими цифрами работать дальше.
Я разбираю типичные ситуации, когда цифры расходятся, и объясняю, как выстроить процесс сверки так, чтобы команда видела одну картину и принимала решения на основе проверенных данных.
Какие расхождения встречаются чаще всего?
Первое — это разница в правилах учёта. GetCourse считает продажу в момент, когда платёж прошёл через процессинг и попал в систему. Рекламная платформа фиксирует конверсию по пикселю на странице благодарности. Если пиксель сработал, но платёж отклонён банком, в рекламе будет продажа, а в CRM — нет. Обратная ситуация тоже возможна: человек оплатил заказ через несколько дней после клика, и GetCourse засчитала продажу, а рекламная система уже не связывает её с кампанией из-за истёкшего окна атрибуции.
Второе — это таймзоны и время обработки. GetCourse работает в часовом поясе, который выбран в настройках школы. Яндекс Директ и Google Ads показывают статистику в своём часовом поясе, если его не переключить вручную. Дашборд может загружать данные из API с задержкой в несколько часов. Если ты сверяешь цифры утром, а отчёты обновились в разное время, расхождение неизбежно.
Третье — это фильтры и сегменты. В GetCourse ты можешь смотреть все продажи или только оплаченные заказы. В рекламном кабинете можно включить конверсии по всем источникам или только по прямым переходам. Если фильтры настроены по-разному, сравнивать цифры бессмысленно. Частая ошибка — сверять общий доход из CRM с доходом от одной рекламной кампании и удивляться, почему суммы не сходятся.
Четвёртое — это идентификаторы и способ связывания данных. Когда человек кликает на объявление, рекламная система передаёт метку utm или gclid. GetCourse записывает эту метку в карточку сделки. Если метка потерялась — например, человек перешёл по ссылке из мессенджера или открыл страницу через закладку — то связь с рекламой теряется. В итоге продажа есть в CRM, но в рекламном отчёте её не видно.
Как сравнить одинаковые периоды и фильтры?
Чтобы сверка была осмысленной, нужно привести данные к одинаковым условиям. Начинаю с периода: фиксирую дату начала и окончания в каждом источнике и проверяю, что таймзона совпадает. Если GetCourse работает в UTC+3, а рекламный кабинет показывает статистику в UTC+0, то день в одной системе заканчивается на три часа раньше, чем в другой. Это даёт расхождение в несколько продаж на стыке дат.
Дальше выбираю одинаковые фильтры. Если в GetCourse я смотрю только успешные платежи со статусом «Оплачен», то в дашборде должен использовать тот же критерий. Если в рекламе учитываются конверсии по всем источникам, а в CRM я беру только заказы с utm-метками, то сравнение не покажет реальную картину. Лучше зафиксировать правило заранее: либо сверяем всё со всем, либо берём только прямые переходы с рекламы.
Ещё один момент — это привязка продажи к дате. GetCourse может показывать дату создания заказа или дату оплаты. Рекламная платформа фиксирует дату клика или дату конверсии. Если ты строишь отчёт по дате заказа в CRM, а в рекламе смотришь дату клика, то одна и та же продажа попадёт в разные дни. Чтобы этого избежать, я выбираю единую точку отсчёта — обычно это дата конверсии, то есть момент, когда человек выполнил целевое действие.
Когда условия выровнены, расхождение обычно сокращается до нескольких процентов. Если разница остаётся большой — больше 10–15% — это сигнал проверить настройки пикселей, корректность передачи меток и полноту загрузки данных в дашборд.

Почему данные обновляются в разное время?
Каждая система работает по своему расписанию. GetCourse обновляет отчёты в реальном времени: как только платёж прошёл, он появляется в списке заказов. Рекламные платформы обрабатывают конверсии с задержкой от нескольких минут до нескольких часов, потому что данные сначала собираются на серверах, потом проходят проверку и только после этого попадают в интерфейс. Если ты смотришь статистику утром, то вчерашние конверсии могут ещё не отобразиться полностью.
Дашборды, которые загружают данные через API, обновляются по расписанию. Например, скрипт может запускаться раз в час или раз в сутки. Если последняя загрузка была в полночь, а ты открываешь отчёт в десять утра, то всё, что произошло с полуночи до десяти, ещё не учтено. Это не ошибка — это особенность автоматической синхронизации.
Есть ещё понятие окна атрибуции. Рекламная платформа может учитывать конверсии, которые произошли в течение семи или тридцати дней после клика. Если человек кликнул на объявление в понедельник, а оплатил курс в пятницу, то конверсия может быть засчитана в статистику понедельника, а не пятницы. GetCourse при этом покажет продажу в пятницу. Это нормально, но нужно помнить об этом при сверке.
Чтобы работать с актуальными данными, я жду, пока все системы обновятся. Обычно это происходит через 24 часа после окончания периода. Если мне нужно свериться по вчерашнему дню, я делаю это сегодня вечером или завтра утром, когда рекламные платформы закрыли статистику и дашборд загрузил свежие цифры.
Как устроить журнал причин расхождения?
Журнал — это таблица, в которой ты фиксируешь каждое обнаруженное расхождение и объясняешь его причину. Это не формальность, а рабочий инструмент: когда в следующий раз цифры не сойдутся, ты сначала проверяешь журнал и смотришь, не повторяется ли известная ситуация.
Структура простая: дата, источник данных, показатель, значение в первой системе, значение во второй системе, разница, причина, действие. Например: 15 марта, GetCourse vs Яндекс Директ, количество продаж, 42 против 38, разница −4, причина — четыре платежа отклонены банком после срабатывания пикселя, действие — учитываем только успешные платежи в следующих сверках.
Журнал помогает не только объяснить расхождение, но и выявить системную проблему. Если одна и та же причина повторяется несколько раз — например, метки utm не передаются через форму заявки — это повод исправить настройку, а не списывать каждый раз на случайность.
Ещё один плюс журнала — это прозрачность для команды. Когда маркетолог, аналитик и финансовый директор видят одну таблицу с объяснениями, они перестают спорить о том, чьи цифры правильные, и начинают обсуждать, как улучшить процесс учёта.
Журнал можно вести в Google Таблицах или в любой другой системе, где есть доступ у всех участников процесса. Главное — обновлять его регулярно и не превращать в формальный документ, который никто не читает.

Когда цифры можно считать рабочими?
Цифры становятся рабочими, когда ты понимаешь природу расхождения и можешь объяснить его без домыслов. Если разница в 5% возникает из-за того, что GetCourse обновляется мгновенно, а дашборд — раз в час, и ты это проверил, то с такими данными можно работать. Если разница 20%, и ты не знаешь, откуда она взялась, то принимать решения на основе этих цифр рискованно.
Порог допустимого расхождения зависит от задачи. Для операционного управления — когда ты смотришь, сколько заявок пришло сегодня и нужно ли масштабировать рекламу — допустима погрешность в несколько процентов. Для финансового отчёта или расчёта юнит-экономики точность должна быть выше, и здесь стоит свериться несколько раз, дождаться полной загрузки данных и исключить технические ошибки.
Ещё один критерий — это повторяемость. Если расхождение возникает каждый раз по одной и той же причине, ты можешь внести поправочный коэффициент или изменить правила учёта. Если цифры скачут хаотично, это сигнал проверить настройки интеграций, корректность передачи меток и полноту данных в источниках.
Не стоит ждать идеального совпадения. Разные системы считают по-разному, и это нормально. Задача сверки — не добиться нулевой разницы, а убедиться, что ты понимаешь, откуда берётся расхождение, и можешь принять решение с учётом этого знания. Если ты видишь, что GetCourse показывает 100 продаж, рекламный кабинет — 95, а дашборд — 98, и ты знаешь причину каждого отклонения, то эти данные рабочие.
Чтобы проверить применимость этого подхода к твоей школе, выбери один день, выгрузи данные из всех систем, приведи их к одинаковым условиям и посмотри, какая разница останется. Если она объяснима и не мешает принимать решения, процесс сверки можно считать настроенным. Если расхождение большое и неясное, стоит проверить настройки учёта и интеграций — сбор и объединение данных помогает свести показатели из разных источников в единую систему и увидеть полную картину.
