Core Web Vitals, Explained Without the Jargon
Core Web Vitals show up in every SEO tool, every PageSpeed report, and every conversation about site performance, but the actual metrics (LCP, INP, CLS) rarely get explained in a way that connects to what a visitor actually experiences. Here’s what each one really measures, in plain terms, and why it matters beyond the score.
A Core Web Vitals score isn’t a grade on your site’s report card. It’s a proxy for three specific moments where a visitor either stays or leaves.
Primo Collab
LCP: how long until the main thing shows up
Largest Contentful Paint measures how long it takes for the biggest visible element on the page, usually a hero image, headline, or main content block, to fully render. It’s not about the whole page loading, it’s about the moment a visitor sees the thing they actually came for.
In practice: if your homepage’s hero image takes 4 seconds to appear, visitors are staring at a mostly blank page for those 4 seconds, even if the rest of the page technically “loaded” faster. Good LCP is under 2.5 seconds.
What usually causes a bad LCP score: unoptimized images (especially a large hero image), slow server response time, or render-blocking CSS and JavaScript that delays the main content from painting.
INP: how responsive the page feels when you actually use it
Interaction to Next Paint measures the delay between a visitor clicking, tapping, or typing something, and the page visibly responding. This is the metric that explains why a site can “load fast” but still feel sluggish and frustrating to actually use. A slow LCP is about arrival, a slow INP is about everything after.
In practice: if someone clicks “Add to Cart” and the button takes a full second to visibly react, that’s a bad INP moment, even if the page loaded quickly overall. Good INP is under 200 milliseconds.
What usually causes a bad INP score: heavy JavaScript execution blocking the browser’s main thread, too many third-party scripts (chat widgets, analytics, ad trackers) all competing for processing time, or complex interactions that trigger large re-renders.
CLS: does the page jump around while you’re using it
Cumulative Layout Shift measures unexpected movement of page elements while content is still loading. It’s the metric behind the frustrating experience of trying to tap a button and having an ad or image load in above it at the last second, shifting everything down and making you tap the wrong thing.
In practice: if a visitor starts reading an article and an ad banner loads in above the text, pushing everything down mid-read, that’s a CLS problem, and on mobile especially, it also causes mis-taps that can accidentally trigger unwanted clicks. Good CLS is under 0.1.
What usually causes a bad CLS score: images or ads without reserved space (dimensions not set ahead of time), web fonts that load in and shift text, or content injected dynamically above existing content.
Why these three specifically

Google chose these three because they map to distinct, real moments in a visitor’s experience: does the page arrive (LCP), does it respond when I interact with it (INP), and does it stay stable while I use it (CLS). A site can score well on one and poorly on another, which is why a single overall “PageSpeed score” can be misleading without looking at the three vitals underneath it.
The three vitals at a glance

| Metric | What it measures | Good threshold | What it feels like when it’s bad |
|---|---|---|---|
| LCP | Time until main content appears | Under 2.5s | Staring at a blank or partial page |
| INP | Delay between action and response | Under 200ms | Clicks and taps feel laggy or unresponsive |
| CLS | Unexpected content movement | Under 0.1 | Page jumps, mis-taps, hard to read |
The mistake to avoid
Chasing a single overall performance score without understanding which of the three vitals is actually failing leads to fixing the wrong thing. A site with a bad LCP needs image and server optimization; a site with a bad INP needs JavaScript and third-party script cleanup. They’re different problems with different fixes, treating them as one generic “speed issue” wastes effort on the wrong lever.
