Real User Monitoring can help organizations convert online customers faster, reduce churn, and improve customers’ overall digital experience. In this guide, we will break down what it is, how it works, why use it, how it’s different than other types of user monitoring, and also cover the most common features found in a comprehensive RUM solution – to help you get the most out of RUM.

What is Real User Monitoring (RUM)?

Real User Monitoring, or RUM, is a type of monitoring technology for digital businesses that analyzes customers’ digital experiences by looking at exactly how online visitors are interacting with a website or application. Real User Monitoring analyzes everything from page load events to HTTP requests to frontend application crashes. It’s also known as digital experience monitoring, real user measurement, user monitoring, end-user experience monitoring or RUM.

The most well-known example of website traffic analytics is Google Analytics, or GA, which tracks certain types of interaction between your users and your website or webapp. GA can track page views, click paths, browser types, and traffic sources but is it really telling you how satisfied your users are?

GA does a good job of giving you high-level data about your end users’ digital journey, where they come from, what pages they access, and so on. However, it doesn’t collect the data you need to easily assess their overall level of satisfaction. GA was not built for that. That is where RUM comes in.

This monitoring software is part of APM (Application Performance Monitoring) and it allows you to stay in control of your users’ digital experience, and in turn, their level of satisfaction. Basically, RUM allows you to dive into performance metrics based on a single user’s or users’ business journey, mapping out anomalies throughout their experience. These performance and user experience metrics give you the opportunity to understand what went wrong, where and in turn, fix it so that it doesn’t impact a large number of users.

Interested in learning more about APM and how it’s different? Check out our RUM vs APM comparison.

Want to make sure your customers get a flawless experience?

With Real User Monitoring, you get visibility into real user sessions and receive real-time alerts whenever a bug is affecting performance or user satisfaction.

Get started See our plans

Free for 30 days. No credit card required With Real User Monitoring, you get visibility into real user sessions and receive real-time alerts whenever a bug is affecting performance or user satisfaction.

Real User Monitoring vs Synthetic Monitoring

Synthetic monitoring is often defined in opposition to RUM but, in fact, they work very well together. Synthetic monitoring involves using synthetic transactions, such as pinging a service, to monitor application availability and response time.

While synthetic monitoring measures data in a controlled environment and in a period fashion which results in more precise and reliable data, RUM collects data from real users and real data is sometimes messy due to browser specifics, network issues, device specifics, etc.

Synthetic monitoring, also known as active monitoring or synthetic transaction monitoring (STM) creates a simulation of users or traffic in order to understand how your webapp or website is performing.

By comparison, the sole purpose of RUM is to monitor metrics based on data sent from real visitors’ browsers. Each customer visit becomes a data point that helps you assess their real level of satisfaction when it comes to your website or webapp performance.

Which is better: Synthetic Monitoring or Real User Monitoring?

One is not better or more useful than the other. In general, having a solution for both synthetic monitoring and real user monitoring will provide you with double the insights to improve your customers’ digital experience. Read more tips on how to improve website performance and deliver better experience.

If we had to choose one tool, we’d go with real user monitoring as it allows you to track real user data as opposed to synthetic data. Read about the differences between the two in Real User Monitoring vs. Synthetic Monitoring: A better comparison.

Benefits of Real User Monitoring

First off let’s start with some basic tasks your RUM solution can and should help you with and why you should use real user monitoring:

Problem Solving

RUM helps you by understanding (through data) what is impeding a near-perfect experience for your users and troubleshooting those issues to improve their digital experience.

Segmentation

Not everyone uses the same browsers, connection types, etc. so limiting your performance improvements or testing to a certain operating system, browser, location, etc. doesn’t really cover the basis for the masses of users that will interact with your website or webapp.

Faster Actionable Sights

Know right now what’s affecting your UX (user experience). An alerting feature in your RUM solution allows you to monitor your UX in real-time and get actionable insights into your users’ website or app experience.

Common Real User Monitoring Features

The combination of these features is what allows you to break down the data and get to know the quality of the interaction your users are having with your website or webapp. Some of the features are:

How Real User Monitoring Works

RUM looks at live user sessions to see how customers interact with your website or webapp and generates reports that you can use to detect and solve performance issues. It makes it easier for you to see what pages the user visited and see what went wrong and when.

The process can be broken down to six steps as follows:

Data capture . RUM collects page-level metrics on page load times, HTTP requests, load times of specific elements, and a lot more from various data sources – JavaScript on a browser, load balancer, server and its log files.

Sessionization . The data is organized into a record of pages, actions, and timing information for each visit.

Problem detection . The system checks resources, HTTP endpoints, pages, and visits for unusual behaviors and their causes, such as errors, slow response times, problems with navigation, and so on.

Individual visit reporting . You can use the captured data to re-create the user’s visit. Depending on the RUM solution, you can see what the users saw or just a summary.

Reporting and segmentation . You can aggregate data to analyze page availability or performance across different browsers and user segments.

Alerting . When anomalies are detected, the monitoring solution sends alerts.

For a better understanding of how RUM works, check out the example below.

In this example, you can see metrics such as top pages, page load times, page load histogram, and Ajax histogram. All these metrics are normally collected in real-time, thus giving you complete visibility into your users’ digital experiences and anything that might be impeding optimal performance.

Let’s dive into a few other popular features in real user monitoring solutions. Such as the ability to inspect individual user sessions. See an example below.

As you can see, the metrics you collect via your RUM tool allow you to get information on individual sessions, which is helpful to look into a specific digital journey that wasn’t the level of quality you’d like to deliver and understand what happened.

You should also be able to dive into on-page transactions, get data on the number of new users & total users. Lastly, RUM also allows you to filter metrics by country, operating system (OS), browser, specific users or URL groups.

Let’s begin breaking down some of the features and metrics a Real User Monitoring tool can include:

Apdex

Application Performance Index, or Apdex, is a measurement of your users’ level of satisfaction based on the response time of request(s) when interacting with your website or application.

The Apdex method takes your defined response time threshold (T), the sum of satisfactory response times plus half of the tolerable response times divided by the total number of samples (requests sampled) in order to calculate a ratio from 0 to 1. Here are some of the levels you may find your website or application to be scored at with Apdex:

1.00-0.94 = Excellent

0.93-0.85 = Good

0.84-0.70 = Fair

69 and 0.49 = Poor

>0.49 = Bad

Example of Sematext Experience Apdex Scoring

The average Apdex score is 0.85 so if you are anywhere near that range, you’re doing something right. Read more about how to use Apdex to measure user satisfaction here.

User Activity Monitoring through Page Load Events

Page load events are recorded using the browser timing APIs. Each page load event is recorded and later displayed on charts that show the time spent in the back end (network and web app) and the time spent in the browser.

In addition to load times, your RUM solution should also record the loaded resources (images, fonts, stylesheets, javascript files) and the associated loading times. Page load events help you by filtering web performance by URL, browser type, and version, operating system, geolocation, etc.

Monitoring Single Page Applications

It’s advisable to find a RUM solution that supports Single-Page Applications or SPAs. As SPAs pack lots of different components, features, or other assets, and the complexity of monitoring them increases. In order to monitor SPAs one would need to monitor both hard and soft page loads, JavaScript errors, details of those errors, number of samples, loading time and unloading of views.

Monitoring Javascript errors is critical to monitoring SPAs as they can cause the entire webapp to crash. On regular websites, errors can break some part of the website, but in most cases, the user can continue using the website and they can navigate to some other unaffected part of the website. In SPAs errors can cause the entire webapp to stop responding to user inputs, causing your users to possibly take off running in the direction of your competitors.

With RUM, you also get stack traces for the captured errors, so you can stop hunting for the location of the error and jump right into the correct JavaScript file. This is especially important for modern webapps that use minified code in production. Learn more about how to detect and fix script errors.

Being able to differentiate between soft page loads and hard page loads is very important for SPAs. The performance profile of soft page loads and hard page loads is different so being able to show monitoring data for one or the other can be very beneficial when troubleshooting issues. Different RUM solutions will take a different approach to measure the duration and other metrics related to soft page loads so you might see differences in reported metrics.

Further reading:

Interested in a solution that helps you stay ahead of any SPA bottlenecks?

Real User Monitoring enables you to monitor page performance and resource usage of your SPAs giving you a headstart in troubleshooting issues.

Try it free for 30 days See our plans

No credit card required – Up and running in no time Real User Monitoring enables you to monitor page performance and resource usage of your SPAs giving you a headstart in troubleshooting issues.

Another part of monitoring SPAs are AJAX requests, let’s read more about them below.

Tracking AJAX Calls/Requests

Any delay in loading resources, AKA, HTTP requests, can cause delays in time to load the entire page or limit the user to complete a transaction. The visual part of any SPA or MPA is one of the most important metrics to monitor, it is a measure of how long it takes for the SPA or MPA to actually be visible to the user.

Keep in mind that failed HTTP requests can impact your Apdex score and in turn, your entire UX. TIP: It is recommended to integrate your RUM solution with that of a Transaction Tracing tool so that you can see exactly where time on the backend was spent for these slow or failed HTTP requests.

Alerting

You should be able to create alerts for yourself based on the Apdex score and page load times. Any RUM solution should include this alerting feature as it’s detrimental in order to troubleshoot a poor Apdex score, page-load time and more.

Sessionization

This feature allows you to inspect individual user sessions and see the timeline of page load events, on-page transactions, and HTTP requests made during the session. The session would ideally also include user information and any other metadata such as browser information. The goal of this view would be to help with troubleshooting issues reported by the user (or by crash reporting).

There are many popular RUM tools that help with sessionization such as Inspectlet, HotJar, and many others. However, tracking a part of that user session or only the user session does not give you the insights you need in order to understand what is impacting your users’ digital experience.

Release Tracking

Whenever developers release a new version of their website or webapp, they should be able to notify their RUM solution, possibly by sending a specific type of “release event”, and upload source maps for that particular release. Tracking release events allow you to understand if there is a new release affecting your end-users’ experience.

Load Time Breakdown

Load-time performance depends on multiple factors.

If your visitors are experiencing slow page-load or HTTP requests performance it can be caused by the network, DNS servers, redirects, application performance, etc.

If your visitors are experiencing slow page-loads or poor HTTP request performance, it’s often caused by the network, DNS servers, redirects, application performance, among other things.

To better understand which part of the loading process is slow, Sematext Experience, our Real User Monitoring Tool, shows you a detailed timing breakdown on the Page Loads and HTTP Requests screens:

This breakdown helps you understand which part of the process affects your load times the most. Read more in the documentation to understand what each part means.