Quantifying User Experience with Core Web Vitals

Long-term success on the web depends on delivering a high-quality user experience. Whether you are a business owner, marketer, or developer, quantifying the experience your site provides is the first step toward improving it. Web Vitals is Google's initiative to standardize the quality signals that matter most, offering a unified set of guidance that simplifies the often-complex landscape of performance metrics. The goal is to allow site owners to focus on the metrics that most directly affect their users, without needing to become performance experts.

The initiative centers on the Core Web Vitals, a subset of metrics that apply to all web pages and are surfaced across Google's suite of tools. These metrics are designed to be measurable in the field and to reflect real-world, user-centric outcomes. The current set targets three distinct facets of the experience: loading, interactivity, and visual stability.

The Three Core Metrics

The Core Web Vitals currently include these three metrics, each with a recommended threshold for a good user experience:

  • Largest Contentful Paint (LCP): This measures loading performance. To provide a good user experience, LCP should occur within 2.5 seconds of when the page first starts loading.
  • Interaction to Next Paint (INP): This measures interactivity. To provide a good user experience, pages should have an INP of 200 milliseconds or less.
  • Cumulative Layout Shift (CLS): This measures visual stability. To provide a good user experience, pages should maintain a CLS of 0.1 or less.

To ensure your site meets these targets for the vast majority of your audience, you should measure the 75th percentile of page loads, segmented by mobile and desktop devices. A page passes an assessment of Core Web Vitals compliance if it meets all three targets at that percentile.

Metric Lifecycle

Metrics on the path to becoming a Core Web Vital move through a lifecycle with three phases:

  • Experimental metrics are prospective Core Web Vitals that may still see significant changes based on testing and community feedback.
  • Pending metrics are future Core Web Vitals that have passed the testing and feedback stage and have a defined timeline to become stable.
  • Stable metrics are the current set of Core Web Vitals that Chrome considers essential for great user experiences.

The experimental phase exists to assess a metric's fitness and address issues that previous metrics may have missed. For instance, INP was initially developed experimentally to cover runtime performance issues more comprehensively than its predecessor, First Input Delay (FID). Once a metric has proven its efficacy and received sufficient feedback, it moves to the pending phase, where it remains for at least six months to give the ecosystem time to adapt. When finalized, a metric becomes stable and can be included in official assessments as a Core Web Vital.

Currently, LCP, CLS, and INP are all stable. Stable metrics are actively supported and may only have their definitions changed once per year, with any changes clearly communicated in official documentation and changelogs.

Measuring Your Scores

There are several ways to assess your Core Web Vitals, depending on whether you need real-world data or lab-based testing during development.

Field tools collect data from real users. The Chrome User Experience Report (CrUX) gathers anonymized, real-user measurement data for each Core Web Vital, powering tools like PageSpeed Insights and Search Console's Core Web Vitals report. This is a quick way to assess site health without manual instrumenting, but it lacks the detailed, per-pageview telemetry necessary to diagnose regressions quickly. For that granular look, it's strongly recommended to set up your own real-user monitoring (RUM).

JavaScript measurement can be done directly via standard web APIs or by using the web-vitals JavaScript library. This small, production-ready wrapper is the easiest way to measure all metrics accurately, matching how they are reported in Google's tools. With this library, measuring a single metric requires one function call. After setting this up to send data to your analytics endpoint, you can aggregate it to see if your pages meet the recommended thresholds for at least 75% of visits. For those who prefer the underlying APIs, dedicated guides exist for measuring LCP, INP, and CLS directly.

Lab tools are essential for testing features during development and catching regressions before they reach users. While many of the Core Web Vitals can be measured in a lab, lab results are not a substitute for field data. Real-world performance varies based on a user's device, network, and interaction, and only field measurement captures the complete picture.

Supplementary Web Vitals

Beyond the core set, there are other Web Vitals that act as supporting metrics. These are useful for capturing a larger part of the experience or diagnosing specifics. For instance, a lab metric like Total Blocking Time (TBT) is vital for catching and diagnosing interactivity issues that could impact INP. Similarly, Time to First Byte (TTFB) and First Contentful Paint (FCP) are useful in diagnosing LCP issues related to server response times or render-blocking resources. These metrics are not part of the Core set because they are not field-measurable or do not reflect a user-centric outcome, but they remain vital for most effective performance optimization.

What to Expect From Web Vitals Updates

Web Vitals and Core Web Vitals are the strongest signals currently available for measuring user experience on the web. However, they are not flawless, and developers should anticipate refinements and potential new metrics over time.

The Core Web Vitals apply universally across all web pages and are surfaced in key Google tools. Because changes to these metrics have broad implications, their definitions and thresholds are designed to remain stable. Any updates will follow a predictable, annual cadence with ample advance notice.

The broader set of Web Vitals is frequently tailored to specific contexts or tools and can be more experimental than the Core Web Vitals. Consequently, their definitions and thresholds are subject to more frequent changes. All adjustments to any Web Vitals metrics will be logged in the public CHANGELOG.