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.
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.