The five-year trend

The Web Almanac's performance chapter reports the share of websites with good overall Core Web Vitals by device. Mobile moved from 44% in 2024 to 48% in 2025, a gain of four percentage points. Desktop moved from 55% to 56%, a one-point gain. The gap narrowed from 11 to eight percentage points, but fewer than half of measured mobile sites met the good threshold in 2025.

The chart reproduces the published percentages. Each bar uses the same 0–100% scale, and the value is printed beside it so the comparison works without color. These are shares of measured websites, not shares of visits or customers.

Websites with good overall Core Web Vitals, 2021–2025
YearMobileDesktop
202132%41%
202231%44%
202336%48%
202444%55%
202548%56%

Scale: 0–100%

Percent of websites with good overall Core Web Vitals. The responsiveness metric changed from FID to INP in 2024, so read the earlier years as context rather than a perfectly consistent series.

Data: 2025 Web Almanac, Performance, Figure 7.1

What counts as good?

Core Web Vitals describe three parts of a page experience: how soon the main content appears (Largest Contentful Paint, or LCP), how quickly the page responds to interactions (Interaction to Next Paint, or INP), and how much the layout unexpectedly moves (Cumulative Layout Shift, or CLS). The good thresholds are LCP at or below 2.5 seconds, INP at or below 200 milliseconds, and CLS at or below 0.1, assessed at the 75th percentile of visits.

An overall pass requires good results across the applicable metrics. That makes the overall percentage more demanding than any single metric's pass rate. It also means a page can feel fast on a developer's laptop while real visitors on other devices or networks have a different experience.

Sources: web.dev: Web Vitals thresholds and assessment

What this dataset can and cannot say

The Web Almanac combines HTTP Archive's controlled page-load measurements with real-user data from the Chrome UX Report (CrUX). Its primary 2025 analysis uses July 2025 data. The chart above is based on CrUX's device-level website results, chiefly at the origin level. It is a broad view of eligible sites, not a census of every website or a measurement of this site's visitors.

CrUX includes eligible Chrome experiences for publicly discoverable pages and origins with sufficient traffic. A small or new site may have no public CrUX result. The overall Core Web Vitals definition also changed when INP replaced First Input Delay (FID) in March 2024. Do not read the 2021–2025 slope as a clean estimate of improvement caused by website optimization alone.

The 2025 mobile and desktop figures are comparable descriptions of the measured populations. They do not show that performance caused a specific change in sales, search traffic, or conversion rate. Other differences in users, devices, content, and acquisition mix matter.

Sources: 2025 Web Almanac: methodology · Chrome UX Report: eligibility and methodology · web.dev: INP replaced FID

The useful question for a marketing team

Ask whether the landing pages receiving your mobile campaign traffic pass Core Web Vitals for your actual visitors. Review field data by page and device in PageSpeed Insights or Search Console, then check LCP, INP, and CLS separately. Where public field data is unavailable, collect your own real-user measurements and label the coverage clearly.

Prioritize a page when three things align: a meaningful share of valuable traffic uses it, its visitor experience is poor, and there is a plausible fix. For example, a slow LCP on a mobile paid landing page might point to an oversized hero image, delayed image discovery, or render-blocking resources. Inspect the page before choosing a remedy; the global 48% figure cannot diagnose it.

After a change, compare the same page and device segment over a stable window. Track a business outcome such as qualified form completion alongside the field metric, while checking campaign mix and tracking changes. If the decision is large, an experiment is stronger evidence than a before-and-after chart.

Sources: Chrome UX Report: tools and their data windows

A reporting template you can reuse

A short performance note can say: ‘Among eligible mobile Chrome experiences on our main campaign page, the 75th-percentile LCP was [value] over [window]. The page received [share] of qualified mobile campaign sessions. We changed [specific element] on [date], and will review LCP and qualified form completion after [window].’ Replace every bracket with your own measured value and definition.

Keep the denominator and source next to the chart. Report percentage-point changes when comparing pass rates, state the collection window, and separate a sitewide origin result from a page result. If one number is missing, say so. A transparent gap is more useful than a precise-looking estimate built from incompatible data.