Real User Monitoring (RUM)
RUM captures performance data from actual users via JavaScript using Performance APIs. You own the data, it covers all browsers, and can capture custom metrics.
§ 1 Definition
RUM is the practice of collecting performance data from real users as they interact with a page. Unlike lab tools or Google's CrUX, RUM data covers all browsers, can be segmented by any dimension, and can capture business-specific events.
§ 2 RUM vs CrUX vs Lab
Lab (Lighthouse) is reproducible but artificial. CrUX is real-user but Chrome-only. RUM covers all browsers and any segmentation. Tradeoff: requires instrumentation and data collection infrastructure.
§ 3 Common Misunderstandings
RUM is NOT a Lighthouse replacement. Many teams deploy RUM but never segment data. A p50 of 2.0 s hides a p95 of 8.0 s. RUM without segmentation is noise. Must handle user privacy (GDPR, CCPA).
§ 4 Setup
Use the web-vitals library, call its reporting functions, and send metrics to an analytics endpoint. Popular platforms: Datadog RUM, New Relic, SpeedCurve, Plausible.
§ 5 Note
§ 6 In code
import {onLCP, onINP, onCLS} from 'web-vitals';
function sendToAnalytics(m) { navigator.sendBeacon('/analytics', JSON.stringify(m)); }
onLCP(sendToAnalytics);
onINP(sendToAnalytics);§ 7 Common questions
- Q. Do I need both CrUX and RUM?
- A. Yes. CrUX tells you what Google sees; RUM tells you what all users experience.
- Captures real user data across all browsers.
- You own the data.
- Segment by country, device, browser.
- Use percentiles to understand distribution.
Atomic Glue deploys and manages RUM, configures dashboards, and correlates performance with business metrics. Analytics & Tracking.
Get in touchRUM captures performance data from actual users via JavaScript using Performance APIs. You own the data, it covers all browsers, and can capture custom metrics.
Category: Performance (also: Analytics, Devops)
Author: Atomic Glue Performance Team
## Definition
RUM is the practice of collecting performance data from real users as they interact with a page. Unlike lab tools or Google's CrUX, RUM data covers all browsers, can be segmented by any dimension, and can capture business-specific events.
## RUM vs CrUX vs Lab
Lab (Lighthouse) is reproducible but artificial. CrUX is real-user but Chrome-only. RUM covers all browsers and any segmentation. Tradeoff: requires instrumentation and data collection infrastructure.
## Common Misunderstandings
RUM is NOT a Lighthouse replacement. Many teams deploy RUM but never segment data. A p50 of 2.0 s hides a p95 of 8.0 s. RUM without segmentation is noise. Must handle user privacy (GDPR, CCPA).
## Setup
Use the web-vitals library, call its reporting functions, and send metrics to an analytics endpoint. Popular platforms: Datadog RUM, New Relic, SpeedCurve, Plausible.
## Note
Report at multiple percentiles (p50, p75, p95, p99). p75 is the CWV standard, but p95 reveals tail experience.
## In code
import {onLCP, onINP, onCLS} from 'web-vitals';
function sendToAnalytics(m) { navigator.sendBeacon('/analytics', JSON.stringify(m)); }
onLCP(sendToAnalytics);
onINP(sendToAnalytics);## Common questions
Q: Do I need both CrUX and RUM?
A: Yes. CrUX tells you what Google sees; RUM tells you what all users experience.
## Key takeaways
- Captures real user data across all browsers.
- You own the data.
- Segment by country, device, browser.
- Use percentiles to understand distribution.
## Related entries
- [CrUX Report](atomicglue.co/glossary/crux-report)
- [Lighthouse](atomicglue.co/glossary/lighthouse)
- [Core Web Vitals](atomicglue.co/glossary/core-web-vitals)
Last updated July 2026. Permalink: atomicglue.co/glossary/real-user-monitoring-rum