Skip to main content

Understanding Real User Monitoring (RUM)

Written by Raj

Real User Monitoring (RUM) captures performance metrics directly from your customers' browsers as they browse your store. Unlike synthetic tests that simulate page loads, RUM shows you exactly how real visitors experience your site—across different devices, browsers, locations, and network conditions.

This data helps you:

  • Identify pages that load slowly for customers

  • Spot performance regressions before they impact sales

  • Prioritize optimizations based on actual user impact

  • Track improvements over time

What metrics are tracked?

InstaIndex tracks all Core Web Vitals plus additional timing metrics:

Metric

Full name

What it measures

Good score

LCP

Largest Contentful Paint

How quickly your main content loads

< 2.5s

INP

Interaction to Next Paint

How responsive your page is to user input

< 200ms

CLS

Cumulative Layout Shift

Visual stability (unexpected layout shifts)

< 0.1

TTFB

Time to First Byte

Server response time

< 800ms

FCP

First Contentful Paint

Time until first content appears

< 1.8s

The first three—LCP, INP, and CLS—are Google's Core Web Vitals, which directly impact search rankings. TTFB and FCP provide additional diagnostic context.

Understanding the Overview dashboard

The Overview dashboard gives you a snapshot of your store's performance at a glance.

Metric summary cards

At the top of the dashboard, you'll see five cards—one for each metric. Each card displays:

  • P75 score: The 75th percentile value, meaning 75% of your visitors experience this score or better. This is the same threshold Google uses for search ranking signals.

  • Rating: Good (green), Needs Improvement (yellow), or Poor (red) based on Google's official thresholds.

  • Distribution bar: A visual breakdown showing what percentage of page views fall into each rating category.

Click any metric card to dive into its dedicated detail page.

Core Web Vitals rating over time

This stacked area chart shows the daily percentage of page views rated Good, Needs Improvement, or Poor. The rating is based on the combined performance of LCP, INP, and CLS:

  • Good: All three Core Web Vitals meet the "Good" threshold

  • Needs Improvement: At least one metric needs improvement, but none are poor

  • Poor: At least one metric is in the "Poor" range

Use this chart to:

  • Track whether your overall performance is improving or degrading

  • Correlate performance changes with site updates, app installations, or theme changes

  • Set goals for increasing your "Good" percentage

Core Web Vitals by country

A world map visualization showing performance by geographic region. Countries are color-coded by their overall Core Web Vitals rating. Hover over any country to see:

  • Number of page views from that country

  • Individual LCP, INP, and CLS scores

  • Overall rating

Since Shopify manages your store's hosting and CDN infrastructure, some regional variation is normal and expected—visitors farther from data centers will naturally experience slightly higher latency. However, this data is still valuable for:

  • Understanding your audience: See where your traffic comes from and which markets matter most to your business.

  • Identifying third-party script issues: If a specific region shows unusually poor performance, a third-party app or script hosted in a different region could be the cause. You can investigate and consider alternatives.

  • Prioritizing your efforts: If 95% of your traffic is from the US with Good scores, poor performance in a low-traffic region may not warrant immediate attention.

  • Spotting anomalies: A country that suddenly shows degraded performance could indicate a localized issue worth investigating.

Core Web Vitals by page type

A table breaking down performance by page type (Home, Product, Collection, Article, Page, Cart, Checkout, Search, Other). For each page type, you'll see:

  • Number of page views

  • P75 scores for LCP, INP, and CLS

  • Overall rating

This helps you identify which types of pages need the most attention. For example, if your Product pages have poor LCP but your Collection pages are fine, you know to focus optimization efforts on your product template.

Core Web Vitals insights

The insights panel surfaces automated recommendations based on patterns detected in your data. Insights are ranked by severity (High, Medium, Low) and may include:

  • Slow LCP elements: Identifies specific images or elements that are delaying your largest contentful paint, along with their CSS selector so you can find them in your code.

  • Slow INP scripts: Pinpoints JavaScript files causing slow interactions, helping you identify problematic third-party scripts or app code.

  • CLS-causing elements: Shows which elements are shifting unexpectedly, often images without dimensions or dynamically injected content.

  • Mobile vs desktop gaps: Alerts you when mobile performance is significantly worse than desktop.

  • Performance regressions: Detects when a metric has gotten worse compared to the previous period.

Each insight includes actionable context like the specific element selector or script URL—so you can investigate and fix the issue.

How data is collected

RUM data is collected automatically when the InstaIndex SEO block is enabled on your theme. The block loads a lightweight script (under 5KB gzipped) that:

  1. Measures Core Web Vitals using the standard web-vitals library

  2. Captures basic context (page type, country, browser, device)

  3. Reports metrics back to InstaIndex

Data typically appears in your dashboard within a few minutes of page views occurring.

Privacy

The RUM script is designed with privacy in mind:

  • No personally identifiable information (PII) is collected. We don't capture names, emails, IP addresses, or any customer data.

  • No cookies or identifiers. Each page view is anonymous and independent.

  • No form inputs or shopping data. We only measure performance timing, not what customers are doing.

  • Aggregate data only. Metrics are stored as statistical distributions, not individual user sessions.

Filtering your data

Use filters to segment your data and investigate specific scenarios. Filters are available at the top of the RUM pages and apply across all views.

Available filters

Filter

Options

Use case

Date range

Last 7, 14, 30, or 90 days

Compare recent changes vs longer trends

Page type

Home, Product, Collection, Article, Page, Cart, Checkout, Search, Other

Focus on specific templates

Country

Any country with traffic

Investigate regional performance

Browser

Chrome, Safari, Firefox, Edge, etc.

Debug browser-specific issues

Device

Mobile, Desktop

Compare mobile vs desktop experience

Tips for using filters

  • Combine filters to drill down. For example, filter by "Mobile" + "Product" to see how product pages perform on phones.

  • Compare with and without filters to understand if an issue is global or isolated to a specific segment.

  • Check your sample size. Heavily filtered data may have fewer page views, making P75 scores less stable.

Filters persist as you navigate between RUM pages (Overview, individual metrics, All pages, All countries).

Monitoring settings

Click the Settings button in the page header to open the monitoring settings modal. Here you can control how data is collected.

Sample rate

The sample rate determines what percentage of visitors are measured. By default, this is set to 100% (all visitors).

Lowering the sample rate helps you:

  • Stay within your page view limit: If you have high traffic, reducing to 50% or 25% can extend your monthly quota significantly.

  • Reduce script execution: Visitors not in the sample won't run any measurement code.

Even at lower sample rates, your P75 scores remain statistically valid as long as you have enough samples. A 10% sample rate on a high-traffic store can still provide accurate data.

Pausing monitoring

Toggle Pause monitoring to completely stop data collection. When paused:

  • The RUM script is removed from your pages—no extra JavaScript is loaded

  • No new data is recorded

  • A warning banner appears on all RUM pages

  • Existing historical data remains accessible

  • Your page view quota is not consumed

Pausing is useful when:

  • You're not actively using RUM and want to minimize scripts on your pages

  • Making major theme changes or redesigns

  • Troubleshooting and want a clean baseline

Toggle the setting off to resume monitoring. New metrics will begin appearing within minutes.

Plan limits and page views

RUM usage is measured by page views. Each subscription plan includes a monthly page view allowance that determines how much data you can collect.

How page views are counted

Each time a visitor loads a page on your store and the RUM script reports metrics, it counts as one page view. A single visitor browsing multiple pages will generate multiple page views.

When you reach your limit

If you reach your monthly page view limit:

  • New metrics stop being recorded for the remainder of the month

  • You'll see a banner indicating your limit has been reached

  • All existing data remains fully accessible for analysis

  • Usage resets automatically on the 1st of each month (UTC)

Managing your usage

To stay within your limit:

  • Lower your sample rate: Reduce from 100% to 50% or 25% to cut page view consumption proportionally while maintaining statistical accuracy.

  • Pause during low-priority periods: If you only need data during specific campaigns or seasons, pause monitoring otherwise.

  • Upgrade your plan: If you consistently need more capacity, consider a plan with a higher page view allowance.

You can see your current usage (page views used vs. limit) in the monitoring settings modal.

Next steps

Now that you understand the basics of Real User Monitoring, explore these topics to dive deeper:

Did this answer your question?