Core Web Vitals explained
Three metrics, one of which usually matters on your site and two of which usually don't. Knowing which is which saves a great deal of development budget.
Last updated
Quick answer
Core Web Vitals are three measures of real users' experience on a page: Largest Contentful Paint (loading, good at 2.5 seconds or less), Interaction to Next Paint (responsiveness, good at 200 milliseconds or less) and Cumulative Layout Shift (visual stability, good at 0.1 or less). A page passes when at least 75% of visits meet each threshold. Google uses them in ranking, but relevance comes first.
Key takeaways
- INP replaced First Input Delay as a Core Web Vital on 12 March 2024.
- Pass or fail is decided by field data from real users, not by a Lighthouse score.
- Lighthouse can't measure INP, because there's no real user input in a lab test.
- Test the templates that carry traffic, not the homepage.
The three metrics and their thresholds
| Metric | What it measures | Good | Needs improvement | Poor |
|---|---|---|---|---|
| Largest Contentful Paint (LCP) | How long until the main content appears | 2.5 s or less | 2.5 to 4.0 s | Over 4.0 s |
| Interaction to Next Paint (INP) | How quickly the page responds to taps, clicks and key presses | 200 ms or less | 200 to 500 ms | Over 500 ms |
| Cumulative Layout Shift (CLS) | How much the layout moves unexpectedly | 0.1 or less | 0.1 to 0.25 | Over 0.25 |
Thresholds from web.dev's pages on LCP, INP and CLS. INP replaced First Input Delay as a Core Web Vital on 12 March 2024.
What each metric actually measures
- LCP is the time until the largest image or text block in the viewport renders, usually the hero image or headline.
- INP looks at clicks, taps and key presses through the whole visit, and reports the longest, ignoring outliers. Hovering and scrolling don't count.
- CLS adds up unexpected layout shifts. A shift the user expects, such as content opening after they tap a button, isn't the problem.
How a page passes
Google measures each metric at the 75th percentile of page loads, separately for mobile and desktop. In practice, three out of four visits need to meet the good threshold, and a page group's status is set by its worst metric.
Field data versus lab data
Core Web Vitals are field metrics first: they come from real Chrome users through the Chrome UX Report. Lab tools simulate a single load on a set device, which is useful for debugging but isn't what Google assesses.
| Tool | Data type | Measures INP? |
|---|---|---|
| Search Console Core Web Vitals report | Field (Chrome UX Report) | Yes |
| PageSpeed Insights, top section | Field, when enough data exists | Yes |
| PageSpeed Insights, lower section and Lighthouse | Lab | No: there is no user input in a lab test |
That is why a page can score 100 in Lighthouse and still fail in Search Console: the lab test ran on a fast simulated load, while real visitors on slower phones and connections had a worse time.
Reading the Search Console report
The Core Web Vitals report uses Chrome UX Report data and groups URLs that offer a similar experience, which usually means pages built on the same template. A group takes the slowest status of its metrics. After you fix an issue, validation runs a 28-day monitoring session before the status changes.
If a site doesn't get enough Chrome traffic, the report may show little or no data. That isn't a problem in itself; use PageSpeed Insights' lab results to debug instead.
Test the templates that carry traffic
Speed is measured per page, so test the pages people actually land on: a category page, a product page, a service page and a blog post, not only the homepage. The URL groups in Search Console do this for you, which is why they're more useful than testing pages one at a time.
Which metric to fix first
| Type of site | Metric most likely to fail | Usual cause |
|---|---|---|
| Brochure or service site | LCP | Large hero image, slow hosting or render-blocking fonts |
| Online store | LCP, then INP | Product images, plus apps and scripts on every page |
| Content site with ads | CLS | Ads and embeds loading without reserved space |
| JavaScript-heavy web app | INP | Long tasks on the main thread |
Fixes, in the usual order of payoff: serve the main image at the right size and in a modern format, and don't lazy-load it; reduce third-party scripts; reserve space for images, ads and embeds so the layout doesn't jump; then work on JavaScript.
How much Core Web Vitals affect rankings
Google's page experience documentation says Core Web Vitals are used by its ranking systems, that it always seeks to show the most relevant content even if the page experience is sub-par, and that good results don't guarantee top rankings. It also says that trying to get a perfect score just for SEO reasons may not be the best use of your time.
So fix poor Core Web Vitals because slow pages lose visitors, and expect a ranking effect mainly where competing pages are otherwise equally relevant.
Common questions
What are the three Core Web Vitals?
Largest Contentful Paint (loading), Interaction to Next Paint (responsiveness) and Cumulative Layout Shift (visual stability).
What is a good Core Web Vitals score?
LCP of 2.5 seconds or less, INP of 200 milliseconds or less and CLS of 0.1 or less, for at least 75% of visits.
Are Core Web Vitals a ranking factor?
Google says they are used by its ranking systems, but that it shows the most relevant content even when page experience is sub-par. They matter most between otherwise similar pages.
Why does Lighthouse pass but Search Console fail?
Lighthouse is a single simulated lab test. Search Console uses real visitors' data at the 75th percentile, and Lighthouse can't measure INP at all.
What replaced First Input Delay?
Interaction to Next Paint (INP), which became a Core Web Vital on 12 March 2024.
Should I lazy-load images?
Below the fold, yes. Never the main image at the top of the page: lazy-loading it is one of the most common causes of a slow LCP.
Why is there no Core Web Vitals data for my site?
The report relies on real Chrome users, so sites with little traffic may not have enough data. Use PageSpeed Insights' lab results to debug.
Where to next
If you would rather have someone do this than read about it, the commercial page for this work is Technical SEO services.