Real User Monitoring

Definition

Real User Monitoring, RUM for short, is a method used to collect real-time performance and availability data about each interaction a visitor on your website, application or online service has with a view to understanding and reporting on customer experience.

This approach enables an holistic view of how the online service is delivered and used by real users as opposed to the protection of service functionality provided by synthetic monitors.  

RUM is considered as one of the base components of application performance monitoring (APM) as it provides detail about the digital experience from the end-user perspective.  As such it is adopted either within an APM suite or as a separate component of a wider digital experience strategy.  Due to the real-time nature of the data it is used not only by Operations departments but also by digital and marketing teams that can benefit from the insights into customer experience this tooling can provide.

To capture the data relating to real users RUM relies on the insertion of a JavaScript snippet into the head section of the HTML for each web page. Typically the snippet should only be a few kilobytes in length and also be loaded asynchronously to limit any performance impact of loading third party software on the webpage. The snippet will act as a bootstrap and itself load further resources that enable the capture of the metrics generated by the user on the web page. Once thedata has been captured it is `beaconed` back to the data store of the RUM service vendor.  

The data is then postprocessed so that it can be reviewed in conjunction with the data collected from all of the other website visitors.  Once processed it is accessible through a SaaS application, also provided by your RUM vendor. 

RUM snippets can also be loaded through a TAG management system into the HTML stream.  There are many reasons why this approach may be taken, such as ease of implementation, but essentially the end result is the same that the RUM JavaScript snippet is inserted into the HTML stream and the important visitor data is captured.  Although this method works, it is possible for session data to be lost if the RUM snippet has not loaded and the RUM software initialised prior to the visitor leaving the webpage.  Consequently, if using a TAG manager ensure that the RUM tag is the first tag processed to enable all monitoring resources are loaded as quickly as possible.

Usage

Comprehensive real user monitoring tools gather a considerable amount of data about each visitor to a website or application and considering the number of visitors may be counted in the millions on a daily basis, RUM systems can be considered as a Big Data system.  

As so much data is collected it is important to ensure that the data is organized to enable fast and efficient access to it.  As a big data system this provides a considerable challenge and to date few vendors have been able to solve this problem.  Consequently compromise invariably exists in the reporting portal and although a considerable amount of data is made visible, like an iceberg, there will be even more data that is available but may be difficult to access and obtain business value from.

Industry-standard web APIs are used to collect the data as a RUM tool will need to work on any platform your website is loaded on.  This wealth of available data can enable the ability to understand how a website performs for all types of visitors, irrespective of the type of device or network they use.  It can also be used to monitor events, including a web page bounce, a business conversion, such as a product sale, or when current web performance is degraded.  

Additional Information

Real user monitoring is a popular tool for understanding how websites and applications are used.  There is considerable choice in the tools available with dozens of different vendors providing solutions.  Typically, RUM systems are priced on the number of pages observed on a monthly or yearly basis.  As with synthetic monitoring Application Performance Monitoring (APM) vendors all provide their own version of RUM as an integral component of their wider solution.  However, APM tools do not suit every environment and a RUM tool can be used as a stand-alone solution to an operational or business problem.