Chrome User Experience Report (CrUX)

No Comments
Chrome user experience report (crux)

The Chrome User Experience Report (CrUX) is Google's public dataset of real-user performance data, collected from opted-in Chrome users out in the wild. It's the field data behind Core Web Vitals, and it matters because CrUX, not your Lighthouse score, is what feeds PageSpeed Insights, the Search Console Core Web Vitals report, and the page-experience signals Google actually uses.

Here's the distinction people miss. Lighthouse gives you lab data: one simulated load on a throttled machine, useful for debugging. CrUX gives you field data: what real people on real devices and real networks experienced over the trailing 28 days. When a page "passes" or "fails" Core Web Vitals in Google's eyes, that verdict comes from the 75th percentile (p75) of the CrUX field distribution, not from a lab run. So if lab says you're green but Search Console says you're failing, the field data is the one Google believes, and so should you.

Two ways to read CrUX yourself

You don't have to wait for Search Console to summarize it. Two direct sources: the CrUX API for the latest 28-day rolling snapshot of a single URL or origin, and the CrUX BigQuery dataset for monthly historical trends across the whole web.

CrUX API (fast, current, one URL or origin):

curl "https://chromeuxreport.googleapis.com/v1/records:queryRecord?key=YOUR_API_KEY" 
  -H "Content-Type: application/json" 
  -d '{
    "url": "https://example.com/",
    "metrics": ["largest_contentful_paint",
                "interaction_to_next_paint",
                "cumulative_layout_shift"]
  }'

# response gives you, per metric:
#   histogram (good / needs-improvement / poor buckets)
#   percentiles.p75  <-- the number Google grades you on

CrUX on BigQuery (historical, whole-origin, monthly):

SELECT
  yyyymm,
  -- p75 of LCP in ms, reconstructed from the histogram
  APPROX_QUANTILES(lcp_bucket, 100)[OFFSET(75)] AS lcp_p75
FROM
  `chrome-ux-report.all.202506`
WHERE
  origin = 'https://example.com'
GROUP BY yyyymm
ORDER BY yyyymm;

The API is what you poll for "how are we doing right now." BigQuery is what you query for "how has our p75 LCP trended over the last year, and how do we compare to the dataset."

Lab data vs. field data (CrUX)

PropertyLab data (Lighthouse)Field data (CrUX)
SourceOne synthetic load on a controlled machineReal opted-in Chrome users
Metric windowSingle run, right nowTrailing 28 days, aggregated
Reported valueRaw score for that runDistribution + p75 per metric
Data thresholdAlways availableNeeds enough traffic; low-traffic URLs get no data
Includes INP?No (INP needs real interaction)Yes
What Google grades onNothing — diagnostic onlyThis is the ranking-relevant signal
Best used forDebugging a specific fixJudging real-world pass/fail

How to check it on your own site

  1. Start with PageSpeed Insights. Enter your URL; the top "Discover what your real users are experiencing" panel is CrUX field data. The lab section below is Lighthouse. Read the field panel first.
  2. Query the CrUX API for your key templates (home, category, product, article) to get the p75 for LCP, INP, and CLS without waiting on Search Console's refresh cycle.
  3. Check the Search Console Core Web Vitals report, which groups URLs by status using CrUX data at scale, so you see which page types fail, not just one URL.
  4. Confirm data availability. If the API returns no record, the URL lacks enough traffic for its own CrUX data and gets judged at the origin level instead. Group similar low-traffic pages so they share a template signal.
  5. Trend it in BigQuery monthly to catch slow regressions that a single snapshot hides.

Common mistakes and how to fix them

  • Trusting the lab score over the field score. Lighthouse says 98, Search Console says failing, and the team celebrates the wrong number. Fix: CrUX field data is the verdict; use Lighthouse only to debug.
  • Expecting fixes to show instantly. CrUX is a 28-day rolling window, so a fix takes weeks to fully move the p75. Fix: ship, then wait out the window before judging; watch lab data for immediate confirmation the fix landed.
  • Reading the average instead of p75. Google uses the 75th percentile, so your slowest quarter of visits sets the grade. Fix: optimize the tail (slow devices, poor networks), not the median.
  • Ignoring "no data" pages. Assuming a URL passes because it shows no CrUX record. Fix: low-traffic URLs inherit the origin-level assessment; improve the whole template.
  • Optimizing one hero URL. Fixing the homepage while templated pages rot. Fix: sample by page type and fix the worst-performing template.

Frequently asked questions

What's the difference between CrUX and Lighthouse?

CrUX is field data from real users over 28 days; Lighthouse is a single lab test on a simulated device. Google grades Core Web Vitals on CrUX. Lighthouse is for debugging.

Why does PageSpeed Insights show two different scores?

The top panel is CrUX field data (real users); the section below is Lighthouse lab data (one synthetic run). They disagree because they measure different things. The field panel is the one tied to rankings.

Why does my URL have no CrUX data?

CrUX only reports URLs and origins with enough traffic to preserve user anonymity. Low-traffic pages get no URL-level data and are assessed at the origin level instead.

How long until a performance fix shows up in CrUX?

Because CrUX is a trailing 28-day window, a fix bleeds in gradually and takes roughly four weeks to fully reflect at p75. Use lab data to confirm the fix works immediately.

Does CrUX include INP?

Yes. Interaction to Next Paint replaced First Input Delay as a Core Web Vital, and because it needs real interaction, CrUX field data is the only place you get a true INP reading.

Related reading: Core Web Vitals: Field Data vs Lab Data (CrUX Explained) and the Web Vitals glossary entry.

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

About SEO ProCheck

Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

Work With Me

Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

Subscribe to our newsletter!

More from our blog