Skip to main content

What is Real User Monitoring

Learn about what Real User Monitoring (RUM) is, its benefits and how to use it!

Learn more about Sematext Real User Monitoring

Real User Monitoring can help organizations convert online customers faster, reduce churn and improve customers’ overall digital experience. Today, 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 commonly known example of RUM would be Google Analytics, or GA, which tracks certain spectrums of the 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?

Although GA does a good job at giving you high/level data about your end users’ digital journey it does not layout the data in a way that allows you to easily read into the overall level of satisfaction of your users. 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. This gives 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.

Want to learn more about APM and how it’s different? Check out our RUM vs APM comparison.

Real User Monitoring vs Synthetic Monitoring

As opposed to synthetic monitoring, the sole purpose of RUM is to monitor the real level of satisfaction of our users based on the performance of your website or webapp.

RUM is often defined in opposition to synthetic monitoring. Synthetic monitoring involves using synthetic transactions, such as pinging a service, to monitor application availability and response time.

Synthetic monitoring, or 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.

Many have turned to synthetic monitoringbecause RUM at times can provide too much data and can be hard
to get an overview of what you need to improve your users’ digital experiences. Additionally, synthetic monitoring allows you to see your application of API performance, which is critical to find and fix critical issues beforethey affect
your customers.

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

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:

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

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

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

  1. Apdex
  2. Page load events
  3. Monitor Single-Page & Multi-Page Applications
  4. HTTP requests
  5. Alerting
  6. Sessionization
  7. Crash reporting
  8. Release tracking

How Real User Monitoring Works

After installing a few lines of code on your website or webapp, a real user monitoring tool works by starting to collect page-level metrics on page load times, HTTP requests, load times of specific elements, and a lot more. Those
metrics are collected via real user sessions, which are then sent back to your real user monitoring solution and organized into analyzable data.

Example: How RUM Works

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 SPA or Single-Page Applications. As SPAs pack lots of different components, features, etc. into one page, the complexity of monitoring them increases. In order to monitor SPAs one would
need to monitor JavaScript errors, details of those errors, number of samples, loading time and unloading of views.

Monitoring Java Script errors are detrimental to monitoring SPAs as it can cause the entire page to crash. Let’s compare MPA JavaScript errors to SPAs: If JavaScript fails on an MPA it can cause certain pages to crash but in a SPA, it
can cause the entire page to crash, causing your users to possibly take off running in the direction of your competitor. WIth RUM, instead of looking for the root cause, jump right into that specific script and get it fixed thus allowing
your users to interact with an error-free script.

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

Real User Monitoring Best Practices

For real user monitoring to be effective we first have to make sure we are using it correctly.

Let’s take a look at some of the top best practices to keep in mind when using a real user monitoring tool, which you can read more it in our complete Real User Monitoring Best practices guide:

  1. Test Performance of New Product of Features
    • Make sure you’re testing new products in a testing environment vs. in production. Synthetic monitoring can help you here. So that when you’re in production with real users, you have solved a majority of the bugs or kinks
      in your new product and/or feature.
  2. Share powerful data with your RevOps/BizOps team
    • RUM holds invaluable insights for your RevOps & BizOps team(s) – a happy customer starts at performance.
  3. Combine your RUM solution with transaction tracing, log management, and infrastructure monitoring
    • Application performance management doesn’t start with your users. It starts in the correlation of data in order to improve performance, fix bugs, reduce downtime and in turn, improve users’ digital experience. Downtime
      exists when:

      • Basic Error in code (Log Management)
      • Slow request in your database (Log Management)
      • Overloaded CPU (Infrastructure Monitoring)
      • Latency consumed, slow performance in a transaction (Transaction Tracing)
      • And many more possible errors related to containers, servers, etc.

Examples of RUM in Action

Let’s see what RUM looks like in action:

  1. Customers are reporting downtime in my website
    • In this case, what you could do via your real user monitoring solution would be to dive into page-level metrics, understand what is causing the downtime, be it failed HTTP requests or another issue, and send this data to
      your team in order to have it fixed.
  2. Synthetic tests not matching user experience
    • As we mentioned before, one of the downsides to synthetic monitoring is exactly that, it’s synthetic. In this case, RUM can allow you to compare diagnostics such as time periods, or specific metrics that are very similar
      in order to understand what went wrong.

Conclusion

That concludes our features listing and descriptions. We hope that this list has helped you understand the value that Real User Monitoring can bring to an organization. In the event that you’d like to know more about how RUM helped
organizations of all sizes improve their UX we suggest checking out Sematext Experience, our Real User Monitoring Tool, which offers support for:

  • Page load events including support for single-page applications (SPAs)
  • HTTP requests
  • Alerts based on Apdex score and/or page load times
  • URL grouping
  • Sessionization
  • Filter data by release version, browser, version, geo-location, etc.
  • Location-based heatmap

In addition to load times, Sematext Experience, our real user monitoring solution, also records the loaded resources (images, fonts, stylesheets, javascript files) and the associated loading
times.

Interested in trying it out for free? Learn more about Sematext Experience today.

Stay up to date

Get tips, how-tos, and news about Elastic / ELK Stack, Observability, Solr, and Sematext Cloud news and updates.

Sematext Newsletter