What are Core Web Vitals?

Google's three field metrics — LCP, INP, CLS — that score real-user experience and feed into search ranking. Thresholds + how to measure.

What are Core Web Vitals?

Core Web Vitals (CWV) are three field-measured metrics that Google uses to score real-user experience on a web page: Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS). Each captures a different dimension of user experience: how fast the page feels, how responsive it is to input, and how stable the layout is as it loads. Since the 2021 Page Experience update, CWV are a confirmed Google search ranking signal — pages that hit good thresholds across all three are favored over pages that don't.

The metrics are measured from real Chrome users (the Chrome User Experience Report, or CrUX), not synthetic lab tools, which is why two pages with identical Lighthouse scores can have very different CWV values in production. CWV is the contract between what your code does and what real users on real networks actually feel.

The 3 Core Web Vitals metrics

Largest Contentful Paint (LCP)

LCP measures how long it takes for the largest visible content element (usually a hero image, large block of text, or video poster) to render in the viewport. It captures perceived load speed. Good: under 2.5 seconds. Needs improvement: 2.5–4.0 s. Poor: above 4.0 s. The 75th percentile across 28 days is what Google uses for ranking. Slow LCP usually points at unoptimized hero images, render-blocking JavaScript or CSS, or slow server response times.

Interaction to Next Paint (INP)

INP replaced First Input Delay (FID) as a Core Web Vital on March 12, 2024. INP measures the latency of all user interactions (clicks, taps, keypresses) across the entire page lifetime, then reports the worst (or near-worst, depending on traffic). Good: under 200 ms. Needs improvement: 200–500 ms. Poor: above 500 ms. Unlike FID — which only measured the first interaction — INP catches every moment when a user clicks something and waits for the page to respond. Heavy JavaScript handlers, long tasks blocking the main thread, and uncontrolled re-renders are the top causes of poor INP.

Cumulative Layout Shift (CLS)

CLS measures visual stability — how much the page jumps around as content loads. It's a unitless score from 0 (perfect, nothing moves) to 1+ (chaotic). Good: under 0.1. Needs improvement: 0.1–0.25. Poor: above 0.25. Common causes include images without explicit width/height attributes, web fonts swapping without size matching (FOUT), and ads or embeds being injected into the document flow without reserved space.

How Google uses Core Web Vitals for ranking

Since the Page Experience update, all three CWV metrics feed into Google's ranking algorithm as part of the broader Page Experience signal. To pass the Page Experience test, a URL must hit "Good" on all three metrics at the 75th percentile of real-user samples. Pages that pass get a small ranking boost relative to comparable pages that don't. Crucially, CWV is a tiebreaker, not a magic ranking lever — strong CWV won't outrank irrelevant content, but two pages with similar relevance + topical authority will see the one with better CWV win.

Mobile and desktop are scored separately. Most sites have worse CWV on mobile (slower CPU, slower networks), so mobile is usually the bottleneck for ranking improvements.

Lab vs field: why your Lighthouse score lies

Lighthouse, PageSpeed Insights' "Lab" tab, and similar tools simulate one device on a fast network and compute synthetic CWV. Real users come from thousands of devices, networks, and locations — and their CrUX-aggregated CWV is what Google uses for ranking. A Lighthouse score of 95 doesn't mean your CrUX CWV is good. Always check both: lab for diagnosis (what's slow, why), field for ranking impact (are real users having a good experience).

The fastest way to see your live CrUX values is the Core Web Vitals report in Google Search Console, which shows the 28-day field rollup per page group. PageSpeed Insights also surfaces field data when CrUX has enough samples for the URL.

Common causes of poor Core Web Vitals (and how to fix them)

Poor LCP is usually caused by: unoptimized hero images (use modern formats like AVIF or WebP, set explicit width/height, preload the LCP image), slow server response time / TTFB (cache, use a CDN, optimize the database query for the above-the-fold content), and render-blocking resources (defer non-critical CSS/JS, inline critical CSS).

Poor INP is usually caused by: long-running JavaScript on the main thread (break into smaller tasks, use scheduler.yield or setTimeout), heavy event handlers (debounce, move work off the main thread with web workers), and forced synchronous layout in interaction handlers (read DOM measurements first, batch writes after).

Poor CLS is usually caused by: images without explicit dimensions (always set width/height attributes or aspect-ratio CSS), late-loading web fonts causing FOUT (use font-display: optional or size-adjust), and dynamically injected ads/embeds (reserve space with min-height before content loads).

Why FID was retired and INP took its place

First Input Delay (FID) was the original interactivity metric. It measured the delay between the first click/tap and when the browser actually started processing the handler. The problem: FID only measured the first interaction, ignoring everything that happened after the page loaded. Real users click many things during a session, and most of the painful interactions happen mid-session, not at first click.

INP fixes this by measuring every interaction, then reporting the worst. The transition was officially March 12, 2024 — sites that ranked well on FID started seeing different numbers in CrUX as Google flipped the source metric. If you optimized only for FID before 2024, your CWV scores almost certainly got worse without anything else changing.

FAQ: Core Web Vitals

What are good Core Web Vitals scores in 2026?

LCP under 2.5 s, INP under 200 ms, CLS under 0.1 — measured at the 75th percentile of real-user data over 28 days. "Good" on all three is the threshold for passing the Page Experience signal in Google's ranking algorithm.

How long until CWV improvements show up in Search Console?

CrUX is a 28-day rolling window, so changes you ship today will fully appear in your CWV report after about 28 days. Expect partial improvement in the first week, full reflection by week four. Don't panic if your scores look worse for a few days after a deploy — the rolling window is still mostly the old data.

Do Core Web Vitals matter for SEO?

Yes — CWV is a confirmed Google ranking signal as part of the Page Experience update. The boost is small (think tiebreaker, not megaphone), but compounding across thousands of URLs it matters. More importantly, the same things that improve CWV (faster pages, less layout shift) also improve user satisfaction and reduce bounce rate.

What's the difference between lab and field CWV?

Lab: synthetic measurement on one device under controlled conditions (Lighthouse, PageSpeed Insights Lab tab). Useful for diagnosis. Field: real users in the wild, aggregated by Chrome (CrUX). What Google actually uses for ranking. Your lab score and field score can differ widely — always check both.

Can I have a high Lighthouse score and still fail Core Web Vitals?

Yes. Lighthouse simulates one device on one network. Real users span thousands of device tiers and connection speeds. A page that scores 95 in Lighthouse on a M1 MacBook can still have failing field LCP from users on mid-range Android phones in 4G regions. CrUX is the truth.

How can I monitor CWV continuously?

Three sources, used together: Google Search Console (28-day field rollup, per page group), PageSpeed Insights (per-URL lab + field), and a synthetic monitoring tool that runs Lighthouse audits from real browsers in real regions on a schedule. LoadFocus does the third — running scheduled Lighthouse audits from 25+ global regions to catch CWV regressions before they reach the 28-day CrUX window.

Does cached page load count for CWV?

Yes. CrUX measures every navigation in Chrome, including reloads and back-forward navigations. Bfcache hits — instant restores from history — are treated as new navigations with very fast load times, which generally helps your CWV averages. Optimizing for bfcache eligibility (no unload handlers, no Cache-Control: no-store) is one of the cheapest CWV wins.

How LoadFocus helps with Core Web Vitals

LoadFocus runs Lighthouse audits from 25+ AWS regions on a schedule, surfacing how CWV varies by geography and time of day. Where Google Search Console gives you the 28-day field rollup, LoadFocus tells you what's happening right now — and from where. Pair the synthetic monitoring with the LoadFocus website speed test for one-off deep-dive analysis when you ship a change. Sign up free at loadfocus.com/signup or run an instant test at loadfocus.com/website-speed-test.

How fast is your website?

Elevate its speed and SEO seamlessly with our Free Speed Test.

Free Website Speed Test

Analyze your website's load speed and improve its performance with our free page speed checker.

×