Synthetic Monitoring Setup: Protecting Critical Paths from Failures
Imagine: in the middle of a workday, the order form goes down. Uptime monitoring shows 200 OK, but users can't pay. We implement Synthetic Monitoring — browser-based monitoring that runs through key scenarios every 5-15 minutes and triggers an alert on error. Over 5 years of practice on 50+ projects, we've refined our method. It catches failures before the business notices them.
Synthetic Monitoring mimics real user actions. It opens a browser, walks through a scenario (like placing an order), and records the time of each step, any errors, and screenshots. This detects problems invisible to uptime monitoring: broken JavaScript, changed selectors, slow API responses. According to State of Synthetic Monitoring, 78% of companies already use synthetic checks for critical scenarios. Synthetic checks answer the question "Is the business working?" not just "Is the server responding?" It's a key element of Business Continuity.
On a typical e-commerce site, we set up 5-7 scenarios: search, product card, cart, checkout, order confirmation. For SaaS — login, resource creation, key action. Each scenario runs from multiple regions to filter out random network errors.
Difference from uptime monitoring
A simple ping to GET / is not synthetic monitoring. It only answers "Is the server alive?" Synthetic monitoring checks business functions:
- New user registration
- Search and result display
- Adding item to cart
- Going through checkout
Such automated checks provide availability and performance metrics for each step. This directly impacts revenue: if checkout is broken, the site loses money. One hour of checkout downtime can cost up to $100,000 for an average e-commerce site. This depends on traffic and average order value.
Which critical paths we monitor
| Site Type | Critical Paths | Check Frequency |
|---|---|---|
| E-commerce | Search → product → cart → checkout | Every 5-10 min |
| E-commerce | Login → account → order history | Every 15 min |
| SaaS | Login → dashboard → project creation | Every 5 min |
| SaaS | API endpoints for B2B clients | Every 1 min |
| Content site | Search → article → subscription form | Every 15 min |
Why we choose Playwright + Checkly
Playwright is a modern browser automation framework. It works with Chromium, Firefox, WebKit. Playwright runs tests 2-3 times faster than Puppeteer due to parallel contexts and efficient browser management. Combined with Checkly (managed platform), we get test execution from 10+ regions worldwide. It provides screenshots on error, waterfall trace of requests, and integration with PagerDuty, Slack, Opsgenie.
Example script for checkout check:
// checkly: checkout-flow.spec.js
const { chromium } = require('playwright')
const { expect } = require('@playwright/test')
async function checkoutFlow() {
const browser = await chromium.launch()
const page = await browser.newPage()
try {
// Open catalog
await page.goto('https://www.saucedemo.com/inventory.html')
await expect(page.locator('.product-grid')).toBeVisible()
// Select first product
await page.locator('.product-card').first().click()
await expect(page.locator('[data-testid="product-title"]')).toBeVisible()
// Add to cart
await page.locator('[data-testid="add-to-cart"]').click()
await expect(page.locator('[data-testid="cart-count"]')).toContainText('1')
// Go to cart
await page.goto('https://www.saucedemo.com/cart.html')
await expect(page.locator('.cart-items')).toContainText('1 товар')
console.log('Checkout flow: PASS')
} finally {
await browser.close()
}
}
What's included in turnkey Synthetic Monitoring setup
- Critical path audit: together we identify 5-7 scenarios that drive your business
- Writing Playwright tests with error handling and assertions
- Configuring a managed platform (Checkly or Datadog) or self-hosted on GitHub Actions
- Alert integration into PagerDuty, Telegram, Slack
- Test data management: creating a test user, cleaning orders, excluding from analytics
- Documentation for launch and maintenance
- Team training (1-hour video call)
Schedule a free consultation — we'll help you choose the optimal monitoring solution.
Self-hosted option: GitHub Actions + Playwright
If budget is limited, we deploy monitoring on GitHub Actions. Code in a repository, run on cron every 5-15 minutes:
name: Synthetic Monitoring
on:
schedule:
- cron: '*/5 * * * *'
workflow_dispatch:
jobs:
check-critical-paths:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Playwright
run: npx playwright install chromium
- name: Run synthetic checks
run: npx playwright test tests/synthetic/
- name: Notify on failure
if: failure()
run: curl -X POST "$SLACK_WEBHOOK" -d '{"text":"FAILED"}'
Limitation: GitHub Actions cron does not guarantee second-level accuracy (can be delayed 5-15 minutes). For time-critical scenarios, use managed services.
How Synthetic Monitoring prevents revenue loss?
Real case: after a CMS update, a retailer's delivery method selection step broke. Uptime monitoring was silent (200 OK), and orders weren't placed for 4 hours. Synthetic check caught the problem 5 minutes after deployment. Thanks to fast feedback, downtime was minimized, saving the business an estimated $50,000 per month.
Another example: how we prevented a failure on a SaaS platform
In one project, an API change returned a 500 error on the project creation endpoint. A synthetic test running every 5 minutes recorded the failure within 2 minutes of deployment. Developers received an alert and rolled back the change in 10 minutes. Without monitoring, downtime would have lasted up to 2 hours.Work stages and timelines
- Analysis (1 day): define critical paths, agree on test data
- Test development (1-2 days): write Playwright scripts, set up environment
- Platform integration (1 day): Checkly / Datadog / GitHub Actions + alerts
- Testing (0.5 day): run tests, adjust timeouts and locators
- Deployment and handover (0.5 day): documentation, training, access transfer
Total timeline — from 2 to 5 business days depending on number of scenarios. We'll evaluate your project for free — get in touch via email or messenger.
Test data management
- Dedicated synthetic user with a production account
- Payment method: test card (Stripe 4242)
- Orders tagged as
syntheticand excluded from reports - Daily cart and draft cleanup via API
Metrics and alerts
| Metric | Description | Threshold |
|---|---|---|
| Availability % | Percentage of successful runs | < 99% → warning, < 95% → critical |
| Step duration | Time per step (P95) | > 3 sec → warning, > 5 sec → critical |
| Total flow duration | Total scenario time | > 10 sec → warning, > 20 sec → critical |
| First failure step | Which step failed | Any error → critical |
Alerts: if 2 out of 3 checks from different regions fail — critical in PagerDuty. We set escalation to the team within 5 minutes.
Ready to implement Synthetic Monitoring and protect your business from downtime? Contact us — we'll evaluate your project in one day. Get a consultation with an engineer — we'll show you how to secure your project.







