Real user monitoring (RUM)
Real user monitoring (RUM) instruments actual user sessions in the browser or mobile client to capture performance and error metrics as users experience them — Core Web Vitals (LCP, INP, CLS), JavaScript errors, network requests, custom timing marks. Unlike synthetic monitoring, RUM reflects the distribution of real devices, networks, and geographies your users actually use.
RUM closes the loop between server-side metrics (which look great) and user-perceived performance (which often doesn't). The gap is usually network: a service that returns 50ms responses from origin can take 3 seconds to render on a 3G connection in São Paulo because of CDN miss, large bundle, or render-blocking script. Common RUM tools: SpeedCurve, Datadog RUM, Sentry Performance, Cloudflare Web Analytics. Tracking Core Web Vitals via RUM is now table-stakes because Google uses field data (not lab data) as a ranking signal. The data also informs prioritisation: shaving 200ms off LCP for the slowest-decile users almost always beats shaving 20ms off the fastest decile.
Related terms
- Synthetic monitoring
Synthetic monitoring runs scripted, simulated user transactions against a production service from external locations on a fixed cadence — typically every 1-5 minutes from multiple geographies.
- Apdex score
Apdex (Application Performance Index) is a single 0-1 score that summarises user-perceived performance: requests faster than a target T are 'satisfied' (weight 1), requests between T and 4T are 'tolerating' (weight 0.
- Latency percentile
A latency percentile (p50, p95, p99, p999) is the response time below which that share of requests completed.