Системы считают разные события
Серверный лог фиксирует HTTP-запрос, Яндекс Метрика — работу клиентского счетчика и сформированный визит, GA4 — полученное событие по своей модели. Один человек вызывает много запросов, несколько событий и одну или несколько сессий. Равенство итогов не является нормой.
Сначала определите единицу сравнения. HTML-запросы можно приближенно сопоставить с просмотрами, но не со всеми строками лога. Пользователей нельзя надежно сравнивать по IP, а сессии Метрики и GA4 имеют разные настройки и правила.
Технические причины расхождений
Код счетчика может не загрузиться из-за блокировщика, отказа в согласии, Content Security Policy, ошибки JavaScript или быстрого закрытия страницы. Лог при этом уже существует. CDN может отдать кэш без запроса к origin, а серверный фильтр — удалить часть служебных запросов.
Разные часовые пояса сдвигают границу суток. Фильтры роботов, внутреннего трафика, referral exclusions и cross-domain настройки меняют атрибуцию. GA4 также может применять пороги, моделирование и задержку обработки в зависимости от отчета.
- приведите системы к одному часовому поясу;
- сравните один URL и короткое окно;
- исключите статику и health-check из логов;
- проверьте загрузку обоих счетчиков;
- зафиксируйте фильтры и consent mode.
Алгоритм сверки
Откройте тестовый URL в контролируемом браузере, запишите время и идентификатор метки. Убедитесь через инструменты разработчика, что отправлены запросы обоих счетчиков. Затем найдите HTML-запрос в access-логе и события в отладочных отчетах.
После одиночной проверки проведите небольшой пакетный тест. Сравнивайте доли потерь и характер расхождения, а не требуйте одинакового целого числа. Постоянное отличие на одном браузере указывает на настройку; хаотичное — на сеть, блокировку или обработку.
Как документировать результат
Сохраните URL, интервал, часовой пояс, версию счетчиков, фильтры, тип согласия и источник перехода. Запишите, что именно считалось: запрос, просмотр, событие, визит, сессия или пользователь. Это делает проверку воспроизводимой.
Небольшое стабильное расхождение допустимо, если его причина понятна. Исправлять нужно потерю важных событий, двойную установку счетчика, неверный домен, сломанную междоменную настройку или значимый необъяснимый разрыв.
По теме: API для контролируемых запусков. Перед запуском проверьте соответствие сценария вашей задаче и правилам используемых платформ.
Нужен воспроизводимый тест аналитики?
Запишите точное окно запуска, URL и параметры, чтобы корректно сопоставить клиентские счетчики с запросами сервера.
Подготовить тест