You have an uptime monitor, it's green, and a customer just emailed to say they can't pay you. Now you're searching for synthetic monitoring tools and every ranking you find is a vendor's own list with their product at number one and no prices on the page.
The best synthetic monitoring tool depends on two questions: do you want to write code, and do you need full user tests or just uptime pings? Code-first teams should look at Checkly, Grafana Cloud, or Better Stack. No-code teams at Datadog or Pingdom. Pure uptime, UptimeRobot. Teams that want full tests without scripts, Smoketest.
Full disclosure up front: we build Smoketest, one of the eight. It sits in the same table under the same scrutiny, and where another tool fits better we say so. Every price below comes from the vendor's own pricing page, fetched July 12, 2026. Two vendors served EUR pricing to us; we print those as displayed rather than guessing at USD.
One disambiguation before we start: this post is about website transaction monitoring, meaning scripted user journeys like login and checkout. If you searched "transaction monitoring" looking for anti-money-laundering software, that's a different category entirely.
A ping is not a transaction
The core distinction this whole category turns on: an uptime check requests a URL and verifies the status code. A transaction check performs a multi-step user test in a real browser and verifies the outcome. These fail independently.
Your homepage can do this all day:
curl -s -o /dev/null -w "%{http_code}" https://shop.example.com
# 200while the actual test that earns you money does this:
checkout.spec.ts
import { test, expect } from '@playwright/test';
test('checkout completes', async ({ page }) => {
await page.goto('https://shop.example.com');
// add item to cart, enter test card, submit...
await expect(page.getByText('Order confirmed')).toBeVisible();
// fails: payment iframe never loaded, homepage still returns 200
});A broken payment provider integration, an expired API key, a JavaScript error in the checkout bundle: none of these change your homepage's status code. The 200s keep flowing while revenue stops. If a tool only does the first check, it is uptime monitoring, which is useful but is not synthetic transaction monitoring. Half the tools on vendor listicles quietly belong to the first category.
The quick comparison
| Tool | Authoring | Depth | Pricing (verified July 2026) | Best for |
|---|---|---|---|---|
| Checkly | Code (Playwright/TS) | Full-test | Free tier; $24 to $64/mo + usage | Playwright-fluent dev teams |
| Datadog | No-code recorder | Full-test | $12/1k browser runs (annual) | Teams already on Datadog |
| Grafana Cloud | Code (k6) | Full-test | Free 10k browser exec/mo; $50/10k on Pro | k6 and Grafana shops |
| New Relic | Recorder/scripted | Full-test | Included checks by edition; $0.005/check over | Teams already on New Relic |
| Pingdom | No-code recorder | Uptime + some test | From €14.33/mo annual (as displayed) | Legacy no-code uptime + basic tests |
| UptimeRobot | Config only | Uptime ping only | Free 50 monitors; from €10/mo | Pure availability on a budget |
| Better Stack | Code (Playwright) | Uptime + full-test | Free tier; $1 per 100 Playwright min | Cheap Playwright checks + status pages |
| Smoketest | Natural language | Full-test | $39/mo flat, 300 runs | Test verification without scripts |
Two axes that actually matter
Most rankings sort these tools by feature count. The two questions that actually predict whether you'll still be using the tool in six months are different.
Axis one: who writes the check? Code-first tools (Checkly, Grafana Cloud, Better Stack) give you real Playwright or k6 scripts, version control, and code review, at the cost of maintaining scripts when the UI changes. No-code recorders (Datadog, Pingdom) trade that for click-through authoring that non-engineers can use. UptimeRobot needs no authoring at all because it only pings. Smoketest takes a third path: you describe the test in ordinary sentences and an AI agent executes it.
Axis two: ping or test? UptimeRobot lives entirely on the ping side. Pingdom and Better Stack straddle both, selling uptime checks in bulk and transaction checks as the scarce unit. Checkly, Datadog, Grafana, New Relic, and Smoketest are built around full tests.
Plot your team on both axes before reading further. A team with no one who wants to own a test suite should not buy a code-first tool, however good it is.
Checkly
Checkly is monitoring as code done properly. Browser checks are standard Playwright specs picked up via testMatch in checkly.config.ts, and API checks are TypeScript constructs:
api.check.ts
import { ApiCheck, AssertionBuilder } from 'checkly/constructs'
new ApiCheck('api-health-check', {
name: 'API Health Check',
request: {
url: 'https://danube-web.shop/api/books',
method: 'GET',
assertions: [AssertionBuilder.statusCode().equals(200)],
},
})Pricing (source): free Hobby tier with 10 uptime monitors, 1,000 browser check runs, and 10,000 API check runs per month, hard-capped. Starter at $24/mo (3,000 browser runs), Team at $64/mo (12,000 browser runs, private locations, 30-second frequency). Overages run $6.25 to $6.50 per 1,000 browser runs.
Counterargument: you own the scripts. When the UI moves, someone on your team updates Playwright code, and if nobody wants that job the suite rots.
Best for dev and SRE teams already fluent in Playwright who want checks in version control.
Datadog Synthetic Monitoring
Datadog's browser tests are recorded, not coded: you install the Datadog Record Test extension and click through the test. Per their docs, "Tests can be only recorded from Google Chrome and Microsoft Edge." Step types cover assertions, email-link handling, and an "Assert from JavaScript" escape hatch for custom logic. Frequency ranges from every five minutes to once per week.
Pricing (source): browser tests at $12 per 1,000 runs on annual billing ($15 month-to-month, $18 on-demand). API tests at $5 per 10,000 runs annual. These are the most expensive browser runs on this list.
Counterargument: it only makes sense inside an existing Datadog commitment. Bought standalone, you pay the highest per-run rate here for a recorder with no code export, and the docs describe no Playwright support in browser tests.
Best for teams already paying Datadog who want synthetics on the same pane of glass.
Grafana Cloud Synthetic Monitoring
Grafana's browser checks are k6 scripts driving headless Chromium (import { browser } from 'k6/browser'), with check frequency from 60 to 3,600 seconds. The runner executes a single iteration and ignores load-test options like vus and stages.
Pricing (source): the free tier includes 100,000 API and 10,000 browser test executions per month with no card. Pro runs $5 per 10,000 API executions and $50 per 10,000 browser executions, with a $19/mo fee their page says includes the free-tier allotment; confirm how the allotments stack on your account.
The billing trap: an execution is, in their words, a test "running in a probe location per minute of run time." A 1.5-minute test across 5 locations consumes 10 executions per run. Multi-region browser checks multiply your bill in a way the headline price hides.
Counterargument: k6 is a smaller ecosystem than Playwright, and that per-location-per-minute unit punishes exactly the global, thorough checks you probably want.
Best for teams already running k6 or Grafana Cloud, and anyone who wants the most generous free API-check tier here.
New Relic Synthetics
New Relic bundles synthetics into its platform rather than selling it standalone. Included checks per month by edition (source): Free 500, Standard 10,000, Pro 1 million, Enterprise 10 million. Simple ping monitors are free and don't count against the limit. Overage is $0.005 per check.
Do the arithmetic before you rely on the included amounts. A single browser monitor at one-minute frequency is about 43,200 checks a month, which blows past Standard's 10,000 included and lands you roughly $166/mo in overage for one monitor.
Counterargument: synthetics here is a line item inside a large observability bill (Core users at $49/user/mo, data ingest at $0.40/GB past 100 GB free). Nobody should adopt New Relic for synthetics alone.
Best for teams already on New Relic Pro or Enterprise, where the included millions of checks make marginal cost near zero.
Pingdom
Pingdom (SolarWinds) is the legacy name in this space: a no-code Web Transaction Recorder driving real Chrome for transaction monitoring, plus classic uptime checks.
Pricing (source, which served us EUR; verify USD from your region): a quantity slider rather than named tiers. The starting synthetic bundle is 10 uptime checks, 1 advanced (transaction) check, and 50 SMS at €14.33/mo on annual billing. The structure to notice is the 10:1 ratio: uptime checks are cheap and plentiful, transaction checks are the scarce, expensive unit. RUM is sold separately from €14.33/mo.
Counterargument: one included transaction check monitors exactly one test. Real coverage of login, signup, and checkout means buying up the slider, and the recorder scripts are locked to Pingdom rather than exportable code.
Best for teams that want established, no-code uptime monitoring with one or two basic transaction tests on top.
UptimeRobot
UptimeRobot is the honest illustration of the ping-versus-transaction line: its pricing page lists HTTP, port, ping, keyword, DNS, and SSL monitoring, and no synthetic or transaction features at all. It cannot tell you whether checkout works. It will tell you very cheaply whether the server answers.
Pricing (as displayed, in EUR): free plan with 50 monitors at 5-minute intervals plus a status page. Solo at €10/mo adds 60-second intervals and multi-location checks. Team at €38/mo (100 monitors, seats), Enterprise at €82/mo (200 monitors, 30-second intervals).
Counterargument: none needed for what it is, only for what it isn't. Fifty free monitors is the best pure-availability deal on this list. Just don't file it under transaction monitoring, and pair it with something from the full-test rows.
Best for availability alerting on a budget, alongside a real test-testing tool.
Better Stack
Better Stack is the budget code-first hybrid: classic uptime monitors and status pages, plus a Playwright monitor type that runs standard @playwright/test scripts and alerts when a scenario fails. Secrets go in via process.env from environment variables configured in the monitor's advanced settings, and retries are built in.
Pricing (source): free tier with 10 monitors and a status page. Additional 50 monitors at $25/mo. Transaction monitoring is metered at $1 per 100 Playwright minutes, the cheapest browser-minute entry point here.
Counterargument: it is an uptime product with Playwright bolted on, not a full synthetics platform. You still write and maintain the scripts, and per-minute metering means slow tests cost real money at high frequency.
Best for small teams that want status pages, uptime checks, and a few Playwright tests in one inexpensive tool.
Smoketest
Smoketest is ours, so weigh this entry accordingly. You describe a test in ordinary sentences ("Log in with the test account. Open billing and add a paid seat. Confirm the invoice total updates.") and an AI agent executes it in a real browser, reading labels and page structure rather than CSS selectors, so renaming a button doesn't break the check. Every run produces video, step logs, and Playwright traces. Runs trigger on deploy, on schedule, or on demand, and alerts auto-clear on recovery.
Pricing (source): $39/mo flat ($32/mo annual) with 300 run credits, unlimited tests, and up to 10 seats. One credit covers a test run up to 10 minutes. Failed runs consume credits, and credits don't roll over. 14-day trial, no card.
Counterargument, stated plainly: the minimum scheduled cadence is one hour, so this is not a 5-minute-polling monitor, and it verifies critical tests rather than giving you full observability. No metrics platform, no dashboards over your infrastructure, no APM. It answers one question: do the tests your revenue depends on still work?
Best for teams without anyone who wants to own a Playwright suite, verifying login, signup, and checkout after every deploy.
What one checkout test actually costs
Vendors price in incompatible units, so here is one normalized scenario: a single browser test taking about one minute, run every 5 minutes from one location. That's 8,640 runs a month.
| Tool | Monthly cost for this scenario |
|---|---|
| Checkly | $64 (fits Team's 12,000 included browser runs) |
| Datadog | ~$103.68 (8,640 × $12/1k, annual billing) |
| Grafana Cloud | ~$43.20 at $50/10k executions, if the test stays under a minute in one location |
| New Relic | fits Standard's 10,000 included checks; at 1-minute frequency it wouldn't |
| Better Stack | ~$86.40 (8,640 minutes at $1/100) |
| Pingdom | starting bundle includes exactly 1 transaction check, €14.33/mo annual |
| UptimeRobot | can't run it |
| Smoketest | can't run it at this cadence; hourly minimum means 720 runs/mo, which itself exceeds the 300 included credits |
That last row is worth being blunt about: if your requirement is genuinely 5-minute polling of a browser test, Smoketest is the wrong tool and Checkly or Grafana is the right one. Smoketest's model assumes the interesting moments are deploys plus an hourly heartbeat, not continuous polling.
Where Smoketest fits
Everything above works if someone on your team writes and maintains the checks, or clicks through a recorder every time the UI shifts. It stops being a good use of your time when nobody owns that job and the suite quietly goes stale. Smoketest runs tests you describe in a sentence, in a real browser, after every deploy, for a flat $39/mo. It covers critical tests, not full observability, and the tools above are better if you need dashboards, metrics, or sub-hourly polling.
FAQ
What are synthetic monitoring tools?
Synthetic monitoring tools proactively test your site or app by simulating user actions on a schedule, rather than waiting for real users to hit errors. They range from simple uptime pings that check status codes to full browser-based transaction checks that log in, click through tests, and verify outcomes like a confirmed order.
What is an example of synthetic monitoring?
A scheduled browser check that visits your store every 15 minutes, adds an item to the cart, pays with a test card, and verifies the "Order confirmed" text appears. If any step fails, you get paged before customers notice. A simpler example is an uptime check verifying your homepage returns 200.
What is website transaction monitoring?
Website transaction monitoring runs multi-step user journeys (login, search, checkout) in a real browser on a schedule and alerts when a step fails. It catches failures that uptime checks miss, since a page can return 200 while its payment test is broken. It is unrelated to financial AML transaction monitoring.
Are there open source synthetic monitoring tools?
Yes. Uptime Kuma is the popular self-hosted option for uptime-style checks and status pages. For full browser tests, most teams self-host Playwright on a scheduler (cron or CI) and wire up their own alerting, which works but leaves retries, dashboards, and alert routing as your problem.
What is the difference between uptime monitoring and synthetic transaction monitoring?
Uptime monitoring requests a URL and checks the response, usually a status code or keyword. Synthetic transaction monitoring drives a real browser through a multi-step test and verifies the outcome. Uptime tells you the server answers; transaction monitoring tells you users can actually complete the actions your business depends on.


