On this page
- How it works
- Core Web Vitals and RUM
- CWV thresholds (as-of 2026-09-02)
- CrUX: the canonical public RUM dataset
- Benchmarks by ecommerce platform (as-of July 2025)
- Desktop — Good CWV pass rate (all three metrics)
- Mobile — Good CWV pass rate (all three metrics)
- Web-wide pass rates (as-of July 2025)
- Performance-to-conversion benchmarks
- RUM tool landscape (as-of 2026-03-14)
- RUM in ecommerce practice
- Key terms
Real User Monitoring (RUM)
Real User Monitoring (RUM)
Real User Monitoring (RUM) is a passive performance measurement technique that captures timing data from actual user sessions in production. A small JavaScript SDK is injected into the page; it subscribes to browser APIs (PerformanceObserver, Navigation Timing, Resource Timing, and interaction listeners) and delivers batched metrics to a collection endpoint via the W3C Beacon API (navigator.sendBeacon), which ensures data transmission even when users navigate away or close the tab. (Webalert Blog; ClickHouse Engineering Hub)
Unlike Synthetic Monitoring — which runs scripted tests in controlled lab environments — RUM captures variance across all real devices, networks, and geographies. The recommended practice for ecommerce is to combine both: synthetics for proactive pre-release regression detection, RUM for field truth and business impact correlation. (DebugBear; MDN)
How it works
The browser's PerformanceObserver API exposes timing entries for navigation, resource loading, long tasks, and layout shifts. The RUM SDK subscribes to these, computes Core Web Vitals scores (LCP, INP, CLS), and beacons them along with session metadata (device type, geography, connection speed, page template) to the vendor's collection infrastructure. The Beacon API is critical for reliability: unlike XHR, sendBeacon survives tab close and navigation events. (ClickHouse Engineering Hub)
Core Web Vitals and RUM
Core Web Vitals are the primary metric set for RUM on ecommerce sites. INP (Interaction to Next Paint (INP)) replaced FID (First Input Delay) as a Core Web Vital on 12 March 2024. The change is significant: FID measured only the input delay of the first interaction; INP measures input delay + event handler processing + browser paint time across all interactions in the session. When INP replaced FID, the share of ecommerce sites passing all Core Web Vitals dropped approximately 7% — INP exposed interactivity problems that FID had concealed. (Embrace.io; Hyva Blog)
CWV thresholds (as-of 2026-09-02)
| Metric | Good | Needs improvement | Poor |
|---|---|---|---|
| LCP | < 2.5 s | 2.5–4 s | > 4 s |
| INP | < 200 ms | 200–500 ms | > 500 ms |
| CLS | < 0.1 | 0.1–0.25 | > 0.25 |
Typical 75th-percentile INP values: ~100 ms mobile, ~50 ms desktop (as-of 2025). (DebugBear)
CrUX: the canonical public RUM dataset
Google Chrome User Experience Report (CrUX) is the canonical source of field data for Core Web Vitals. It powers PageSpeed Insights and is the dataset used by Google Search for the page experience ranking signal. Only origins with sufficient Chrome traffic volume are included — low-traffic stores are not represented in CrUX. (Chrome for Developers / CrUX Docs, 2024-02-08)
Benchmarks by ecommerce platform (as-of July 2025)
CrUX field data from the Web Almanac 2025 (published 2026-01-15):
Desktop — Good CWV pass rate (all three metrics)
| Platform | All CWV Good | LCP Good | INP Good | CLS Good |
|---|---|---|---|---|
| Shopify | 76% | 92% | 99% | 82% |
| Squarespace Commerce | 69% | 90% | 100% | 78% |
| Wix eCommerce | 70% | 77% | 99% | 91% |
| OpenCart | 70% | 87% | 99% | 80% |
| BigCommerce | 55% | 91% | 99% | 60% |
| PrestaShop | 54% | 74% | 99% | 72% |
| WooCommerce | 33% | 45% | 99% | 68% |
| Magento | 36% | 59% | 99% | 55% |
Mobile — Good CWV pass rate (all three metrics)
| Platform | All CWV Good | LCP Good | INP Good | CLS Good |
|---|---|---|---|---|
| Shopify | 76% | 86% | 90% | 92% |
| Squarespace Commerce | 69% | 76% | 96% | 89% |
| Wix eCommerce | 66% | 76% | 85% | 95% |
| OpenCart | 68% | 80% | 93% | 88% |
| WooCommerce | 35% | 39% | 88% | 85% |
| Magento | 35% | 52% | 87% | 64% |
| PrestaShop | 50% | 65% | 89% | 81% |
(Source: Web Almanac 2025, Ecommerce chapter, published 2026-01-15)
Key interpretation: INP passes at ~99% on desktop across all major platforms — modern JS stacks have improved responsiveness significantly. LCP is the primary differentiator; SaaS-controlled stacks (Shopify, Squarespace) structurally enforce faster LCP via theme constraints. CLS is the weakness for Magento (55% desktop). WooCommerce's unlimited customisation produces the worst aggregate performance: only 33% desktop / 35% mobile pass all three CWVs. (as-of July 2025)
Web-wide pass rates (as-of July 2025)
48% of mobile origins and 56% of desktop origins pass all three Core Web Vitals across the entire web. (Web Almanac 2025, Performance chapter)
Performance-to-conversion benchmarks
- Every 100 ms of additional load time costs approximately 1% in conversions (as-of 2025) — EdmondsCommerce Research
- A 1-second delay reduces conversions by ~7% (as-of 2025) — BTNG Studio
- 3-second load time triggers 53% mobile abandonment (as-of 2025) — Build Grow Scale
- 67% of shoppers abandon sites taking over 4 seconds to load (as-of 2025) — Yottaa 2025 Web Performance Index
- For a $10M/year revenue site, a 500 ms improvement is estimated to recover ~$500K in revenue (as-of 2025) — DigitalApplied
- An online bus ticket booking company that improved INP achieved a 7% increase in overall sales (company name undisclosed; as-of 2025) — Hyva Blog; Bluetriangle
- Mobile accounts for approximately 62% of all ecommerce traffic (as-of 2025) — DigitalApplied
RUM tool landscape (as-of 2026-03-14)
| Tool | Positioning | Strengths | Weaknesses |
|---|---|---|---|
| Akamai mPulse | High-traffic retail | Revenue/conversion correlation baked in; boomerang.js beacon (battle-tested); direct pageview + revenue impact analysis in UI | Vendor case study data gated |
| SpeedCurve | Frontend/performance teams | 100+ metrics; competitor benchmarking; CI/CD integration; native Shopify RUM app | Limited root-cause debug depth |
| DebugBear | Developer-focused RUM | Full INP support with root-cause data; device/geo segmentation; CrUX dashboard | Smaller ecosystem than APM vendors |
| Datadog RUM | Engineering observability | Correlates frontend RUM with backend APM traces + logs; session replay | No native ecommerce-funnel / revenue-impact translation |
| New Relic Browser | Full-stack teams | APM + Browser + Synthetics in one platform; 100 GB free ingest/month | Complexity for frontend-only teams |
| Dynatrace | Enterprise APM | Full-stack observability; enterprise-grade | Pricing and retail positioning not publicly available |
| SolarWinds RUM | ⚠️ Does not support INP | — | Not suitable as primary CWV monitor for ecommerce (as-of 2026) |
Selection criteria for ecommerce: (1) full INP support with root-cause debug data; (2) device/geography segmentation; (3) business-metric linkage (conversion, bounce); (4) soft-navigation support for SPA storefronts. (DebugBear comparison, updated 2026-03-14)
Akamai mPulse uses boomerang.js as its beacon library — one of the most battle-tested RUM collection scripts in production, originally built for high-traffic retail. (Akamai / GitHub)
RUM in ecommerce practice
The recommended RUM workflow for 2026: capture real user data → aggregate at page-template level (not individual URL) → tag with release events → correlate with funnel-stage conversion data — so teams see not just that the site got slower, but at which funnel stage, what conversion rate changed, and which release caused it. (Noibu)
Third-Party Scripts are the primary INP and LCP antagonist on ecommerce sites — heavy JS, tag managers, chat widgets, and pixel scripts all compete for main-thread time. RUM is the only way to see their real-device impact at scale.
Key terms
| Term | Meaning |
|---|---|
| RUM | Real User Monitoring — passive measurement from real user sessions |
| Synthetic monitoring | Active scripted tests in controlled lab environments |
| CrUX | Chrome User Experience Report — Google's public RUM dataset aggregated from opted-in Chrome users |
| PerformanceObserver | Browser API that streams timing entries to registered listeners |
| Beacon API | W3C API (navigator.sendBeacon) for reliable metric delivery on tab close |
| INP | Interaction to Next Paint — measures all interactions (input delay + processing + paint) |
| LCP | Largest Contentful Paint — measures when the largest image or text block renders |
| CLS | Cumulative Layout Shift — measures visual stability |
| Boomerang.js | Akamai's open-source RUM beacon library (used by mPulse) |
| HVN | Human Visible Navigations — a framework for filtering noise from RUM data (Tim Vereecke) |