On this page
- How data is collected
- User eligibility
- Site and page eligibility
- Data structure and aggregation
- Metrics covered
- Core Web Vitals (CWV) — ranking signal metrics
- Additional metrics in CrUX
- Access methods
- CrUX as a Google Search ranking signal
- CrUX vs RUM vs Lighthouse
- Ecommerce-specific implications
- SPA / headless commerce blind spot
- Low-traffic pages have no data
- Cookie consent and data quality
- Ecommerce CWV pass rates (as-of 2026-08-11)
- Benchmarks and milestones (as-of 2026-08-11 — July 2026 dataset)
- Key terms
- Next frontier concepts (dangling links)
Chrome User Experience Report (CrUX)
Chrome User Experience Report (CrUX)
CrUX is the official Google dataset powering the Core Web Vitals program. It captures how real-world Chrome users experience popular websites and is the source Google Search uses for its Core Web Vitals page experience ranking signal. Unlike Synthetic Monitoring (which runs in a controlled lab environment), CrUX is "field data" — collected passively from opted-in Chrome users on live sites. For ecommerce PMs, it is the definitive benchmark for organic search performance and the only publicly available dataset for competitive field-data comparison.
How data is collected
User eligibility
Only Chrome users who meet all four conditions are included in CrUX data collection (developer.chrome.com/docs/crux/methodology, 2024-06-20):
- Usage statistics reporting enabled in Chrome settings
- Browser history sync turned on
- No Sync passphrase set
- Supported platform
Supported platforms include: desktop Chrome on Windows, macOS, ChromeOS, and Linux; and Android Chrome (including Custom Tabs and WebAPKs). Explicitly excluded are Chrome on iOS (which uses Apple's WebKit engine, not Blink), Android WebViews, and other Chromium-based browsers such as Microsoft Edge. Chrome does not publish the proportion of Chrome users who meet these eligibility criteria. (developer.chrome.com/docs/crux/methodology, 2024-06-20)
Site and page eligibility
An origin or page must be (developer.chrome.com/docs/crux/methodology, 2024-06-20):
- Publicly discoverable: HTTP 200 response, no
noindexheaders or meta tags - Sufficiently popular: must generate enough traffic to meet an undisclosed anonymity threshold
Pages and origins are added and removed automatically as eligibility changes — they cannot be manually submitted. Origins where more than 20% of their total traffic would be excluded due to ineligible dimension combinations are excluded from the dataset entirely.
URL normalisation: Query string parameters (e.g. ?utm_medium=email) and URL fragments (e.g. #main) are stripped from page URLs so all experiences on the same page aggregate together — this helps pages with many URL variants (e.g. PLP filter parameters on ecommerce sites) meet the traffic threshold. (developer.chrome.com/docs/crux/methodology, 2024-06-20)
Page-level vs origin-level: URL-level data requires the individual page URL to independently meet the traffic threshold. If only the origin qualifies, origin-level aggregates are available but URL-level data is not. (web.dev/articles/crux-and-rum-differences, 2025-12-17)
Data structure and aggregation
| Attribute | Detail |
|---|---|
| Collection window | Trailing 28-day rolling window |
| Update cadence | Daily, ~04:00 UTC; API is ~2 days behind current date |
| Aggregation percentile | 75th percentile (p75): 75% of page views at or better |
| Histogram bins | Good / Needs Improvement / Poor |
| Form factors | PHONE, TABLET, DESKTOP (inferred from user-agent) |
| Country dimension | Two-letter ISO codes — BigQuery only; NOT available in the CrUX API |
| ECT dimension | Removed February 2025; replaced by RTT metric |
(developer.chrome.com/docs/crux/release-notes and methodology/dimensions, 2025-02-11)
The 28-day lag is consequential for ecommerce teams: a performance fix deployed today will not fully register in CrUX (and therefore in Google Search Console / rankings) for four to six weeks. (debugbear.com/blog/crux-vs-rum, 2026-05-28)
Metrics covered
Core Web Vitals (CWV) — ranking signal metrics
| Metric | Good threshold | Notes |
|---|---|---|
| Largest Contentful Paint (LCP) | ≤ 2,500 ms | — |
| Interaction to Next Paint (INP) | ≤ 200 ms | Added to CrUX Feb 2022; replaced FID as ranking signal |
| Cumulative Layout Shift (CLS) | ≤ 0.1 | — |
All three must be in the "Good" range at p75 for an origin to "pass" Core Web Vitals. (developer.chrome.com/docs/crux/methodology/metrics, 2025-11-28)
Additional metrics in CrUX
- First Contentful Paint (FCP) — not a ranking signal; available in all access methods
- Time to First Byte (TTFB) — experimental; full page loads only (smaller sample than CWV)
- Round Trip Time (RTT) — experimental; HTTP application-layer RTT at navigation start via the Network Information API; replaced ECT dimension (Feb 2025)
- LCP resource types — text vs image; added February 2025; full page loads only
- LCP image subparts — four breakdown metrics: TTFB, resource load delay, resource load duration, element render delay; added February 2025
- Navigation types — navigate, navigate_cache, reload, restore, back_forward, back_forward_cache, prerender
- Popularity rank — experimental; log10 scale with half steps (top 1k, 5k, 10k, 50k, etc.)
Deprecated: First Input Delay (FID) — removed from CrUX in August/September 2024; the September 2024 BigQuery release was the first monthly dataset without FID. (developer.chrome.com/docs/crux/release-notes, 2024-10-08)
Access methods
| Interface | Cadence | Best for |
|---|---|---|
| CrUX API | Rolling 28-day (daily update) | Programmatic queries; competitive benchmarking |
| CrUX History API | Weekly granularity | Trend analysis over time |
| BigQuery public dataset | Monthly (2nd Tuesday) | Historical analysis; country dimension |
| PageSpeed Insights | On-demand | No-code; combines field + lab data |
| CrUX Vis (cruxvis.withgoogle.com) | Weekly | Visual dashboard; replaced Looker Studio dashboard (deprecated Nov 2025) |
| Chrome DevTools | Live | Performance panel; CrUX field data added March 2025 |
The CrUX API is free with a quota of 150 queries per minute per Google Cloud project — described by Google as sufficient for most use cases. No paid tier exists. (developer.chrome.com/docs/crux/api, 2025-02-11)
PSI API deprecation for CrUX field data: one web source search snippet (debugbear.com) claims Google is discontinuing CrUX field data in the PageSpeed Insights API and recommends using the CrUX API directly. This contradicts Google's own documentation, which continues to feature PSI as a primary CrUX access method. The deprecation claim was not verified from a primary source in this run and should be treated as unconfirmed until corroborated. Source A: debugbear.com/blog/pagespeed-insights-api (snippet, date unknown) | Source B: developer.chrome.com/docs/crux (2024-02-08)
CrUX as a Google Search ranking signal
CrUX data is used by Google Search to inform the page experience ranking factor — Google uses field data from CrUX, not Lighthouse lab scores, to evaluate Core Web Vitals. (developer.chrome.com/docs/crux, 2024-02-08)
Because CrUX uses a 28-day rolling window, ranking improvements from performance work take four to six weeks to register. A site can achieve a high Lighthouse score while showing "Poor" Core Web Vitals in CrUX if real-user conditions (devices, networks, geographies) differ from the emulated Lighthouse environment. (debugbear.com/blog/crux-vs-rum, 2026-05-28; web.dev/articles/crux-and-rum-differences, 2025-12-17)
[!unverified] One third-party source (digitalapplied.com, 2026) claims that as of a March 2026 Google update, INP carries equal ranking weight to LCP and CLS, and that pages with INP above 500ms have been observed to drop two to four positions on competitive queries post-update (as-of 2026-05). This specific weighting claim and position-drop figure have not been confirmed by Google Search Central documentation in this run — treat as indicative.
CrUX vs RUM vs Lighthouse
| Dimension | CrUX | Real User Monitoring (RUM) | Lighthouse / Synthetic Monitoring |
|---|---|---|---|
| Data type | Field (real users) | Field (real users) | Lab (emulated) |
| Browsers | Chrome only | All browsers | Chrome headless |
| Availability | Public (competitor benchmarking) | Private (your site only) | Public |
| Lag | 28-day rolling | Near-real-time (hourly) | On demand |
| Percentile | p75 only | Configurable (p90, p95) | Single synthetic run |
| Diagnostic detail | Low (metric totals only) | High (which element, script, request) | High (full waterfall, filmstrip) |
| SPA soft navigation | ❌ Not captured | ⚠️ Varies by tool | ❌ Not applicable |
| Cookie consent distortion | ✅ Not affected | ❌ Can exclude unconsented page loads | ✅ Not affected |
| Iframe performance | ✅ Contributes to top-level metrics | ❌ Cross-origin iframes blocked | ✅ Captured |
(debugbear.com/blog/crux-vs-rum, 2026-05-28; web.dev/articles/crux-and-rum-differences, 2025-12-17)
Practitioner framing: performance.now() 2024 conference characterised the division as "Synthetic is for testing; RUM is for monitoring." CrUX sits between them — it is field data but without the diagnostic granularity of RUM. (referenced via Synthetic Monitoring page)
Key insight for ecommerce teams: CrUX is the only tool that allows field-data competitive benchmarking — you can query competitor origins via the CrUX API without instrumenting their sites. RUM cannot do this. (debugbear.com/blog/crux-vs-rum, 2026-05-28)
Ecommerce-specific implications
SPA / headless commerce blind spot
For ecommerce sites built as SPAs (common with headless/composable storefronts), CrUX does not capture JavaScript-based route transitions. Chrome's platform APIs do not treat soft navigations (route changes) as full page navigations, so they are attributed to the initial page view only. This is a structural blind spot for PWA or SPA-first storefronts — CrUX metrics will not reflect the performance of in-app navigation. (web.dev/articles/crux-and-rum-differences, 2025-12-17; developer.chrome.com/docs/crux/methodology, 2024-06-20)
Low-traffic pages have no data
Many ecommerce PDP (product detail page) URLs individually fall below CrUX's traffic threshold, meaning URL-level data is unavailable. Origin-level aggregates cover the whole domain but mask the PDP vs PLP vs homepage performance gap. (developer.chrome.com/docs/crux/methodology, 2024-06-20)
Cookie consent and data quality
Cookie consent banners on ecommerce sites can distort RUM data by excluding the performance of first page loads until consent is given — making RUM metrics appear better than the actual user experience. CrUX does not have this distortion because it is collected at the browser level, not via on-page JavaScript. (web.dev/articles/crux-and-rum-differences, 2025-12-17)
Ecommerce CWV pass rates (as-of 2026-08-11)
- 43% of ecommerce sites fail LCP on mobile under real-world field conditions (as-of 2026) — LCP is the most commonly failed CWV in ecommerce. (neogenmedia.com, 2026; confidence: med — single third-party source)
- Global CWV pass rate across all tracked origins: 55.7% (as-of 2026-08-11, July 2026 CrUX dataset). (developer.chrome.com/docs/crux/release-notes, 2026-08-11)
Benchmarks and milestones (as-of 2026-08-11 — July 2026 dataset)
| Metric | % origins with "Good" | Source |
|---|---|---|
| LCP | 68.3% | CrUX release notes, 2026-08-11 |
| CLS | 81.6% | CrUX release notes, 2026-08-11 |
| INP | 85.7% | CrUX release notes, 2026-08-11 |
| All three (pass) | 55.7% | CrUX release notes, 2026-08-11 |
Total origins tracked: 18,059,068 (as-of 2026-08-11)
Notable milestones:
- August 2024: First month where >50% of origins passed all Core Web Vitals (50.1%) — described by CrUX team as a significant milestone. (developer.chrome.com/docs/crux/release-notes, 2024-09-10)
- August 2024: Google Publisher Tag (GPT) ad library released an INP optimisation that improved mobile INP pass rates from 55.58% → 66.12% for origins using GPT. (developer.chrome.com/docs/crux/release-notes, 2024-09-10)
- April 2025: Duda CMS removed
Cache-Control: no-store, resulting in 1.80% more origins passing CLS and 1.08% more passing LCP across ~40,000 CrUX origins — an example of platform-level CWV impact at scale. (developer.chrome.com/docs/crux/release-notes, 2025-05-13) - November 2025: CrUX Looker Studio Dashboard deprecated; replaced by CrUX Vis. (developer.chrome.com/docs/crux/release-notes, 2025-12-09)
- January 2025: LCP image subparts and resource types added to CrUX API; RTT added; ECT dimension retired. (developer.chrome.com/docs/crux/release-notes, 2025-02-11)
- March 2025: Chrome DevTools Performance panel now shows CrUX field data inline. (developer.chrome.com/docs/crux/release-notes, 2025-04-08)
Key terms
| Term | Meaning |
|---|---|
| Field data | Performance data collected from real users in production (vs lab/synthetic) |
| p75 | 75th percentile — 75% of page views at or better than the reported value |
| Origin | The combination of scheme + host + port [1] |
| 28-day rolling window | CrUX aggregates the trailing 28 days of data; updates daily |
| CWV pass | All three Core Web Vitals (LCP, INP, CLS) simultaneously in "Good" at p75 |
| Soft navigation | JavaScript-driven route change in an SPA; NOT captured by CrUX |
| URL normalisation | CrUX strips query strings and fragments before aggregating page-level data |
Next frontier concepts (dangling links)
- Core Web Vitals — cross-cutting CrUX / ranking signal concept; no standalone page
- Largest Contentful Paint (LCP) — CWV metric; no deep page
- Cumulative Layout Shift (CLS) — CWV metric; no deep page
- PageSpeed Insights — CrUX access tool; no page
- Lighthouse CI — synthetic CI tool; no page
- Performance Budget — related concept from Synthetic Monitoring frontier
References
- e.g. ` — example.com`