What real user monitoring is
Real user monitoring (RUM) is a way of measuring how a website or application behaves for the people who actually use it. A small piece of code in the page, or an SDK in a mobile app, records timings and errors during each real visit and sends them to a collection service for analysis.
The word “real” is the point. A lab test shows how a page loads on one fast machine in one data center. RUM shows how it loads on a three-year-old phone on a train, over a weak network, with a browser extension injecting its own scripts. Those conditions are too varied to reproduce, so the only way to know them is to measure them where they happen.
RUM is passive: it adds no test traffic and only observes. It is one half of digital experience measurement, the other being synthetic monitoring, and it is one reading of the wider term end user monitoring, which also covers activity tracking. It belongs to the general practice of monitoring. Despite the name, the “user” here is a visitor session, not an employee under review.
How the data travels
Whatever the vendor, a RUM setup follows the same path from the visitor's device to a dashboard.
- 1
Instrument
Add a script to the page or an SDK to the app. It registers observers for the performance data the browser already exposes.
- 2
Collect
As the visit goes on, the script reads timings for navigation, resources, painting, and interactions, and notes JavaScript errors and failed requests.
- 3
Enrich
Each record gets context: the page or screen, browser, device class, connection type, rough location, and a session identifier.
- 4
Send
The script sends the data in small batches as a beacon, ideally when the page is hidden or closed, so the visit itself is not slowed down.
- 5
Aggregate
The backend groups records by page, release, country or device and shows distributions, trends, and alerts.
What it measures
RUM records many signals, but three are standard in web work. They are called Core Web Vitals, and Google publishes target values that count as good when they are met for at least 75 percent of visits. Beyond these, RUM usually tracks server response time (TTFB), JavaScript errors, the duration of API calls made by the page and, in mobile apps, crashes and start-up time.
| Metric | What it captures | Good result |
|---|---|---|
| Largest Contentful Paint (LCP) | How long the main content takes to appear | ≤ 2.5 s |
| Interaction to Next Paint (INP) | How quickly the page reacts to taps and clicks | ≤ 200 ms |
| Cumulative Layout Shift (CLS) | How much content jumps around while loading | ≤ 0.1 |
Reading the numbers
RUM data is a distribution, not a single number. An average hides the visitors who suffer most, so teams read percentiles: the median shows the typical visit, while the 75th or 95th percentile shows the slow tail. Compare the same percentile across releases, or a change in the mix of visitors will look like a change in the site.
The real value comes from slicing. Break the data down by device class, browser, connection type, page template and geolocation, and the problem usually names itself: a heavy script that hurts only low-end phones, a region far from the nearest server, a release that raised the error rate for one browser version. The method has blind spots too. It sees only the visits that loaded the script, and blockers and consent choices remove some of them.
RUM, synthetic monitoring, and APM
RUM is rarely used alone. Synthetic monitoring runs scripted checks from fixed locations on a schedule, and application performance monitoring (APM) traces what happens inside the servers. Each answers a different question:
| Capability | Real user monitoring | Synthetic monitoring | APM |
|---|---|---|---|
| Measures what real visitors experienced | |||
| Detects an outage when nobody is visiting | |||
| Covers real devices, browsers, and networks | |||
| Shows which server code or query is slow |
Common mistakes
Most disappointing RUM projects fail in familiar ways:
A page that is fast for the average visitor can still be broken for a whole group. Check the tail before declaring success.
- Reading averages instead of percentiles, so the slowest visitors stay invisible
- Comparing periods with a different mix of devices, countries or traffic sources, then crediting the last release
- Collecting full URLs with query strings, form values or user identifiers the question never needed, a problem that anonymization at the source would remove
- Sampling so aggressively that rare pages and rare errors disappear
- Watching speed alone and never linking it to outcomes such as bounce rate, conversion or support requests
Who uses the data
RUM data serves several teams, and each wants a different cut of it. It is also worth saying what RUM is not for: it is not a tool for watching individual employees, and that job belongs to user activity monitoring.
| Role | Uses RUM data to | Typical view |
|---|---|---|
| Front-end engineerWeb and mobile developers | Find slow templates, heavy scripts, and layout shifts | Page-level timings and errors by release |
| Site reliability engineerOperations | Confirm that a deployment did not hurt visitors | Error rates and percentiles with alerts |
| Product or marketing ownerBusiness side | Link speed to bounce rate and conversion | Segments by campaign, country, and device |
| Privacy officerLegal and compliance | Check what is collected and for how long | Field list, retention and consent settings |
Privacy and first steps
RUM is performance data, but it can still be personal data. IP addresses, device characteristics, session identifiers and URLs can point to a person, so data protection law may apply, and in the EU the ePrivacy rules on storing or reading information on a device can require consent. A privacy-friendly setup avoids persistent identifiers, shortens IP addresses, strips query strings, and respects the choice made in the consent banner. Check the details for your markets with legal counsel.
A sensible start is small. Pick the three or four pages that earn the most, measure the Core Web Vitals on them, set an alert on the 75th percentile and review it after each release. If your question is about what employees do rather than how a site performs, the right category is employee activity monitoring, which uses different data and different safeguards.
Speed is what the visitor on the weakest connection felt, not what the test machine measured.
