Google's field-data metrics for loading, interactivity and visual stability.
Core Web Vitals are three metrics Google uses to measure real-world page experience: Largest Contentful Paint (LCP), Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS). LCP tracks how quickly the main content renders, INP measures how responsive the page feels across all interactions, and CLS measures how much the layout jumps around while loading.
They are a lightweight ranking signal, but their bigger value is as a shared, measurable definition of a fast, stable page. The scores that matter come from field data (real Chrome users in the CrUX dataset), not lab tools like Lighthouse, which only approximate them.
Each metric has a good/needs-improvement/poor threshold, assessed at the 75th percentile of your real users. A page passes only if all three are in the good range.
The most common error is optimising for the Lighthouse lab score and ignoring the field data in Search Console, which is what Google actually uses. INP problems are usually caused by heavy JavaScript blocking the main thread on interaction, and CLS is usually images or ads without reserved space, or fonts that reflow text.
Core Web Vitals turned "site speed" from a vague aspiration into three numbers a whole team can agree on and be measured against. For SEO they are a genuine (if minor) ranking input inside the page-experience signals, but their real leverage is commercial: LCP, INP and CLS map directly to bounce, conversion and revenue. Amazon and others have repeatedly shown that hundreds of milliseconds of extra load time measurably drop conversion, so passing CWV is usually justified by the funnel long before it is justified by rankings.
The three metrics have different root causes, so they are fixed differently. LCP is about how fast the largest above-the-fold element (usually a hero image or heading) renders; INP is about main-thread responsiveness during interaction; CLS is about reserving space so nothing jumps. Chasing the Lighthouse lab number is the classic trap — Google ranks on the 75th-percentile field data in the CrUX dataset (surfaced in Search Console), so that is the number to move.
Take a typical product page failing LCP at 4.1 seconds. Inspection shows the largest element is a hero image loaded by JavaScript after a large render-blocking CSS bundle. The fix sequence is: serve the hero as a plain `<img>` with `fetchpriority="high"` and a preload hint so the browser fetches it immediately; split and defer the non-critical CSS so it stops blocking the first render; and move the page behind a CDN so bytes travel less distance. LCP drops to 2.2 seconds. INP is then addressed separately by breaking a 300ms sorting script into smaller chunks with `requestIdleCallback`, and CLS by setting explicit dimensions on the image and the ad slot. The lesson is that each of the three metrics has a distinct root cause and a distinct fix — you cannot treat 'Core Web Vitals' as one problem, and you verify every change against Search Console field data, not the Lighthouse lab score.
Part of our defined terms knowledge graph — browse every entry in this branch.
How many pages a search engine will crawl on your site, and how often.
Whether a page is stored in a search engine’s index and eligible to rank.
The average amount you pay each time someone clicks your ad.
A structured process for increasing the share of visitors who convert.
The share of people who click after seeing your ad or search result.
Common questions
Straight answers on how this fits your marketing and build.
Still have questions? Talk to a specialist