Guide

Synthetic Monitoring vs RUM vs Uptime Monitoring

By Gary Gillespie · Last updated

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

ApproachThe question it answersCatches a broken checkout?
Uptime monitoringIs 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 monitoringCan 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?
Neither is better; they answer different questions. RUM tells you what real visitors experienced; synthetic monitoring proactively tests whether a journey works before a customer hits it. Most teams run both.
Is uptime monitoring a type of synthetic monitoring?
Yes — uptime monitoring is the simplest synthetic check: a scripted HTTP request on a schedule. Full synthetic monitoring goes further by driving a real browser through a multi-step journey and asserting each step.
Do I need all three?
Not to start. Uptime is often already in place; the common missing piece for stores is synthetic checkout monitoring, because that failure class costs the most and shows up in neither uptime nor — until too late — RUM.
Which one catches a broken Add to Cart button?
Synthetic monitoring, proactively. RUM catches it only after real customers hit it; uptime never does, because the page still returns HTTP 200.

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