February 10, 2023

What is Real User Monitoring (RUM)?

Most automated tests focus on hypothetical situations. For example, a Selenium test might mimic a user workflow by filling out fields and pressing buttons in a headless browser. But, of course, real-world users don’t always behave the way we want or expect. And typically, these unexpected behaviors are what produce errors.

Let’s look at how Real User Monitoring (RUM) can help you move beyond test automation to improve quality.

What is Real User Monitoring?

RUM involves collecting detailed data about a user’s interaction with a production application. For example, RUM might monitor an e-commerce website to detect any increase in page load times or track users’ paths through a conversion funnel to determine where they typically drop off.

Under the hood, RUM involves following a user session, also known as a click path or user journey, through their interactions with the application. For instance, one user might try to filter search results and find the product they want, whereas another might fail to purchase after adding their credit card.

From a technical standpoint, browser-based RUM solutions typically inject code into an application to track page loads and asynchronous XHR requests. On the other hand, native RUM tools often require adding a library to your application that gets bundled into the application binary.

RUM vs Synthetic Monitoring

When it comes to monitoring, RUM is not the only option. There is another type of monitoring, known as synthetic monitoring. While both solutions monitor your application, there are some key differences between the two.

RUM is based on user data captured by your application. It is a more reactive solution, collecting data by running observability systems in the background that track different aspects of your application.  

Synthetic monitoring can be described as a proactive solution. This is because synthetic monitoring solutions, like AlertSite, practice active web monitoring. Users of these tools will create behavioral scripts simulating a user’s experience and then deploy them to their application. This is a great method for anticipating, preventing, and solving any obstacles before an actual user experiences them.  

Benefits of Real User Monitoring

Most organizations use automated tests to proactively surface errors before they reach users. But developers can only test so many possible user workflows. As a result, RUM is crucial to quickly catch errors in production and fix them before they reach a more significant number of users.

Some of the most meaningful benefits include:

  • Quickly Surface Errors – RUM enables organizations to quickly identify errors impacting production users – even if they don’t report them. That way, you don’t need to rely on support tickets when users are often already at their wit’s end.
  • Verify Service Level Agreements – RUM enables organizations to verify their adherence to service level agreements (SLAs). That way, they can avoid legal issues or refunds for SLA violations.
  • Track New Changes – RUM makes it easy to see how new features or releases impact users. For example, you can pair RUM with feature flags to determine when experimental new features are ready for mainstream users.
  • Better Understand Users – Many organizations look at metrics like the Net Promoter Score (NPS) to measure the customer experience. But RUM could provide deeper, more reliable insights into how users actually act without asking them.

RUM Best Practices

RUM is relatively easy to set up using today’s solutions. In fact, you usually need little more than a code snippet. The challenge is converting the troves of data you’ll receive into actionable insights. You’ll also need to integrate RUM into your existing quality assurance and development workflows to be effective.

Some best practices include:

  • Start with Business Objectives – Start by determining the business KPIs you’d like to improve (e.g., having each user set up five new projects or reducing abandoned carts by 10%). Then, link these business goals to technical goals you can measure with real user monitoring solutions and metrics.
  • Test New Product Releases or Features – Real user monitoring is an excellent way to test new product features. For example, you might use staged rollouts to test new releases or features (e.g., feature flags) with a limited set of users before rolling them out to everyone and use RUM to determine when they’re ready.
  • Foster Open Communication – Real user monitoring works best with open lines of communication between business and technical teams. Technical teams need business metrics to know what to test, while business teams can glean helpful insights from technical data (especially marketing departments).
  • Don’t Rely Exclusively on RUM – Real user monitoring should be part of a more comprehensive quality assurance strategy. For example, RUM shouldn’t be a substitute for automated or ad hoc testing since it only uncovers errors after deployment. Instead, it’s a valuable addition to an overall observability strategy.

How RUM Works with BugSnag

BugSnag builds upon the concept of RUM to deliver a platform capable of leveling up the quality of software right out of the box. While APM solutions focus on performance, BugSnag is laser-focused on the customer experience, helping to ensure application stability and making it easier for developers to fix bugs fast.

Figure1 BugSnag Stability Score is based on the percentage error-free app sessions users experience

The Stability Score – or the percentage of crash-free sessions – sits at the core of BugSnag’s platform. If the Stability Score falls below a certain threshold, your team knows it’s time to focus on troubleshooting bugs rather than building new features. In other words, it takes the guesswork out of resource prioritization.  

When it’s time to squash bugs impacting stability, the platform automatically prioritizes bugs based on their user impact. That way, you’re directing resources to the most impactful problems without wasting time fixing bugs that don’t matter. Instead, you can quickly improve the user experience and get back to developing new features.

Figure2 BugSnag gives developers the ability to create custom filters and alerts based on specific customers, sections of your application, etc.

Finally, the platform makes it easy to segment errors relevant to specific individuals or teams and set up targeted alerts. As a result, you can avoid “alert fatigue” and foster a sense of code ownership. You can even configure alerts for specific customer groups (e.g., VIP customers) or look at the stability of specific feature flags or releases.

The Future of RUM

Customer expectations are rising, and fast, error-free performance is essential to retain customers and drive business outcomes. While infrastructure speed certainly plays a role, performance is not the sole responsibility of DevOps teams. Both business and technical teams must work together to ensure customer satisfaction and success.

RUM addresses the often-missing link between performance, customer experience, and business outcomes. It lets you track actual users, surface errors, and exceptions after deployment. And it can help business and marketing teams better understand customers and their interactions with the application.

If you’re interested in adding RUM to your project, BugSnag makes it easy to catch errors in production. With over 6,000 customers monitoring over 80,000 projects, the platform has helped capture more than 500 million errors and improve the customer experience.

Get started today with a free trial

BugSnag helps you prioritize and fix software bugs while improving your application stability
Request a demo