Here is a scenario that plays out more than it should. A business owner checks their monitoring dashboard, sees everything green, and goes about their day. Meanwhile, the checkout page has been broken for six hours. The server is up. The homepage loads fine. The uptime check has been passing every minute. Nobody knows.
A basic uptime check is not the same as knowing your site works. It's the same as knowing your front door is unlocked, when what you actually need to know is whether anyone can get in, find what they came for, and walk out with it.
What an uptime check actually does
A standard uptime monitor does one thing: it sends a request to a URL and checks whether it gets a response. Status 200, the check passes. No response or a 500 error, the check fails. That's the whole thing.
This catches a server that went offline or a DNS failure. Those are real problems worth catching. But they're also not where most businesses lose money. The more common failure is quieter: the server responds, the page loads, but something deeper is broken. A payment integration that stopped working after an API update. A contact form that submits but never delivers. A login flow that returns an error on mobile after a browser update that the developer didn't test against. All of those would pass an uptime check without question.
What synthetic monitoring does instead
Synthetic monitoring runs scripted user journeys against your site on a schedule. Not just "does this URL respond" but "load the page, fill in the form, click submit, confirm the confirmation screen appeared." The monitoring tool plays the role of a real user, step by step, and alerts you if any step fails.
This is where the name comes from: the traffic is synthetic, manufactured by the monitoring system rather than coming from a real visitor. But the behavior is real. It goes through the actual flow, hits the actual integrations, and either succeeds or doesn't.
For a business that takes online bookings, that means a check that runs through the booking flow every five minutes: pick a date, fill in the details, submit, confirm the booking confirmation appears. If that check starts failing at 2am on a Tuesday, you know before your customers start calling Wednesday morning with questions about why their appointment never confirmed.
The scenarios where this matters most
Not every site needs synthetic monitoring at the same level. But there are a few situations where a basic uptime check is genuinely not sufficient:
- You take payments or bookings online. This is the clearest case. If a customer can't complete a purchase, your business loses money in real time. A synthetic check on the checkout or booking flow is the only way to know it's working before a customer tells you otherwise.
- You rely on third-party integrations. Payment processors, CRM syncs, booking engines, email delivery: these services have their own uptime issues and API changes that have nothing to do with your server. Your server being up doesn't mean Stripe's webhook is still configured correctly after their last update.
- You have a login or account area. Authentication breaks in specific and hard-to-notice ways. A token expiry issue, a session configuration change after a deployment, a third-party auth provider outage. None of these show up as a homepage error. A synthetic check on the login flow catches them before they lock out your users.
- Your lead form is how people contact you. A contact form that loads and submits but doesn't deliver to your inbox is one of the most common silent failures I see. The user thinks they sent a message. You never get it. A synthetic check can confirm end-to-end delivery, not just that the submit button works.
Running both together
This isn't an argument for dropping uptime checks in favor of synthetic ones. They catch different things and you want both. The uptime check is the broad perimeter: is the server alive, is the domain resolving, is the SSL valid. It runs every minute and catches the fast, obvious failures. The synthetic check is the functional test: does the thing your business depends on actually work right now. It runs every few minutes on the specific flows that matter.
Together they cover the range. Separately, you have a gap that's big enough to cost you a day of business without anyone noticing.
What good synthetic checks look like in practice
A few things I've learned setting these up across different kinds of businesses:
- Start with the highest-value flow, not the most interesting one. Checkout or contact form first. Everything else second. The goal is to catch the failure that would cost the most, not to build a comprehensive test suite.
- Use test accounts and test data. Synthetic checks that run against production with real data create real records, real emails, real charges. Set up dedicated test accounts and flag synthetic traffic appropriately so it doesn't pollute your real data.
- Keep the assertions tight. Check for the specific success state, not just "the page loaded." Confirming a success message appeared is different from confirming the page responded. The former is what you actually care about.
- Set a reasonable check interval. Every five minutes is usually right for a checkout or booking flow. Every minute is overkill and generates noise. Every thirty minutes is too slow to catch something before a few customers run into it.
The setup cost is lower than you think
The reason most small businesses don't have synthetic monitoring isn't cost. Tools like New Relic, Checkly, and Datadog Synthetics all have tiers that cover a handful of checks for a few hundred dollars a year, sometimes less. The reason is that nobody set it up and pointed it at the right flows.
I've done the full setup as part of larger monitoring projects: scripting the user journeys, connecting the alerting, making sure the notifications go to the right person at the right time, not to a Slack channel that seventeen people muted because the old setup sent too much noise. The technical part is not complicated. The value is in knowing exactly what to watch and making sure the signal is trusted when it fires.
Not sure whether your critical flows are actually being monitored?
I set up monitoring and alerting that covers the things that actually cost you money when they break. Tell me what your business runs on and I'll tell you what's worth watching and what isn't.