Core Web Vitals are the three metrics Google uses to measure your users' real-world experience: LCP (how fast the main content loads), INP (how responsive the page is to interactions), and CLS (how stable the layout stays). A page passes when, in real user data, LCP is ≤ 2.5s, INP is ≤ 200ms, and CLS is ≤ 0.1. This guide explains what each metric measures, how to measure them, and—most importantly—how to improve them step by step.
What Are Core Web Vitals
Core Web Vitals are a set of three indicators Google uses to quantify the experience someone has when using your page. Instead of measuring abstract technical details, they capture three concrete user feelings: did what I came to see load quickly?, did the page respond when I interacted?, and did the content stay still or jump around while I was reading?
They are part of Google's page experience signals within its ranking system. According to official Google Search Central documentation, delivering a good page experience contributes to search success—though relevant, high-quality content still comes first. In practice, Core Web Vitals act as a tiebreaker: when two pages have equivalent content, the one with better experience starts with an advantage.
These metrics aren't static—they evolve as the web improves. The most important recent change came on March 12, 2024, when INP (Interaction to Next Paint) officially replaced FID (First Input Delay) as the responsiveness metric. If you're reading older guides that mention FID, that information is already outdated.
The 3 Metrics: LCP, INP, and CLS
Each Core Web Vital measures a different dimension of experience. These are the official "good" thresholds Google uses, evaluated at the 75th percentile of visits, separately on mobile and desktop:
LCP — Largest Contentful Paint (loading)
LCP measures how long it takes for the largest visible content element on screen to render—usually the hero image, a video, or a large text block. It's the metric that best answers "when does the user feel the page has loaded?". An LCP of 2.5 seconds or less is considered good; between 2.5 and 4 seconds needs improvement; above 4 seconds is poor.
INP — Interaction to Next Paint (interactivity)
INP measures page responsiveness: how long from when a user interacts (a click, tap, or keypress) until the screen updates visually. Unlike its predecessor FID, which only measured the first interaction, INP accounts for all interactions in a visit and reports the worst one—offering a much more realistic picture. An INP of 200 milliseconds or less is good; up to 500ms needs improvement; above that is poor.
CLS — Cumulative Layout Shift (stability)
CLS measures how much content moves unexpectedly while the page loads—that frustration of going to tap a button and, at the last moment, a banner loads and pushes everything down so you tap something else. It's a unitless score: 0.1 or less is good, up to 0.25 needs improvement, and above that is poor.
| Metric | What It Measures | Good | Needs Improvement | Poor |
|---|---|---|---|---|
| LCP | Load speed | ≤ 2.5s | 2.5 – 4s | > 4s |
| INP | Responsiveness | ≤ 200ms | 200 – 500ms | > 500ms |
| CLS | Visual stability | ≤ 0.1 | 0.1 – 0.25 | > 0.25 |
How to Measure Core Web Vitals
Before optimizing anything, you need to know where you stand. And here's a critical distinction that confuses many people: the difference between lab data and field data.
Field data vs. lab data
Lab data is generated in a simulated, controlled environment (a predefined device and connection). It's perfect for debugging during development because it's reproducible. Field data (also called RUM, Real User Monitoring) comes from real user visits with all kinds of devices and connections, collected in the Chrome UX Report (CrUX).
Tools you should use
- PageSpeed Insights: the most practical tool. It shows field data (if your page has enough CrUX traffic) and lab data on the same screen, with concrete diagnostics. It's the starting point for measuring Core Web Vitals on any URL.
- Search Console Core Web Vitals report: groups all your site URLs by status (good, needs improvement, poor) using field data. Ideal for seeing problems at site scale, not just one page.
- Lighthouse / DevTools: built into Chrome, perfect for lab data and reproducing a specific issue.
- Chrome Web Vitals extension: shows LCP, INP, and CLS in real time as you browse your own site.
A healthy workflow combines both views: use the Search Console report to detect which templates or sections fail, and PageSpeed Insights or Lighthouse to diagnose why on a specific URL.
How to Improve Each Metric (Step by Step)
Improving Core Web Vitals isn't one magic fix—it's the sum of several optimizations. The good news is each metric has a well-identified set of common causes. Here's the action plan ordered by impact.
-
1
Measure your starting point
Open PageSpeed Insights and the Search Console report and note your field values for LCP, INP, and CLS on mobile and desktop. Don't optimize blind: prioritize the metric in the red and the template (home, product, blog) that affects the most URLs.
-
2
Improve LCP (load speed)
Optimize and compress the hero image, serve it in a modern format (WebP or AVIF), and apply
<link rel="preload">to the LCP resource. Reduce server response time (TTFB) with good hosting and a CDN, and eliminate render-blocking CSS and JavaScript. -
3
Improve INP (responsiveness)
INP is almost always fixed by controlling JavaScript. Reduce and defer non-essential scripts, break long tasks into smaller chunks so they don't block the main thread, and audit third-party scripts (chats, pixels, widgets)—they're usually the main culprits behind poor interactivity.
-
4
Improve CLS (visual stability)
Always set
widthandheightattributes (oraspect-ratioin CSS) on images, videos, and iframes so the browser reserves space. Reserve room for ads and embeds before they load, avoid inserting content above existing content, and usefont-display: optional/swapso font swaps don't cause layout jumps. -
5
Re-measure and monitor
After applying changes, measure again. Be patient: the Chrome UX Report uses a 28-day rolling window, so field data improvements take weeks to fully reflect. Make Search Console monitoring a monthly habit.
width and height on all your images. It's a low-effort change that often eliminates most CLS at once.
"Don't optimize for the tool—optimize for the user. If the real experience improves, field numbers will follow."
Common Mistakes That Ruin Your Metrics
Most sites that fail Core Web Vitals repeat the same mistakes. Review these before you start optimizing:
- Images without declared dimensions: the number one cause of high CLS. Without
widthandheight, the browser doesn't reserve space and content jumps on load. - Too much third-party JavaScript: chats, maps, tracking pixels, and widgets that block the main thread and spike INP.
- Heavy, uncompressed hero images: the direct enemy of LCP. A 2MB PNG where a 150KB WebP would do.
- Poorly loaded web fonts: causing FOIT/FOUT and layout shifts that worsen CLS.
- Optimizing only with lab data: celebrating a Lighthouse 100 while real users on modest phones still fail in the field.
Why They Matter for SEO and Business
Core Web Vitals are a ranking factor, but keep expectations realistic—they won't carry mediocre content to the top of Google. Their role is as a tiebreaker and multiplier. When two pages have similar relevance and authority, the faster, more stable one wins positions. And a site that loads quickly amplifies everything else you do in marketing.
The most underestimated impact is on business. A slow or unstable page doesn't just rank worse—it converts worse. Every second of wait and every layout shift increases abandonment. That's why technical performance is the foundation for any acquisition strategy—we connect it to conversion in our guide on ecommerce customer retention and to ad ROI in our guide on scaling Google Ads in ecommerce.
If you manage paid acquisition, speed also makes campaigns cheaper: landing page experience influences Google Ads Quality Score, as we explain in our unified SEO and PPC strategy guide.
In short: optimizing Core Web Vitals isn't an isolated technical checklist task. It's an investment that simultaneously improves rankings, conversion rate, and advertising ROI.
Ready to Pass Your Core Web Vitals?
Download the step-by-step checklist to diagnose and improve LCP, INP, and CLS on your site—with tools and checks prioritized by impact.
Download the Free Checklist →Frequently Asked Questions
What are Core Web Vitals?
They are a set of three metrics Google uses to measure real user experience on a page: LCP (main content load speed), INP (responsiveness to interactions), and CLS (visual stability). They are part of page experience signals and are a Google ranking factor.
What are the ideal values for LCP, INP, and CLS?
The official "good" thresholds are: LCP ≤ 2.5 seconds, INP ≤ 200 milliseconds, and CLS ≤ 0.1. Google evaluates them at the 75th percentile of visits, separately on mobile and desktop—so one good measurement isn't enough.
Do Core Web Vitals affect Google rankings?
Yes. They are part of page experience signals and a ranking factor—though not the most important one: relevance and content quality matter more. They act as a tiebreaker between similar pages, and a fast, stable site also improves conversion and reduces bounce rate.
Did INP replace FID?
Yes. On March 12, 2024, INP (Interaction to Next Paint) officially replaced FID (First Input Delay) as the responsiveness metric. FID only measured the first interaction; INP evaluates all interactions in a visit, offering a more faithful picture of real experience.
What's the difference between lab data and field data?
Lab data comes from a simulated environment (e.g., Lighthouse) and is useful for debugging during development. Field data comes from real visits collected in the Chrome UX Report and is what Google uses to evaluate Core Web Vitals. For SEO decisions, follow field data.
Sources
- Google / web.dev — Web Vitals (metric definitions and thresholds).
- Google / web.dev — How the Core Web Vitals metrics thresholds were defined (75th percentile and categories).
- web.dev — Interaction to Next Paint becomes a Core Web Vital on March 12 (INP replaces FID).
- Google Search Central — Introducing INP to Core Web Vitals.
- Google Search Central — Understanding Core Web Vitals and Google search results (ranking factor).
- Search Console Help — Core Web Vitals report (field data and 28-day window).