How to Read the Core Web Vitals Report in GSC
Master Google Search Console's Core Web Vitals report in 10 minutes. Find bottlenecks, prioritize fixes, and improve rankings. Step-by-step guide for founders.
Why Your Core Web Vitals Report Matters
You shipped. Traffic is coming. But Google's crawling your site and seeing slow pages, layout shifts, and interaction delays. That's where the Core Web Vitals report in Google Search Console comes in—and most founders don't read it correctly.
The Core Web Vitals report isn't just a performance dashboard. It's a roadmap to organic visibility. Google uses these metrics as ranking signals. Pages that fail Core Web Vitals don't rank as well as pages that pass, especially in competitive niches. This means the data sitting in your GSC account right now is telling you exactly which pages are costing you search traffic.
The brutal truth: if you're not reading this report, you're shipping blind on one of the three ranking factors that actually moves the needle.
This guide walks you through the Core Web Vitals report step-by-step, shows you how to spot the issues that matter, and tells you which fixes to ship first. You'll spend 10 minutes here and gain clarity on why your pages rank the way they do.
Prerequisites: What You Need Before You Start
Before you open the Core Web Vitals report, make sure you have:
Google Search Console access. You need to own or manage the property. If you haven't set up GSC yet, follow this 10-minute setup guide to get your property verified and indexed.
At least 28 days of data. Google needs roughly a month to collect enough field data from real users to populate the Core Web Vitals report. If you're brand new, you'll see "Not enough data" for a few weeks. That's normal. Keep shipping.
Chrome DevTools or the Web Vitals extension. You'll want to test individual pages yourself. The Web Vitals extension gives you real-time LCP, CLS, and INP scores while you're working. Install it now if you haven't already.
A basic understanding of the three metrics. Core Web Vitals measure three things: loading speed (LCP), visual stability (CLS), and interactivity (INP). We'll cover these in detail, but if you want to jump ahead, Google's official Core Web Vitals documentation has the technical specs.
Realistic expectations. This report shows field data from real users on your site. Lab data (like Lighthouse scores) can differ. Real users on slow networks, old phones, and bad connections will have worse scores than your personal testing. The report reflects reality.
Step 1: Locate the Core Web Vitals Report in GSC
Open Google Search Console and navigate to your property.
On the left sidebar, look for Enhancements. Click it. You'll see a dropdown menu with several options including "Core Web Vitals." Click that.
You're now in the Core Web Vitals report. The page loads with two tabs at the top: Mobile and Desktop. By default, you're looking at Mobile data first. This is intentional—Google prioritizes mobile indexing. Your mobile performance matters more than desktop for rankings.
If you have no data yet, you'll see "Not enough data" messages. This means Google hasn't collected enough field data from real users to generate a report. Wait another week or two and check back. You can't force this; it happens when enough users visit your site.
Step 2: Understand the Three Status Categories
The Core Web Vitals report organizes pages into three groups: Good, Needs Improvement, and Poor. This is the most important part to understand because it tells you which pages are actually hurting your rankings.
Good status means the page passes all three Core Web Vitals thresholds on real user data. These pages are ranking as well as they can from a Core Web Vitals perspective. Don't touch them unless you're optimizing for other ranking factors.
Needs Improvement means the page fails one or more metrics but isn't in the "Poor" category. These pages are on the edge. They might pass on desktop but fail on mobile, or they might have borderline LCP with acceptable CLS. These are your second-priority fixes—ship them after you handle the Poor pages.
Poor status means the page fails multiple metrics or fails them badly. These are your ranking killers. A page in Poor status is losing search visibility right now. If you have Poor pages, fix those first. Everything else waits.
According to Google's official guidance on Core Web Vitals, the thresholds are:
- LCP (Largest Contentful Paint): Good ≤ 2.5 seconds, Poor > 4 seconds
- CLS (Cumulative Layout Shift): Good ≤ 0.1, Poor > 0.25
- INP (Interaction to Next Paint): Good ≤ 200 milliseconds, Poor > 500 milliseconds
Memo this. These numbers are the difference between ranking and invisible.
Step 3: Read the Summary Cards at the Top
At the very top of the Core Web Vitals report, you see three large cards showing overall status across your entire site:
- LCP (Largest Contentful Paint) - measures loading speed
- CLS (Cumulative Layout Shift) - measures visual stability
- INP (Interaction to Next Paint) - measures responsiveness
Each card shows a percentage. For example, you might see "72% Good" for LCP. That means 72% of your pages pass the LCP threshold on real user data.
These summary cards tell you which metric is your biggest bottleneck across the entire site. If LCP is 45% Good but CLS is 89% Good, your loading speed is the problem, not layout shifts. Focus there first.
Below each metric card, you see the number of affected URLs. "45 URLs" under LCP means 45 pages on your site have poor or needs-improvement LCP. That's your work queue.
Step 4: Drill Down Into Each Status Group
Scroll down and you'll see the pages grouped by status: Good, Needs Improvement, and Poor.
Start with Poor. This is your immediate action list. Click on any page in the Poor section to see which specific metrics are failing. The detail view shows:
- The URL
- Mobile and desktop breakdowns
- Which of the three metrics (LCP, CLS, INP) are failing
- The percentile of real users experiencing the problem
For example, you might see a page with Poor status because LCP is 5.2 seconds (above the 4-second Poor threshold) and CLS is 0.28 (above the 0.25 Poor threshold). Both metrics are failing. This page needs fixes to both loading speed and visual stability.
Next, look at Needs Improvement. These pages aren't ranking killers yet, but they're borderline. A page might show Good LCP but Poor CLS, landing it in Needs Improvement. These are your second wave of fixes.
Ignore Good pages for now. They're working. You can optimize them later if you want, but they're not costing you rankings.
Step 5: Identify the Root Causes (Lab Testing)
The GSC report shows you that a page is slow or unstable, but not always why. You need lab data to find the root cause. This is where you move from GSC to Chrome DevTools.
Take a Poor page from the report. Open it in Chrome. Press F12 to open DevTools. Click the Lighthouse tab. Click Analyze page load. Wait 60-90 seconds.
Lighthouse runs a synthetic test and gives you a performance score plus specific diagnostics. You'll see things like:
- "Reduce JavaScript execution time"
- "Defer offscreen images"
- "Eliminate render-blocking resources"
- "Avoid layout shift by setting explicit width and height"
These diagnostics are your fix list. Each one points to a specific problem on the page.
Alternatively, use Google's PageSpeed Insights tool and paste the URL. It shows both field data (from the Core Web Vitals report) and lab data (from Lighthouse) in one place. For a detailed walkthrough of PageSpeed Insights, check this step-by-step guide.
The key insight: GSC tells you which pages need help. Lighthouse and PageSpeed tell you what to fix.
Step 6: Compare Mobile vs. Desktop Performance
Switch between the Mobile and Desktop tabs at the top of the Core Web Vitals report. You'll often see different results.
Mobile is almost always worse than desktop. Users on phones have slower networks, older processors, and less RAM. A page that loads in 1.5 seconds on a desktop might take 4 seconds on a phone. This is expected.
But if mobile and desktop are wildly different (e.g., desktop is 90% Good but mobile is 20% Good), you have a mobile-specific problem. Common causes:
- Images not optimized for mobile
- JavaScript too heavy for mobile processors
- Mobile-specific ads or third-party scripts slowing things down
- Unoptimized fonts loading on mobile
Focus your fixes on mobile first. Mobile performance is the ranking signal.
Step 7: Check the Affected URLs and Patterns
Within each status group, you can click on individual metrics (LCP, CLS, INP) to see which URLs are affected.
Click on "LCP" under the Poor section. You now see only the pages failing LCP. Scan the list for patterns:
- Are they all blog posts? Fix the blog template.
- Are they all product pages? Investigate product page architecture.
- Are they all from a specific section of the site? The problem might be in that section's design or assets.
Patterns save you time. If 15 blog posts are failing LCP because images aren't optimized, fix the image optimization once in your blog template. All 15 pages improve immediately.
Look for these common patterns:
By page type: All product pages failing vs. all blog posts failing tells you where to focus.
By URL structure: All pages under /docs/ failing suggests a problem with that section's template or assets.
By metric: All pages failing CLS but passing LCP suggests a layout shift issue, not a speed issue. Different fix.
Step 8: Prioritize Your Fix List
You now have a list of Poor and Needs Improvement pages. You can't fix everything at once. Prioritize based on:
1. Impact on rankings. Poor pages cost you search visibility right now. Fix these first.
2. Number of affected pages. A template fix that improves 20 pages beats a fix that improves 1 page. Look for patterns.
3. Traffic value. If a Poor page gets 500 monthly organic visitors, it's worth fixing before a Poor page that gets 10 visitors. Check Google Analytics 4 to see which pages drive traffic.
4. Fix effort. Some fixes are quick (image optimization, removing render-blocking CSS). Others take longer (redesigning a page, rewriting JavaScript). Quick wins first.
Your priority list might look like:
- Fix LCP on the homepage (1 page, high traffic, medium effort)
- Optimize images on all product pages (20 pages, high traffic, low effort)
- Defer JavaScript on blog posts (50 pages, medium traffic, medium effort)
- Redesign footer on service pages (5 pages, low traffic, high effort)
Ship in that order.
Step 9: Understanding LCP (Largest Contentful Paint)
LCP measures loading speed. Specifically, it measures how long until the largest visual element on the page becomes visible to the user. That element might be an image, a heading, a video thumbnail, or a block of text.
If your hero image takes 5 seconds to load, LCP is 5 seconds. If your main heading renders in 1 second but your hero image takes 3 seconds, LCP is 3 seconds (the largest element).
LCP is the easiest metric to understand and often the easiest to fix. Common causes of slow LCP:
- Unoptimized images (too large, wrong format)
- Slow server response time
- Render-blocking JavaScript or CSS
- Third-party scripts (analytics, ads, chat widgets) loading before page content
- Poor hosting or server configuration
Fixes:
- Compress and optimize images (use WebP format, lazy load below-the-fold images)
- Upgrade hosting or use a CDN like Cloudflare for SEO
- Defer non-critical JavaScript
- Defer third-party scripts until after page load
- Minimize CSS
For a page with 5-second LCP, you can often get to 2.5 seconds (Good) by optimizing images and deferring third-party scripts. Ship that.
Step 10: Understanding CLS (Cumulative Layout Shift)
CLS measures visual stability. It's a score (0.0 to 1.0+) that represents how much the page layout shifts while the user is viewing it.
Imagine you're reading an article and suddenly the text jumps down because an ad loaded above it. That's a layout shift. CLS measures the total amount of shifting.
CLS is often the most confusing metric because it's not measured in seconds—it's a unitless score. But the threshold is simple: Good ≤ 0.1, Poor > 0.25.
Common causes of high CLS:
- Images or videos without explicit width/height attributes (browser doesn't know how much space to reserve)
- Ads or embeds loading and pushing content down
- Fonts loading and changing text size
- Animations or transitions that move content
- Lazy-loaded content that shifts the page
Fixes:
- Add width and height attributes to all images and videos
- Reserve space for ads and embeds (use a container with fixed dimensions)
- Use font-display: swap to prevent font-loading layout shifts
- Avoid animations that shift content (use transform instead of margin/padding changes)
- Lazy load images below the fold, not above
CLS is usually fixable with CSS and HTML changes. No JavaScript needed. This makes it one of the quickest wins.
Step 11: Understanding INP (Interaction to Next Paint)
INP measures responsiveness. It's the time between when a user clicks, taps, or presses a key and when the browser paints the next visual update in response.
If a user clicks a button and the page takes 400ms to respond, INP is 400ms. If it takes 50ms, INP is 50ms.
INP is the newest Core Web Vital (it replaced First Input Delay in 2024). It matters for pages with interactive elements: forms, buttons, dropdowns, filters, search boxes.
Common causes of high INP:
- Heavy JavaScript execution on the main thread
- Long tasks that block user interactions
- Slow event handlers (code that runs when the user clicks)
- Too much DOM manipulation
- Inefficient event listeners
Fixes:
- Break long JavaScript tasks into smaller chunks
- Use requestIdleCallback or Web Workers for heavy processing
- Optimize event handlers (debounce, throttle)
- Minimize DOM manipulation
- Consider moving heavy computation to the server
INP is harder to fix than LCP or CLS because it usually requires JavaScript optimization. But it matters most for pages with lots of interactive elements.
Step 12: Export and Track Over Time
The Core Web Vitals report updates roughly every 28 days with new field data. You can't see day-to-day changes—Google aggregates weeks of real user data.
But you can export the report and track trends over time. At the top right of the report, click the download icon (it looks like a downward arrow). Export the data as CSV.
Do this monthly. Put the data in a spreadsheet. Track:
- Total % Good for each metric
- Number of Poor URLs
- Number of Needs Improvement URLs
- Which specific pages improved or got worse
After you ship a fix, wait 4 weeks and check the report again. You should see improvement. If you don't, the fix didn't work or you didn't deploy it correctly. Investigate.
For a comprehensive overview of what metrics actually matter for tracking SEO progress, read this guide to SEO reporting basics.
Common Mistakes When Reading the Core Web Vitals Report
Mistake 1: Ignoring mobile data. Some founders focus only on desktop because their own testing is on a powerful computer. Ignore this instinct. Mobile is 60%+ of web traffic and the ranking signal. Read the Mobile tab first, always.
Mistake 2: Confusing field data with lab data. The GSC report shows field data (real users). Lighthouse shows lab data (synthetic testing). They don't always match. A page might have Good field LCP but Poor lab LCP if real users have fast networks. Trust the field data for rankings; use lab data to find root causes.
Mistake 3: Treating all Poor pages the same. A page with Poor LCP but Good CLS and INP is a different fix than a page with Poor CLS but Good LCP. Read the detail view. See which metrics are actually failing.
Mistake 4: Not looking for patterns. If 30 blog posts are failing LCP, don't fix them one by one. Fix the blog template. One fix, 30 pages improve.
Mistake 5: Chasing perfection. Good enough is good enough. A page with 2.4s LCP (Good) doesn't need to be 1.5s. Your time is better spent fixing Poor pages.
Connecting Core Web Vitals to Other SEO Signals
Core Web Vitals are one ranking factor. They're not the only one. But they're one of the few factors you can measure and improve directly.
Core Web Vitals work together with other signals:
Crawlability and indexing. If Google can't crawl or index your pages, Core Web Vitals don't matter. Use the URL Inspection tool to verify indexing.
Content quality and relevance. A fast page with bad content doesn't rank. Core Web Vitals help good content rank higher.
Backlinks and authority. A slow page with strong backlinks might rank better than a fast page with no backlinks. But if two pages are similar quality, the faster one wins.
Click-through rate (CTR). Fast pages have higher CTR in search results. Track CTR in the GSC Performance report to see if your Core Web Vitals improvements are driving more clicks.
The point: fix Core Web Vitals, but don't neglect other ranking factors. Ship a complete SEO foundation.
Tools to Help You Fix Core Web Vitals Issues
You don't need expensive tools. The free options are powerful:
Chrome DevTools (free). F12 → Lighthouse tab. Run audits on any page. Get specific diagnostics.
PageSpeed Insights (free). Google's official tool combines field data from GSC with lab data from Lighthouse.
Web Vitals Chrome Extension (free). Install this extension to see real-time Core Web Vitals scores while you're browsing.
Lighthouse CI (free). Automate Lighthouse audits in your CI/CD pipeline. Catch performance regressions before they ship.
WebPageTest (free). Advanced waterfall charts and filmstrips. See exactly what's loading and when.
You don't need Ahrefs, Semrush, or Surfer for Core Web Vitals. The free tools are sufficient.
Integrating Core Web Vitals Data Into Your SEO Workflow
Core Web Vitals should be part of your regular SEO process, not a one-time audit.
Weekly: Check GSC alerts for new Core Web Vitals issues. If a page drops from Good to Poor, investigate immediately.
Monthly: Export the Core Web Vitals report and compare to the previous month. Track trends. Celebrate improvements.
Before shipping: Run Lighthouse on any new page before it goes live. Fix issues before they affect real users.
After deploying fixes: Wait 4 weeks, then check if the page improved in the Core Web Vitals report. Adjust your approach if needed.
If you're setting up your full SEO foundation from scratch, use this free SEO tool stack checklist to make sure you have GSC, GA4, and all the pieces in place.
The Real Impact: Core Web Vitals and Organic Traffic
You might be wondering: does fixing Core Web Vitals actually move the needle on rankings and traffic?
Yes. The impact varies by niche and competition level, but research shows:
- Pages that improve from Poor to Good Core Web Vitals see measurable ranking improvements within 4-8 weeks
- Fast pages have higher CTR in search results (faster = more clicks)
- Core Web Vitals affect mobile rankings more than desktop rankings
- In competitive niches, Core Web Vitals can be the difference between page 1 and page 2
According to Google's official guidance, Core Web Vitals are a ranking factor alongside content quality, mobile-friendliness, and safe-browsing.
The best part: Core Web Vitals are in your control. You can't control backlinks or brand authority (yet), but you can control page speed, layout shifts, and interactivity. This makes them one of the highest-ROI SEO improvements you can ship.
Quick Reference: Core Web Vitals Thresholds
Pin this:
| Metric | Good | Needs Improvement | Poor |
|---|---|---|---|
| LCP | ≤ 2.5s | 2.5s - 4s | > 4s |
| CLS | ≤ 0.1 | 0.1 - 0.25 | > 0.25 |
| INP | ≤ 200ms | 200ms - 500ms | > 500ms |
A page passes Core Web Vitals if all three metrics are in the Good range.
Summary: What You Now Know
You've learned how to read the Core Web Vitals report in GSC and turn that data into actionable fixes. Here's what to do right now:
- Open GSC. Go to Enhancements → Core Web Vitals.
- Check mobile data first. Mobile rankings matter more.
- Find your Poor pages. These are your immediate priorities.
- Identify patterns. Are multiple pages failing the same metric? Fix the template.
- Use Lighthouse to find root causes. GSC tells you the problem; Lighthouse tells you why.
- Prioritize by impact. Fix high-traffic pages first, then look for template fixes that improve multiple pages.
- Ship fixes. Start with LCP (easiest), then CLS, then INP.
- Wait 4 weeks. The report updates with new field data. Check if your fixes worked.
- Track over time. Export monthly and watch the trend.
- Keep shipping. Core Web Vitals are one ranking factor. Don't neglect content, backlinks, and other SEO fundamentals.
You now understand what the Core Web Vitals report is telling you. The pages in Poor status are costing you search visibility right now. The pages in Needs Improvement are on the edge. Your job is to ship fixes that move pages from Poor to Good, and from Needs Improvement to Good.
This is concrete, measurable SEO work. You can see the data, understand the problem, and ship a fix. No guessing. No agency-speak. Just results.
Start with your Poor pages today. You have the roadmap.
Get the next one on Sunday.
One short email a week. What is working in SEO right now. Unsubscribe in one click.
Subscribe on Substack →