Synthetic Monitoring vs RUM vs Uptime Monitoring
These three get conflated constantly. They answer genuinely different questions — and for an online store, the difference decides whether you find out about a broken checkout in minutes or in days.
The one-line difference
| Approach | The question it answers | Catches a broken checkout? |
|---|---|---|
| Uptime monitoring | Is the server responding? | No — a broken checkout still returns 200 |
| Real-user monitoring (RUM) | What are real visitors experiencing? | Only after a real customer hits it |
| Synthetic monitoring | Can a user complete this action now? | Yes, proactively |
Uptime monitoring: availability
Uptime monitoring fires an HTTP request at a URL on an interval and checks the status code and response time. It's cheap, simple, and genuinely useful for one thing: telling you the site is reachable. (Technically, uptime monitoring is itself a synthetic check — the simplest possible one.) Its limit is that a status code says nothing about function. A store returns 200 while its Add to Cart button does nothing, so uptime monitoring stays silent through most revenue-losing failures. More on that in why an HTTP 200 store can still be broken.
Real-user monitoring: what really happened
RUM installs a small piece of JavaScript that instruments real sessions and reports back load times, errors and journeys, broken down by device, browser and location. It's the most accurate picture of real-world experience, and it's excellent for performance trends and for spotting issues that only appear on specific devices. Its defining limit is that it's reactive: RUM needs a real customer to encounter the problem before it shows up in the data — by which point you've already lost that order. It also needs enough traffic to be reliable, so on a quiet product page a break can go unseen for a while.
Synthetic monitoring: the proactive check
Synthetic monitoring simulates a user with an automated browser and runs a scripted journey on a schedule, whether or not anyone is shopping. Because it doesn't wait for real traffic, it's proactive: it can catch a checkout break at 3am, before the morning ad spend drives customers into it. Pointed at a purchase, it becomes synthetic transaction monitoring — the check that verifies a customer can actually buy.
Why they're complementary, not competing
The three aren't a ranking; they cover different ground:
- Uptime — the baseline signal that the site is reachable at all.
- RUM — the real-world truth of how your actual visitors experience the site, across every device you can't test yourself.
- Synthetic — the check that verifies your revenue-critical flows work, before a customer finds out they don't.
A well-covered store uses more than one, and Shopify's own guidance recommends combining synthetic and real-user monitoring for exactly this reason. If you only add one thing, though, add the one that protects the purchase: for most stores the biggest blind spot is functional, and that's the synthetic gap.
Which one catches a broken Shopify checkout?
Of the three, only synthetic monitoring catches a broken checkout before a customer does, and it does so while the store returns a healthy 200. That's the gap Revenue Shield fills for Shopify: a real browser runs your purchase flow to checkout on a schedule on desktop and mobile, and alerts you with evidence when a step fails — running alongside, not instead of, whatever uptime or RUM you already have.
Frequently asked questions
Is synthetic monitoring better than RUM?
Is uptime monitoring a type of synthetic monitoring?
Do I need all three?
Which one catches a broken Add to Cart button?
See it on your own store — free
Run a free checkout scan on any live Shopify store. Two real browsers go to checkout on desktop and mobile, show where it lands and list the apps loading on your store. No install, no card. Results in about 2 minutes.
Scan my store freeor install on Shopify →Rated 5/5 by merchants on the Shopify App Store