WEBDEVDec 3, 2025·10 min read

Vercel Speed Insights Vs PageSpeed Insights: Which Real-User Metrics Matter For SEO

Capconvert Engineering

Web Development Team

TL;DR

Vercel Speed Insights and PageSpeed Insights both report Core Web Vitals (LCP, INP, CLS) from real users but pull from different data sources and answer different questions, so SEO teams running both gain non-redundant signal. PageSpeed Insights surfaces Google's CrUX (Chrome User Experience Report) data which is the dataset Google uses for ranking decisions: the 75th-percentile values across 28 days of real Chrome users on Windows, macOS, and Android (Chrome only, not Safari or Firefox), filtered to origin or URL-level when sufficient sample size exists. Vercel Speed Insights is a first-party RUM (Real User Monitoring) tool integrated into the Vercel platform that captures your own real-user metrics across all browsers including Safari and Firefox, with per-route breakdowns and request-attribution data CrUX does not expose. The two tools sometimes disagree because: CrUX samples only Chrome browser users while Vercel captures all browsers (Safari users on iOS often have different performance characteristics), CrUX is 28-day aggregate while Vercel can be near-real-time, CrUX requires sufficient sample size before exposing URL-level data while Vercel always reports per-route, and the attribution and filtering methodologies differ in edge cases. For SEO ranking decisions PageSpeed Insights is authoritative because Google uses CrUX for ranking; the percentile cuts (LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1 are the 'Good' thresholds) determine whether the page passes Core Web Vitals. For engineering decisions about which pages to fix first, Vercel Speed Insights or another RUM tool (DataDog RUM, New Relic Browser, SpeedCurve) provides the per-route attribution and the cross-browser coverage needed for triage. The recommended workflow: monitor CrUX through PageSpeed Insights API or Search Console for the SEO-relevant view, run Vercel Speed Insights or equivalent RUM for ongoing engineering diagnostics, segment by device and connection speed, and triage fixes based on the intersection (pages failing CrUX with confirmed user-experience issues in RUM). Setup tradeoffs: PageSpeed Insights is free and requires no instrumentation; Vercel Speed Insights is included in Pro plans with usage-based pricing scaling with page views; both respect user privacy through anonymized aggregation.

Key Takeaways

  • -Google ranks based on CrUX, which is what PageSpeed Insights field data shows
  • -Vercel Speed Insights collects your own RUM data, which is finer-grained but not what Google sees
  • -The two tools sometimes disagree because of sampling, attribution, and filtering differences
  • -For SEO triage, PSI is authoritative. For dev workflow and per-route diagnosis, Vercel Speed Insights is better
  • -Run both. They answer different questions

Vercel Speed Insights and PageSpeed Insights both report Core Web Vitals (LCP, INP, CLS) from real users, but they pull from different data sources and answer different questions. PageSpeed Insights surfaces Google's own CrUX (Chrome User Experience Report) data, which is what Google uses for ranking decisions. Vercel Speed Insights is a first-party RUM tool that collects your own real-user metrics from your own pages.

For SEO teams, the practical question is which tool to act on when you have to pick. The short answer is: use PageSpeed Insights for ranking decisions and Google's view of your site, and use Vercel Speed Insights (or any first-party RUM) for engineering prioritization on which specific pages to fix. They are complementary, not redundant, and disagreement between them is informative rather than a bug.

This guide walks through what each measures, why the numbers can disagree, and which one to trust for each kind of decision. It is aimed at engineering and SEO teams working on content-heavy sites in 2026.

PageSpeed Insights (PSI) is Google's public-facing performance audit tool at pagespeed.web.dev. For any URL you paste in, PSI reports two distinct data layers:

  1. Lab data. A simulated Lighthouse run from a Google-hosted Chrome instance with a fixed CPU and network throttle. This is deterministic and shows what a "controlled environment" measurement looks like. Useful for catching regressions but not what Google uses to rank.
  2. Field data. Real-user measurements aggregated from Chrome users who opted into CrUX reporting. This is what Google calls "Page Experience" and what feeds into the Core Web Vitals ranking signal.

The field data is a 28-day p75 aggregation. If your p75 LCP is 2.6 seconds for the URL you tested, that means 75% of real-user samples for that URL over the last 28 days had an LCP of 2.6 seconds or better. The 75th percentile is the threshold Google uses to bucket pages as "good," "needs improvement," or "poor."

Vercel Speed Insights is a paid feature in Vercel projects (free tier exists with row limits). It works by injecting a small JavaScript snippet on your pages that captures Core Web Vitals plus additional Vercel-specific metrics, sends them to Vercel's analytics endpoint, and surfaces them in a dashboard.

The data Vercel collects is from every visitor (not just Chrome opt-ins) and includes route-level breakdowns, geographic segmentation, device-type filtering, and per-deployment comparisons. The aggregation window is configurable but typically 24 hours to 7 days.

The difference matters: PSI shows you what Google sees. Vercel Speed Insights shows you what is actually happening to your users.

CrUX (Chrome User Experience Report) is a public dataset Google maintains. Every time a Chrome user (on an "eligible" page with sufficient traffic) loads a page, Chrome optionally reports Core Web Vitals back to Google. Google aggregates this into a 28-day rolling window, segmented by URL, origin (whole-site), country, and device-type.

The "eligible" part has consequences:

  • The URL needs enough traffic to clear CrUX's privacy threshold (estimated around 1,000 unique visits per 28 days, though Google does not publish the exact number).
  • The user needs to be on Chrome (not Safari, Firefox, Edge, or mobile WebViews).
  • The user needs to have not opted out of usage statistics reporting.
  • The page needs to be publicly accessible (no auth-walled URLs).

For low-traffic URLs (most of the long tail), CrUX has no data. PSI will show "Insufficient data" or fall back to origin-level (whole-site) metrics instead of URL-level.

Vercel Speed Insights has none of these constraints. It captures every visitor on every page, regardless of browser, traffic level, or privacy settings (subject to your cookie consent setup). The result is dense data even for low-traffic pages, which is what you need to debug a specific landing page that does not have enough traffic for CrUX visibility.

The trade-off is that Vercel's view is not the same view Google uses. Your Speed Insights LCP can be 1.8 seconds while CrUX shows 2.6 seconds for the same URL. The difference is real and usually traceable to:

  1. Browser sampling. Vercel includes Safari and Firefox users; CrUX is Chrome-only.
  2. Geographic mix. Vercel includes every country; CrUX is weighted by Chrome's geography.
  3. Device-type mix. Vercel sees real device distribution; CrUX is the Chrome mix.
  4. Aggregation window. Vercel can show 24 hours; CrUX is 28 days, so it lags on recent improvements.
  5. Bot filtering. Both tools attempt to filter bots, but with different heuristics.

Neither is "wrong." They are measuring different populations.

Google's documentation explicitly states that the Core Web Vitals signal in their ranking systems documentation uses CrUX data. The "page experience" signal feeds into rankings based on whether a URL is in the "good" CrUX bucket on all three Core Web Vitals.

For ranking decisions, only PSI matters. If your Vercel Speed Insights shows excellent LCP but CrUX (via PSI) shows poor LCP, you are still in the poor bucket for ranking purposes. Google does not see your Speed Insights numbers.

For traffic-driving SEO work, the priority order is:

  1. Find URLs in the "needs improvement" or "poor" CrUX bucket for the metric Google ranks on.
  2. Diagnose what is causing the slowness on those URLs using Lighthouse lab data or your own RUM.
  3. Fix the underlying cause.
  4. Wait 28 days for CrUX to refresh and reflect the improvement.
  5. Confirm with PSI that you are now in the "good" bucket.

The step where Vercel Speed Insights helps is between 2 and 4. Your own RUM gives you faster feedback on whether the fix worked, before CrUX catches up. We covered the broader Core Web Vitals diagnostic workflow in our Next.js 15 SEO guide.

The most common pattern of disagreement we see between Speed Insights and PSI:

| Scenario | Vercel Speed Insights | PSI field data | Why | |---|---|---|---| | Recent perf fix | Improved (24h window) | Still poor (28d window) | CrUX lag of 1 to 28 days | | Low traffic URL | Shows data | "Insufficient data" | CrUX traffic threshold | | Mostly Safari users | Worse than expected | Better than expected | Vercel includes Safari, CrUX does not | | Heavy bot traffic | Worse | Same | Vercel bot filtering may miss some sophisticated bots | | Auth-walled page | Shows data | "Insufficient data" | CrUX requires public crawl | | Geographic skew | Different distribution | Different distribution | Visitor mix differs by reporting tool |

When Speed Insights and PSI disagree, the right action depends on which way they disagree:

  • Vercel shows better than PSI. Either CrUX is lagging (wait 28 days), or your real-user mix differs from Chrome users (look at the breakdown). Do not assume PSI is wrong.
  • Vercel shows worse than PSI. Look for browsers or devices that Vercel sees more of than CrUX does. Mobile Safari is a common culprit because Apple's WebKit can have different performance characteristics on certain operations.
  • Vercel shows data, PSI shows none. The URL is low-traffic. Use Vercel data for diagnosis and let CrUX catch up over months as traffic grows.
  • PSI shows data, Vercel shows none. Speed Insights snippet is not deployed on the route, or the route is filtered out. Check your Vercel config.

For complex disagreements, look at the per-route breakdown in Vercel Speed Insights. PSI field data is URL-level but origin-aggregated for ranking; Vercel can show you which specific routes are dragging down the average.

Use PSI when you are answering questions like:

  1. Is this URL currently passing Core Web Vitals from Google's perspective?
  2. Will this URL benefit from Google's "good page experience" ranking boost?
  3. What is the 75th percentile LCP that Google sees for our top landing pages?
  4. Are we losing rankings to faster competitors per CrUX comparisons?
  5. Is the slow-page warning in Search Console accurate?

Use Vercel Speed Insights (or your RUM) when you are answering questions like:

  1. Did my last deploy improve or regress real-user performance?
  2. Which specific routes have the worst LCP and need engineering priority?
  3. What is the geographic breakdown of our worst-performing pages?
  4. Did the experiment we ran on hero image lazy-loading improve INP for mobile users?
  5. Which third-party script is dragging our INP on the pricing page?

Both tools are necessary for a complete picture. PSI tells you what Google thinks. RUM tells you what your users experience. The intersection drives the right engineering priorities.

For a complete view of the perf-and-CWV workflow that pairs with these tools, our Astro for content sites guide covers the upstream architectural choices that make CWV manageable in the first place. Our technical SEO audit service combines PSI and RUM data with crawl data for prioritized recommendations.

PSI setup: zero. It is a public tool. Just paste the URL.

Vercel Speed Insights setup: enable in the Vercel dashboard, add the @vercel/speed-insights package and inject the component in your root layout. About 10 minutes for a Next.js or other framework app.

Pricing:

  • PSI: free, no quota.
  • Vercel Speed Insights: free tier with monthly event quota, paid tier scales with traffic. Roughly $20 per 100k data points for the paid plan as of 2026.

Privacy:

  • PSI uses CrUX, which is fully opt-in via Chrome's usage statistics consent. Users have already consented at the browser level.
  • Vercel Speed Insights collects data on every visit. You may need to disclose this in your privacy policy and possibly behind a cookie consent prompt in GDPR jurisdictions.

For privacy-sensitive deployments, the cookie consent integration matters. Speed Insights respects your gtag.set consent calls and can be gated behind a consent flag if needed. Without consent integration, you might be collecting performance data on users who declined analytics, which is a compliance risk.

Vercel Speed Insights does not use cookies for the actual measurement (it uses sessionStorage), which is privacy-friendlier than full analytics but still subject to GDPR's "necessary versus non-essential" distinction in some interpretations.

Alternatives to Vercel Speed Insights for first-party RUM include SpeedCurve, Cronitor, and rolling-your-own with the web-vitals library reporting to your data warehouse. The choice usually comes down to whether you want a hosted dashboard or want to integrate with your existing observability stack.

Does PageSpeed Insights replace Vercel Speed Insights?

No. PSI shows aggregated CrUX data, which is what Google uses for ranking. Vercel Speed Insights shows your own real-time RUM data, which is finer-grained and not bound by CrUX's traffic threshold or 28-day window. They answer different questions.

Why does PSI sometimes show "insufficient data" for my URL?

The URL has not received enough qualified Chrome traffic in the last 28 days to clear CrUX's privacy threshold. For low-traffic pages, this is normal. Either look at origin-level (whole-site) data in PSI, or use first-party RUM (Vercel Speed Insights) for diagnosis.

How long after fixing a Core Web Vitals issue does PSI reflect the change?

CrUX aggregates over 28 days, so the field data shows the trailing-28-day picture. A fix deployed today will take a few days to start showing in CrUX as new data accumulates, and won't fully reflect until day 28 when the old (pre-fix) data falls out of the window. Vercel Speed Insights shows the change within minutes to hours.

Are PSI scores and Vercel Speed Insights scores comparable?

No. PSI shows the Lighthouse performance score (0 to 100) for lab data, and Core Web Vitals percentiles for field data. Vercel Speed Insights shows percentile distributions for the same metrics but does not produce a single 0-100 score. The metrics that overlap (LCP, INP, CLS) are directly comparable when filtered to the same browser and device segment.

Does Google use Lighthouse scores for ranking?

No. Google has stated explicitly that Lighthouse scores are not used for rankings. Only CrUX field data (which PSI's field-data section surfaces) feeds the Core Web Vitals ranking signal. Lighthouse is a diagnostic tool, not a measurement of what Google sees.

Should I report CWV from PSI or from Speed Insights to stakeholders?

For monthly SEO reporting and SEO-driven prioritization, report CrUX numbers from PSI or Search Console. They are what Google sees. For engineering reporting on the impact of recent deploys, report Speed Insights or your RUM numbers. They are faster and more granular.

Can I trigger PSI programmatically?

Yes. PSI has an API at https://developers.google.com/speed/docs/insights/v5/get-started that returns the same data the web UI shows. We use this for bulk testing top URLs in our audit pipeline. Rate limits apply (25,000 queries per day on the free tier).

What is the relationship between Search Console's Core Web Vitals report and PSI?

Both are surfaces over CrUX. Search Console shows the trend over time and the buckets ("good," "needs improvement," "poor") for groups of URLs. PSI shows the detailed breakdown for a single URL. Use Search Console to find which URL groups have problems, then PSI to drill into specific URLs.

Does Vercel Speed Insights work for non-Vercel hosted sites?

The official tool is Vercel-only. For non-Vercel sites, use SpeedCurve, Cronitor, or roll your own RUM with the web-vitals library reporting to your analytics endpoint. The methodology is the same; only the dashboard differs.

What is INP and why does it matter more than FID?

INP (Interaction to Next Paint) replaced FID (First Input Delay) as a Core Web Vital in March 2024. INP measures the latency of all interactions on a page, not just the first one, which makes it a better proxy for how responsive the page feels over the full session. It is now one of the three Core Web Vitals Google uses for ranking. Your tooling needs to support INP measurement; both PSI and Vercel Speed Insights do.

Ready to optimize for the AI era?

Get a free AEO audit and discover how your brand shows up in AI-powered search.

Get Your Free Audit
Free Audit