SALES

Диагностика проблем со счётчиком полевых метрик (field/RUM)

This page has no English translation yet — the Russian original is shown.

Диагностика проблем со счётчиком полевых метрик (field/RUM)

Задача документа. Быстро понять, почему данных нет или почему метрика отсутствует, и что сделать. Диагностика идёт «снизу вверх»: сначала убеждаемся, что данные уходят из браузера, затем — что они принимаются, затем — что они корректно отображаются.

Дополнительно: install-rum-js.md, metrics.md, faq.md.


0. Универсальная последовательность проверки

  1. Откройте сайт с открытыми инструментами разработчика (вкладка Network, фильтр rum).
  2. Покиньте страницу или скройте вкладку: данные отправляются при уходе/скрытии страницы или при смене адреса, а не сразу при загрузке.
  3. Найдите запрос POST /v1/rum → ответ 200 с телом {"ok":true}.
  4. Если запроса нет → разделы 1–2.
  5. Если запрос уходит и получает 200, но данных в аналитике нет → разделы 3–5.

1. Данных нет вообще: запрос не уходит

ПричинаПризнакРешение
Токен не заданнет запросов; в коде пустой токензадать токен проекта в коде встраивания; при пустом токене счётчик молча ничего не отправляет
Адрес сервиса задан относительным путёмзапрос уходит на ваш домен (site.ru/v1/rum) и получает 404указать абсолютный адрес https://seo-tools.velizarov.ru/v1/rum
Скрипт не загрузилсяв Network нет самого файла скриптасм. §2 (CSP и адрес скрипта)
Доля сбора равна нулю или очень малазапросы редки или отсутствуютзадать data-sample="1.0" для полного сбора

Как отладить на странице: временно добавьте data-debug="true" → в консоли браузера появятся сообщения счётчика (например, sent via sendBeacon N events).


2. Скрипт блокируется политикой безопасности (CSP)

Признак: в консоли браузера сообщения вида Refused to load the script ... because it violates Content-Security-Policy или Refused to connect ....

Решение: разрешите домен сервиса и для загрузки скрипта, и для отправки данных:

script-src  'self' https://seo-tools.velizarov.ru;
connect-src 'self' https://seo-tools.velizarov.ru;
  • Если вы используете вариант с window.RUM_CONFIG (инлайновый <script>), для него нужен nonce/hash либо переход на вариант с data-* — install-rum-js.md §3–4.

3. Запрос уходит, но сервис «молча» его отбрасывает

Сервис приёма отвечает 200 {"ok":true} всегда: по коду ответа нельзя судить, приняты ли данные. Причины «тихого» отбрасывания:

ПричинаКак проверитьРешение
Приём событий для проекта выключеннастройки проекта в личном кабинетевключить приём событий для проекта
Токен отозван или выключенсписок токенов проекта в личном кабинетевключить токен или выпустить/заменить его
Токен от другого проектасверьте время последнего использования у нужного проектаиспользовать токен нужного проекта
Набор метрик несовместимна сайте используется расширенный набор, а сервис его ещё не поддерживаетпривести набор на сайте в соответствие с поддержкой сервиса: расширенный набор включается на стороне сервиса до перехода сайта на metrics="v2"

Критично: пакет данных проверяется целиком. Одиночное неизвестное имя метрики → отбрасывается весь пакет. Поэтому набор на сайте сначала проверяют, а затем переводят на расширенный.

Хороший признак приёма: время последнего использования токена в личном кабинете. Если оно обновляется — данные доходят; если нет — они отбрасываются или не уходят.


4. Запрос доходит, но метрики «нет»

СимптомПричинаЧто делать
Нет INPпосетитель не взаимодействовал со страницейожидаемо; INP появляется после первого взаимодействия
Нет RES_BYTES или объём «маленький»сторонние ресурсы без Timing-Allow-Originдобавить заголовок на ответы CDN; смотреть RES_XORIGIN
Нет TTFB_*, FCP, FID при переходе внутри SPAу перехода нет данных навигацииожидаемо: эти метрики собираются только при полной загрузке страницы
Нет NET_TYPE / DEV_MEMбраузер не передаёт тип соединения или объём памяти (Safari, старые версии)ожидаемо
RES_BYTES выглядит завышеннымэто оценка по доступным ресурсам, а не сетевой весвоспринимать как справочную оценку
Сессии пустыиспользуется старая версия счётчика без идентификатора сессииподключить актуальную версию скрипта и metrics="v2"
Ошибки «раздроблены» на много строкгруппировка похожих ошибок ещё не включена🟡 планируется: группировка по отпечатку

5. Проблемы с количеством и дублями

СимптомПричинаЧто делать
Просмотр «двойной»просмотр считается только при смене адреса страницыпроверить, что роутер меняет именно адрес, а не только параметры или фрагмент
Много просмотров на страницучастые реальные переходы и обновлениянорма; сверьте тип перехода
Пакет не уходит (тихий отброс)слишком много событий (более 50)снизить набор метрик или включить долю сбора data-sample
«Сегодня пусто»агрегация по UTC и задержка агрегациисмотрите предыдущий UTC-день; учитывайте свой часовой пояс

6. Расхождение ожиданий по приватности и согласию

  • Счётчик не использует cookie, не отправляет referrer, IP, параметры запроса и фрагмент адреса (это нормальное поведение, а не поломка).
  • Учёт сигналов «не отслеживать» (DNT/GPC) и автоматическая связка с consent-баннером пока не реализованы — install-rum-js.md §7. До этого подключайте счётчик после получения согласия.

7. Когда обращаться в поддержку

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

  • адрес страницы;
  • время (в UTC), когда смотрели данные;
  • какие метрики ожидали увидеть;
  • время последнего использования токена;
  • фрагменты запроса и ответа из вкладки Network (без токена в открытом виде — достаточно факта запроса и кода ответа).