Real user monitoring (RUM) tracks and measures the end user experience in an application, including how long it takes for elements on a web page to load, whether a page has errors, and how long AJAX and HTTP requests take. You can also use RUM to better understand how your users interact with your websites, giving you valuable insights on how to improve your sites and deliver value to your customers.
RUM is a core feature of application performance monitoring (APM). Real user monitoring is also sometimes known as browser monitoring because the end user experience happens in the browser. While other aspects of application performance monitoring involve measuring server-side performance (the backend), real user monitoring measures client-side performance—the browser where users interact with your application.
Why is real user monitoring important?
Everything in an application—from infrastructure to microservices to browser and mobile experiences—is ultimately built around creating a good experience for your end users. Tools like focus groups, surveys, and A/B testing can provide pieces of the puzzle, but they don’t give you the comprehensive, real-time, and ongoing insights into the user experience that real user monitoring can provide.
Users will abandon a website within seconds if there are slow page loads or other errors. If users have a particularly bad experience with an application, there are further ripple effects. According to one study by Forbes, 12% of users would go as far as to warn others against using a site or application if it doesn’t perform well. Here’s the bottom line: poor user experience negatively impacts not just customer satisfaction but also your brand’s reputation and success. If you wait until your customers are complaining—or worse, quitting your application altogether—it’s already too late. You need the tools to understand the end user experience in real-time.
In addition to avoiding site performance issues, it’s also important to optimize your sites where possible. Improvements in site speed have a strong positive impact on end-user behavior, which significantly benefits the bottom line. According to a study conducted by Deloitte, a 0.1 second improvement in a site’s speed led to an 8.4% increase in conversions with retail consumers. In addition, customer orders increased by 9.2% on average. So even if your site seems to be performing without obvious issues, real user monitoring can still help you improve the user experience by helping you locate and optimize pages that aren’t performing as well as they could.
When end users do have problems, you also need to pinpoint the source of the issue. In order to have full observability into your application, you need to monitor all parts of the stack from the server to the browser.
Modern client-side applications have also become increasingly complex, often combining single-page applications (SPAs) with highly dynamic elements and increased interactivity for end users. In order to increase client-side performance, developers often bundle code that runs in the end user’s browser client and minimizes interaction with servers. That means client-side applications are doing more of the heavy lifting than ever before—and rely on complex asynchronous code working correctly in the browser.
Because errors and performance issues often involve browser code, many user interactions aren't recorded in server-side logs. Software teams have limited visibility into what is actually happening in a user’s browser—unless they’re incorporating real user monitoring.
What can you monitor with a real user monitoring solution?
RUM tracks and analyzes client-side performance. A good real user monitoring solution tracks the following:
- Timing and performance measurements: By using the Navigation Timing API and cookies, real user monitoring solutions collect client-side performance data, including the time it takes to load and unload documents, overall web page performance, and browser load operations. These include Google’s Core Web Vitals such as the time it takes to load the first contentful paint and the largest contentful paint.
- Golden signals: It’s important to monitor the four golden signals, which are latency, traffic, errors, and saturation. For instance, New Relic Lookout provides a dashboard that shows deviations in golden signals with no additional configuration required.
- Transaction times: With real user monitoring, you get insights into how long each user transaction is taking, including AJAX and HTTP requests.
- User satisfaction: Apdex measures a user’s satisfaction with the response time of your web applications. You can set your own Apdex thresholds based on your own criteria and KPIs.
- Single-page application (SPA) performance: Track how your SPAs are performing, including initial page load and route change performance details.
- Basic end user information: Details include web browser type and version, device type, operating system, and geographic location based on IP address.
How to set up real user monitoring
Real user monitoring is usually part of an APM or observability solution. You can implement real user monitoring with instrumentation, which is the process of adding or installing an agent in your application code. Ideally, the instrumentation process should be easy to implement and require minimal additional configuration. For example, you can instrument browser monitoring with New Relic in just a few minutes.
Monitoring solutions such as New Relic come with built-in dashboards that display typical metrics related to the user experience such as page load times. You can also build custom dashboards based on the metrics that matter most to you.
Finally, it’s a best practice to set up alerts so your teams are notified when issues arise. For instance, you could set an alert to trigger based on the percentage of transactions that are causing errors or the average HTTP response time.
What is the difference between real user monitoring and synthetic monitoring?
As the name implies, real user monitoring measures how real users are interacting with your website. Synthetic monitoring uses simulated users to measure how your website is performing. As an example, you can use both real user and synthetic monitoring to track the average HTTP request time on your site. While real user monitoring will base its metrics on end user HTTP requests, synthetic monitoring involves using a headless browser to measure how long each HTTP request takes.
Learn more about synthetic monitoring.
Get started with real user monitoring. Try New Relic.
The best way to learn more about real user monitoring and observability is to get hands-on experience with a real user monitoring solution. Sign up for a free New Relic account to get started. Your free account includes 100 GB/month of free data ingest, one free full-access user, and unlimited free basic users. Then check out our browser monitoring page and take a deeper dive into our browser monitoring documentation.
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.