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:
Measures Core Web Vitals using the standard web-vitals library
Captures basic context (page type, country, browser, device)
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:
Understanding LCP (Largest Contentful Paint) — Learn what causes slow LCP and how to fix it
Understanding INP (Interaction to Next Paint) — Improve your store's responsiveness
Understanding CLS (Cumulative Layout Shift) — Fix unexpected layout shifts
Viewing performance by page — Find your slowest pages
Viewing performance by country — Identify regional performance issues
