Узнайте, почему данные RUM могут отличаться от показателей Core Web Vitals в CrUX.
Дата публикации: 15 августа 2022 г. Последнее обновление: 17 декабря 2025 г.
Отчет об удобстве пользования браузером Chrome (CrUX) содержит показатели, которые говорят о том, насколько настоящим пользователям Chrome комфортно просматривать популярные сайты. Эти данные автоматически собираются браузером Chrome у пользователей, которые дали на это согласие, и предоставляются в соответствии с требованиями к участию в CrUX.
Поэтому данные CrUX доступны для миллионов сайтов. Многие владельцы сайтов ранее не имели доступа к данным о поведении пользователей, и CrUX позволил им впервые увидеть ценность этой информации. Поскольку набор данных CrUX является общедоступным, его можно использовать для сравнительного анализа и сопоставления показателей удобства использования.
Мониторинг реальных пользователей (RUM) похож на CrUX, но вместо автоматического сбора показателей пользовательского опыта в Chrome на веб-сайты добавляется код, который выполняет этот сбор и передает его обратно поставщику RUM или аналитическому решению для дальнейшего анализа.
Поскольку оба решения измеряют показатели удобства использования, логично предположить, что они должны быть эквивалентны. Расхождения могут сбивать с толку. В этом руководстве объясняется, почему это может происходить, и предлагаются рекомендации на случай, если цифры не совпадают.
Преимущества использования RUM-решения в дополнение к CrUX
CrUX – отличный инструмент для получения согласованного представления о сайтах. Поскольку он представляет собой набор данных Google для программы Core Web Vitals, владельцам сайтов, скорее всего, будет интересно следить за тем, что он показывает. Цель CrUX – предоставить статистически значимый обзор миллионов сайтов для перекрестного сравнения.
Однако если вы хотите глубже разобраться в том, почему данные показывают именно такие цифры, то вам стоит инвестировать в полноценное решение RUM, которое дополнит CrUX и предоставит вам доступ к более подробной информации, чем та, которая может быть доступна в общедоступном наборе данных. Это поможет вам объяснить и улучшить свои показатели несколькими способами.
Более глубокий анализ для выявления проблем
CrUX часто позволяет определить, есть ли на сайте проблема, но не всегда указывает, где именно она находится и чем вызвана. Решения RUM – будь то собственные, созданные с помощью библиотеки web-vitals, или коммерческие продукты – могут помочь устранить этот пробел.
Решение RUM позволяет получить доступ к гораздо более подробным данным для всех страниц и во всех браузерах. Кроме того, вы можете сегментировать и анализировать эти данные способами, недоступными в CrUX, что позволяет детально изучать проблемные области сайта. Зависят ли они от определенного сегмента пользователей? или тех, кто совершает определенные действия? Когда именно возникла проблема? На эти вопросы гораздо проще ответить, если у вас есть дополнительные данные, которые может предоставить инструмент RUM.
Сопоставление с другими бизнес-показателями
RUM также позволяет сравнивать показатели эффективности сайта с любыми бизнес-показателями, чтобы вы могли оценить, насколько выгодно инвестировать в эффективность и какие задачи по ее повышению следует решать в первую очередь. У нас есть множество историй успеха, в которых компании, например Farfetch или The Economic Times, сопоставляют эти данные.
Сбор других данных об эффективности
Решение RUM позволяет собирать другие пользовательские показатели, напрямую связанные с вашим бизнесом. Один из самых известных примеров – показатель Time to first Tweet (Время до первого твита) в Twitter. Эти показатели можно сопоставить с улучшениями Core Web Vitals и бизнес-показателями.
Различия между двумя наборами данных по полям
Человек, у которого есть часы, знает, который час. Человек, у которого двое часов, ни в чем не уверен.
Закон Сегала
Если вы используете два источника данных, то можете столкнуться с расхождениями в них. Как и в случае с лабораторными и полевыми показателями, между двумя источниками полевых данных могут быть различия. В идеальном мире данные были бы одинаковыми, но в реальности они могут различаться по многим причинам.
Данные экспериментов и данные наблюдений
Прежде всего проверьте, какие показатели вы смотрите: лабораторные (синтетические) или полевые (RUM). Хотя логично предположить, что продукты RUM анализируют только полевые данные, многие из них также предлагают лабораторный компонент.
Лабораторные данные невероятно полезны именно из-за фиксированных условий, в которых они измеряются. Это позволяет отслеживать неожиданные изменения или регрессии в рабочей среде без шума, связанного с изменением совокупности данных. Однако лабораторные данные могут не отражать реальный пользовательский опыт, поэтому полевые показатели могут показывать совершенно разные результаты.
Население
Наборы данных, используемые CrUX и RUM, могут различаться, поскольку посещения страниц измеряются по-разному в зависимости от того, какие браузеры, пользователи, сайты и устройства сравниваются.
Поддерживаемые браузеры
Отчет об удобстве пользования браузером Chrome, как следует из его названия, содержит данные только по этому браузеру. Хотя существует множество браузеров на основе Chromium (например, Edge, Opera и Brave), которые используют большую часть базы кода Chrome, только пользователи Chrome передают данные в CrUX. Это ограничение также означает, что пользователи Chrome на iOS не учитываются, поскольку в этой ОС используется базовый движок браузера Webkit. Компоненты Android WebView также не считаются браузером Chrome, поэтому данные от их пользователей не включаются в отчет. Однако данные от пользователей специальных вкладок Chrome включаются.
Chrome – один из самых популярных браузеров в мире, поэтому он дает достаточно полное представление об эффективности сайта. Однако данные, полученные только в одном браузере, не могут отражать опыт всех пользователей. Это может объяснить одно из основных различий между RUM и CrUX. Это особенно актуально для методов повышения производительности, которые основаны на API или графических форматах, доступных только в Chrome.
Отсутствие данных iOS также может привести к предвзятости. Например, пользователи iOS обычно используют более производительные устройства или посещают сайты из стран с лучшей сетевой инфраструктурой, поэтому их включение может привести к высоким общим показателям эффективности. С другой стороны, исключение таких пользователей, как в CrUX, может привести к тому, что данные будут смещены в сторону посетителей сайта с более низкими показателями (пример исследования). Пользователи Android обычно используют более широкий спектр устройств, возможностей устройств и рынков.
Решения RUM могут получать данные из браузеров, отличных от Chrome, в частности из браузеров на основе Chromium, в которые часто встроены те же показатели (например, Core Web Vitals). Решения RUM также могут собирать данные из браузеров, не основанных на Chromium, но набор показателей может быть ограничен. Например, показатель Cumulative Layout Shift (CLS) доступен только в браузерах на основе Chromium. Некоторые другие показатели, связанные с отрисовкой, например LCP, INP и даже First Contentful Paint (FCP), могут измеряться по-разному (см. ниже).
Пользователи, давшие согласие
Кроме того, CrUX собирает данные только о тех пользователях Chrome, которые при установке браузера согласились делиться данными CrUX.
Поставщики RUM также рассматривают только подмножество пользователей, обычно из-за уведомлений о файлах cookie, предлагающих пользователям согласиться на сбор данных RUM, или блокировщиков отслеживания. Это может отрицательно повлиять на загрузку некоторых страниц, если подтверждение не будет получено до второй или последующих страниц, когда некоторые объекты сайта уже были кешированы с предыдущих страниц. Если это происходит часто, показатели в RUM могут выглядеть лучше, чем они есть на самом деле, поскольку медленные загрузки страниц не учитываются.
Включенные сайты
CrUX предназначен только для общедоступных сайтов, поэтому существуют и другие критерии допуска, из-за которых данные могут не регистрироваться в CrUX. В частности, сайт должен быть общедоступным и достаточно популярным, чтобы обеспечить минимальный размер выборки, позволяющий сделать значимые выводы. В большинстве случаев это приведет к тому, что в CrUX не будет данных. Это менее запутанная разница по сравнению с доступными, но разными данными, но она объясняет, почему это происходит.
Однако если некоторые страницы сайта помечены как индексируемые, а другие – нет, то в CrUX может быть представлен только набор URL. Если источник общедоступен, то все просмотры страниц в нем будут включены в данные на уровне источника, но данные на уровне URL могут быть недоступны.
Устройства
В отчете CrUX данные сегментируются по мобильным устройствам, компьютерам и планшетам, хотя многие инструменты концентрируются на первых двух и могут не показывать данные по планшетам или включать их в данные по мобильным устройствам или компьютерам. Эффективность рекламы на мобильных устройствах и компьютерах может существенно различаться как по типу контента, так и по возможностям устройств, на которых он показывается.
Данные RUM позволяют сегментировать трафик аналогичным образом, но по умолчанию часто показывают консолидированные данные. RUM может разрешать сегментирование только по типу устройства (например, мобильное) или браузеру (например, Chrome), но не по обоим параметрам, чтобы видеть только мобильный трафик Chrome. При сравнении с данными CrUX убедитесь, что вы сравниваете сопоставимые данные, отфильтровав их по типу устройства и браузеру Chrome.
Выборка
Решения для мониторинга реальных пользователей обычно позволяют настраивать частоту дискретизации для посетителей, давших согласие на сбор данных. Это позволяет уменьшить объем данных, которые нужно анализировать, и снизить стоимость коммерческих сервисов RUM. Если размер выборки слишком мал и не является репрезентативным для более широкой совокупности, то полученные показатели также будут искажены. Обсудите с поставщиком RUM, какой размер выборки подходит для вашего сайта.
Агрегирование данных
Полевые данные по своей природе будут включать в себя множество элементов одних и тех же показателей по сравнению с лабораторными данными, которые дадут одно значение. Если эти данные агрегируются по-разному для отчетов, это может привести к ещё одной причине различий между CrUX и RUM.
Период
Данные CrUX основаны на скользящем окне трафика за 28 дней, и этот период времени изменить нельзя. Однако данные CrUX BigQuery хранятся за каждый месяц, что позволяет просматривать предыдущие месяцы, а CrUX History API также предоставляет статистику за недельный период. В обоих случаях данные будут основаны на скользящем 28-дневном окне.
Данные RUM обычно позволяют получить гораздо более высокую детализацию, чтобы увидеть влияние изменений гораздо раньше. Однако при выборе меньших периодов на данные RUM могут чрезмерно влиять колебания трафика сайта и посетителей. Сравнивая данные RUM и CrUX, всегда проверяйте, что вы смотрите на эффективность за 28 дней. Если данные похожи, вы можете посмотреть данные RUM за другие периоды времени.
Агрегирование статистики
Показатели CrUX измеряются по 75-му процентилю, то есть по значению, которое достигается в 75% просмотров страниц. Полевые данные могут содержать экстремальные значения, и удаление 25% худших результатов позволяет получить значение, которого может достичь большинство посетителей.
Продукты RUM часто предоставляют более широкий выбор вариантов агрегирования показателей, включая 75-й процентиль, медиану и другие процентили. Если вы сравниваете значения RUM с данными CrUX, убедитесь, что вы смотрите на данные 75-го процентиля, чтобы сравнивать сопоставимые значения.
На гистограмме в отчете об удобстве пользования браузером Chrome представлены все доступные данные, а не только 75-й процентиль. Также на ней показано количество просмотров страниц с каждой оценкой, но общая оценка будет основана на 75-м процентиле. Данные CrUX можно посмотреть в таких инструментах, как PageSpeed Insights:
Различия в показателях
Для оценки эффективности сайта используется множество показателей. Поэтому при сравнении двух разных наборов данных важно понимать, какие показатели измеряются и как они используются.
Показатели
Данные CrUX – это набор данных Google, который используется в рамках инициативы Core Web Vitals и в основном предназначен для оценки показателей LCP, CLS и INP, а также некоторых других.
Инструменты RUM обычно включают эти Core Web Vitals, но часто включают и многие другие показатели. Некоторые поставщики RUM также измеряют удобство для пользователей, используя собственную комбинацию всех этих показателей, например, чтобы получить "индекс удовлетворенности" или что-то подобное. Сравнивая данные RUM с данными CrUX, убедитесь, что вы сравниваете сопоставимые показатели.
Инструменты, которые оценивают статус прохождения Core Web Vitals, должны считать, что страница прошла проверку, если она соответствует рекомендуемым целевым показателям на уровне 75-го процентиля для всех Core Web Vitals. Если на страницах без взаимодействий нет INP, то учитываются только LCP и CLS.
Различия в показателях в разных браузерах
CrUX выполняет измерения только в браузерах Chrome. О том, как эти измерения меняются от версии к версии, можно узнать из журналов изменений Web Vitals.
Однако решения RUM могут собирать данные из большего количества браузеров. Браузеры на основе Chromium (Edge, Opera и т. д.), скорее всего, будут работать так же, как Chrome, если только в Chrome не будут реализованы новые изменения, указанные в журнале изменений.
В браузерах, не основанных на Chromium, различия могут быть более заметными. Например, показатели, связанные с отрисовкой, такие как LCP, INP и FCP, доступны в Safari и Firefox, но измеряются по-другому. Это может привести к значительным расхождениям в указанном времени. Как уже говорилось, если вы хотите сравнить данные RUM и CrUX, лучше всего отфильтровать только пользователей Chrome, чтобы обеспечить сопоставимость данных.
Время показателей
Показатели Core Web Vitals предоставляются API браузеров, но это не означает, что значения, полученные с их помощью, не могут различаться. Различия могут быть связаны с тем, когда измеряется показатель: при загрузке страницы или в течение всего ее жизненного цикла. Инструменты RUM могут по-разному измерять показатели, даже если они используют одни и те же названия и API браузера для получения данных. Это может сбивать с толку.
Largest Contentful Paint (LCP) – это показатель загрузки страницы. Если более крупные элементы загружаются после первоначальной отрисовки, Web API может сообщить о нескольких элементах LCP. Окончательный элемент LCP определяется, когда страница полностью загружается или пользователь начинает взаимодействовать с ней. Поэтому могут возникать расхождения, если элемент LCP регистрируется раньше, чем эти два события.
Кроме того, в полевых данных элемент LCP может отличаться в зависимости от того, как загружается страница. При загрузке страницы по умолчанию, когда показывается контент в ее верхней части, элемент LCP будет зависеть в основном от размера экрана. Однако если страница открывается с помощью анкорной ссылки, ведущей на нижнюю часть документа, или с помощью ссылки на контент в одностраничном приложении (подробнее об этом ниже), то элемент LCP может быть другим.
Не думайте, что время LCP, указанное в CrUX или RUM, относится к тому же элементу, что и в лабораторных инструментах. CrUX предоставляет общее значение LCP для страницы или источника, а RUM позволяет сегментировать эти данные, чтобы выявлять отдельные сеансы с проблемами LCP.
Совокупное смещение макета (CLS) измеряется в течение всего времени существования страницы, поэтому CLS при начальной загрузке страницы может не отражать страницы, которые вызывают большие смещения позже, после загрузки страницы и взаимодействия с ней пользователя. Поэтому, если вычислять CLS только после загрузки страницы (как это делают многие продукты RUM), результат будет отличаться от того, который получится, если вычислять CLS после того, как пользователь закончит работу со страницей.
Для расчета показателя Interaction to Next Paint (INP), который отражает скорость отклика, требуется ввод данных. При этом учитываются все взаимодействия с помощью мыши и клавиатуры, которые пользователь выполняет, пока находится на странице. Это похоже на расчет показателя CLS, поэтому значение INP может сильно отличаться, если оно рассчитывается после того, как пользователь выполнил несколько взаимодействий на странице.
CrUX будет следовать документации по Core Web Vitals и измерять эти показатели на протяжении всего времени существования страницы. Многие поставщики RUM по разным причинам предпочитают измерять эти показатели либо после загрузки страницы, либо в другое время (например, при нажатии на ключевой призыв к действию).
Если вы видите необъяснимые расхождения между двумя источниками данных, важно узнать у поставщика RUM, когда измеряются Core Web Vitals.
Одностраничные приложения
В одностраничных приложениях (SPA) контент обновляется на текущей странице, а не выполняется навигация по страницам на уровне браузера. Это означает, что браузер не считает такие действия навигацией по страницам, хотя пользователи воспринимают их именно так. API Core Web Vitals, предоставляемые браузером, не учитывают такие переходы, поэтому CrUX их не поддерживает. Мы работаем над решением этой проблемы. Подробную информацию можно найти в статье Измерение мягких переходов.
Некоторые поставщики RUM пытаются обнаруживать "мягкие переходы" в одностраничных приложениях, но если они также связывают показатели Core Web Vitals с этими "мягкими переходами", это приведет к различиям с CrUX, поскольку базовые API не поддерживают это для многих показателей.
Различия между CrUX и Web API
Помимо различий в том, какие просмотры страниц измеряются и что измеряется, есть несколько других, более сложных сценариев, о которых следует знать, которые могут привести к различиям в данных CrUX и RUM. Некоторые из них связаны с ограничениями Web API, используемых для измерения показателей, а некоторые – с тем, что результаты, возвращаемые API, в определенных сценариях необходимо обрабатывать по-разному. В документации по Core Web Vitals перечислены различия для LCP и CLS, но основные различия также отмечены в следующих разделах.
Возвратный кеш
В CrUX восстановление страниц из возвратного кеша (bfcache) считается навигацией по страницам, хотя при этом не происходит стандартная загрузка страницы. Поскольку Web API не считают это загрузкой страницы, решениям RUM необходимо предпринять дополнительные шаги, чтобы эти страницы учитывались, если они хотят соответствовать CrUX. Это значительно более быстрая загрузка страниц, которая может привести к улучшению общей производительности сайта, поэтому их отсутствие может привести к ухудшению общих показателей производительности страниц. Чтобы узнать, обрабатывает ли ваше решение RUM страницы, восстановленные из bfcache, обратитесь к его документации.
Окна iframe
Из соображений безопасности и конфиденциальности страницы верхнего уровня не имеют доступа к контенту в окнах iframe (даже в окнах iframe из того же источника). Это означает, что показатели эффективности контента в таких фреймах можно отслеживать только в самом фрейме, а не через веб-API на странице, где он размещен. Если контент iframe содержит элемент LCP или контент, который влияет на CLS или INP, это не будет доступно для решений RUM (включая библиотеку JavaScript Google web-vitals).
Однако CrUX, измеряемый самим браузером Chrome, а не JavaScript на странице, не имеет этих ограничений и поэтому измеряет показатели в окнах iframe при составлении отчетов о Core Web Vitals. Это позволяет точнее отразить действия пользователя, но может быть ещё одной причиной расхождений для сайтов, использующих элементы iframe.
Один из примеров того, как это может привести к различиям между данными LCP в CrUX и RUM, – встроенные элементы <video>. Первый отрисованный кадр элемента <video> с атрибутами playsinline и autoplay может считаться кандидатом на LCP, но встраиваемые элементы популярных стриминговых сервисов могут размещать такие элементы в <iframe>. CrUX может учитывать это, поскольку у него есть доступ к содержимому <iframe>, а у решений RUM – нет.
Ресурсы из разных источников
Из-за ограничений безопасности браузера, направленных на снижение риска атак по времени, медиаконтент, который относится к LCP и размещен в других доменах, может не передавать время отрисовки в PerformanceObserver API, если не указан заголовок Timing-Allow-Origin (TAO). В этом случае используется время загрузки ресурса, но оно может сильно отличаться от времени фактической отрисовки контента.
Это может привести к ситуации, когда веб-API сообщают, что LCP наступает раньше, чем FCP. Это не так, но из-за ограничений безопасности может показаться, что это так.
Эта проблема была решена в конце 2024 года, и в Chrome 133 доступно приблизительное время отрисовки, даже если заголовок Timing-Allow-Origin не указан.
Повторим, что в CrUX есть данные о времени отрисовки для Core Web Vitals. Рекомендуем ограничить использование контента из разных источников, который влияет на показатели Core Web Vitals, и по возможности включить заголовок TAO, чтобы повысить точность измерений. Другие ресурсы из разных источников могут подпадать под аналогичные ограничения.
Фоновые вкладки
Если страница не открыта в фоновой вкладке, она все равно будет передавать показатели с помощью Web API. Однако в CrUX они не учитываются, поскольку не соответствуют реальному пользовательскому опыту. Решения RUM также должны игнорировать такие просмотры или хотя бы объяснять, как они обрабатываются.
Что же можно сделать?
Мы объяснили, почему данные CrUX и RUM могут различаться. Это может быть связано с различиями в методологии, а также с тем, какие пользователи и просмотры страниц включаются или исключаются. В идеале оба набора данных должны быть репрезентативными для эффективности вашего сайта, но приведенные причины должны объяснять, почему маловероятно получить абсолютно одинаковые цифры в каждом из них.
Если расхождения незначительны (например, в одном отчете указано значение LCP, равное 2,0 секунды, а в другом – 2,2 секунды), то оба набора данных можно считать полезными и примерно совпадающими.
Если расхождения заставляют вас сомневаться в точности данных, попробуйте разобраться в причинах. Можно ли отфильтровать данные RUM, чтобы они лучше соответствовали данным CrUX (например, учитывать только пользователей Chrome, только компьютеры или только мобильные устройства, а также значения 75-го процентиля за 28 дней)?
Если да, то вы можете добиться большего соответствия данных. Однако вам все равно нужно будет выяснить, почему в общих данных есть расхождения и что это значит. Искажают ли пользователи, не работающие с Chrome, ваши показатели в положительную или отрицательную сторону? Помогает ли это вам лучше понять, какие проблемы производительности нужно решать в первую очередь?
Если у пользователей других браузеров результаты отличаются, вы можете использовать эту ценную статистику, полученную с помощью RUM, чтобы оптимизировать сайт по-другому. Например, некоторые API недоступны в определенных браузерах, но вы можете использовать альтернативные варианты, чтобы улучшить работу сайта и в них. Или вы можете предложить другой, но более эффективный вариант для пользователей с ограниченными возможностями устройств или сетей. CrUX содержит только данные Chrome, но при выборе приоритетных улучшений следует учитывать опыт всех посетителей сайта. Данные RUM могут заполнить этот пробел.
Если вы понимаете причины расхождений, то оба инструмента могут быть невероятно полезны для анализа удобства сайта и его улучшения, даже если цифры не совпадают. Используйте данные RUM, чтобы дополнить данные CrUX и глубже изучить то, что CrUX сообщает вам на высоком уровне, сегментируя трафик, чтобы помочь вам определить, требуют ли внимания определенные области вашего сайта или пользовательская база.
Обычно важнее отслеживать тенденции, чтобы убедиться, что ваши улучшения дают ожидаемые положительные результаты, чем добиваться точного совпадения каждого числа между двумя источниками данных. Как упоминалось ранее, RUM позволяет просматривать разные временные интервалы, чтобы заранее узнать, какими будут ваши 28-дневные оценки CrUX. Однако слишком короткие временные интервалы могут привести к зашумлению данных, поэтому в CrUX используется 28 дней.
Часто у этих показателей нет "правильного" или "неправильного" значения – они просто позволяют по-разному взглянуть на пользователей и их взаимодействие с вашим сайтом. Главное – понимать, почему возникают эти различия и как они могут повлиять на ваши решения. Это поможет вам лучше обслуживать посетителей сайта.