Real user monitoring (RUM)

A step-by-step guide to help you set up your real user monitoring and onboard your team members who are new to SpeedCurve

Step 1 • Insert the RUM snippet and adjust your sample rate

You can get the snippet at any time by going to Settings > Edit RUM > JS Snippet.

Where to insert the snippet

The lux.js script is loaded asynchronously so it won't harm the performance of your site. It's best to put the snippet as early in the page as possible, i.e. at the top of the HEAD element. This ensures that LUX is able to collect as much data as possible for each page.

Single-Page App (SPA)

Follow the guide for using SpeedCurve RUM with a SPA.

How to adjust your sample rate

You can set your RUM sample rate on your Settings page. The default sample rate is 100%. You should change the sample rate to a value that matches the plan you want to sign up for.  

For example, if your site typically gets 900 million page views per month, and you want a RUM plan that covers a maximum of 10 million page views per month, then set the sample rate to 1%. 


Learn more:

Step 2 • Add page labels

This is a crucial step in your RUM setup. By default, pages are grouped by their page title (document.title), but you'll want to use the RUM JS API to label and group your pages by type or template. This is very important for using great features such as the vitals dashboard and combining your synthetic and RUM data. This also streamlines the number of page labels in your RUM filters.


Learn more:

Step 3 • Get to know the dropdown filters

The dropdown filters at the top of each RUM dashboard let you quickly drill down into your data. All you have to do is click the arrow icon on the right-hand side of the filter menu to filter your data by domain, page label, device, browser, country, connection, median/average/75th/95th percentile, and custom data variable.


Learn more:

Filtering Favorites Dashboards

Step 4 • Create custom metrics

It’s great to have standard metrics, such as onload time and start render, that work across all web pages. But these metrics don’t tell you about important things you care about, such as how quickly your ads and third parties are rendering, or how fast your site appears to users. 

This is where custom metrics come in. RUM lets you create Custom Metricsto track the performance of key page components – such as hero images (for tracking user-perceived performance) or third-party scripts (for tracking ad performance).

Step 5 • Add your own custom dimensions, conversions and metadata

Segmenting your data by different cohorts as well as capturing important user events like cart conversions can help you better understand the user impact of performance.

  • Transactional information such as cart size and conversion information. You can use this data to create correlation charts, like the one below, which show you the relationship between your performance metrics and business metrics

  • A/B testing information such as the name of the test bucket.

  • User information such as account ID or username.

Learn more about Custom Data here.

Page load correlated with conversion rate illustrates the impact of performance on your bottom line.

Page load correlated with conversion rate illustrates the impact of performance on your bottom line.


Learn more:

Track any metrics you want (cart size, A/B tests, conversion info) using the addData API

Track conversion rates in RUM

Step 6 • Create custom charts in your Favorites dashboards

RUM gives you dozens of curated default charts and dashboards right out of the box. Ultimately, though, you'll want to go deeper into your specific user data. To do that, you'll want to Create custom dashboards and charts in your Favorites dashboard. 

Custom charts let you do things like:

  • Create performance budgets and set alerts (see Step 10)

  • Combine data from your LUX monitoring and your Synthetic testing in one chart

  • Choose average, median, 75th or 95th percentile

  • Create charts that compare multiple metrics, including metrics generated by User Timing and custom data (see steps 6 & 7)

  • Select multiple values for a filter, eg, browser = Chrome or Firefox, country = UK or US

  • Compare A/B tests in a single chart

  • Generate weekly reports for different teams

A customer dashboard combining RUM and Synthetic data

A customer dashboard combining RUM and Synthetic data

Step 7 • Create performance budgets and set alerts

To make sure your website stays fast, set up some performance budgets so you can see if there are any regressions. Performance budgets are a vital tool in your web performance toolbox. They take the hassle out of monitoring performance by notifying you (by email, Slack, or any other webhook) whenever your RUM metrics cross a certain threshold.

The great news: creating performance budgets is quick and easy.

Threshold options when adding a performance budget

Threshold options when adding a performance budget

Performance budget alert sent to Slack channel

Performance budget alert sent to Slack channel

Step 8 • Add more domains

To add more domains to your RUM monitoring, go to your Settings page and choose which site you'd like to associate the domains with. If it's a brand new site, you'll need to add it first. When editing a site you can add domains separated by commas.

Note that adding more domains will increase your total number of RUM page views. If you're getting close to your monthly cap, you can choose to either adjust your sample rate (as described in step 1) or contact us about increasing your monthly cap.


Learn more:


We're always working to make your SpeedCurve learning curve as short and sweet as possible. If you have any questions or feedback, please let us know! Send your comments to [email protected].