Your homepage loads. Can anyone pay?

saysOK walks through your checkout in a real browser, like a customer, and tells you the moment a step fails, beside the uptime, SSL and DNS checks every shop needs.

Checkout · browser check FailedSample data
  1. 1Go to URLhttps://acme-shop.example/products/blue-mugPassed · 812 ms
  2. 2Clickbutton:has-text('Add to cart')Passed · 140 ms
  3. 3Go to URLhttps://acme-shop.example/checkoutPassed · 1.2 s
  4. 4Fill field#email → monitor@acme-shop.examplePassed · 96 ms
  5. 5Expect textCard numberFailed · 30 s
  6. 6Take screenshotpayment formSkipped
Frankfurt and Virginia · retried twice · every 5 min

Built for a shop that has to take money

A browser check is a list of steps: go to a page, click, fill a field, wait, and expect a text or an address. It runs every minute to every hour, from the regions you pick, and can stop before payment so it never places an order.

See what the customer saw

When a step fails you get the page as the browser saw it at that step, the error, and a video of the run. You know what broke before you open the shop yourself.

Step 5 · Expect text “Card number”Sample data
Timed out after 30 s waiting for text “Card number”.
Screenshot of step 5Video of the runStep timings

Certificates and DNS that never lapse

SSL checks fail before a certificate expires, and an SSL expiry rule reminds you 30, 14 and 3 days out. DNS checks alert when your records stop matching what you set. Checked as often as every 30 sec on Pro.

SSL and DNSSample data
acme-shop.example certificateexpires in 13 days · reminded at 30 and 14 days, fails at 3
Up
pay.acme-shop.example certificateexpires in 71 days
Up
acme-shop.example MX recordsmatch what you set
Up

Tell customers before they email you

Name the affected part of the shop on the incident and your status page says so, and its subscribers hear by email, SMS, Slack or webhook. When the incident resolves, the page and the subscribers are told.

status.acme-shop.exampleSample data
Acme Shop Status
Partial outage: Checkout
Investigating · 20:44We are investigating an issue affecting Checkout.
Resolved · 20:55This incident has been resolved.
Each update also went to the page's subscribers by email.

Feeds and stock syncs, watched too

A heartbeat monitor expects a ping from each scheduled job, such as a product feed or a stock sync, and alerts when one does not arrive.

Sales and deploys without false alarms

A maintenance window holds back alerts for planned work (SEV-1 rules still fire) and shows on the status page as scheduled maintenance.

Alerts where you already are

Slack, Microsoft Teams, Discord, Telegram, email and any webhook, plus push notifications to your phone from the installed app.

Your passwords stay secrets

A test account's password is saved once as a secret and used in a step by name, never written into the steps.

Friday, 20:41: checkout breaks, the homepage stays up.

One evening at a made-up shop, step by step: what your team sees, and what your customers read on the status page.

Your teamSample dataYour status page
  1. Your teamThe homepage check: HTTP 200Uptime checks stay green. The shop answers; it just cannot take money.
    20:41:00
  2. Your teamThe browser check fails in Frankfurt at step 5“Expect text: Card number” times out. Retried twice; the same step fails each time.
    20:41:12
  3. Your teamVirginia fails at the same step: incident openedSEV-2, “Checkout: step 5 failed: assertText "Card number"”. Slack gets it, and the run keeps a screenshot of the step and a video.
    20:41:40
  4. Your teamSam opens the run and marks Checkout as affectedThe screenshot shows a cookie banner covering the payment form.
    20:44:05
    Your status page“We are investigating an issue affecting Checkout.”On status.acme-shop.example, and by email to the page's subscribers.
  5. Your teamThe banner fix goes outSam ships the fix; the next run is due within five minutes.
    20:52:30
  6. Your teamThe next run passes: resolvedThe incident resolves itself, and Slack is told.
    20:55:00
    Your status page“This incident has been resolved.”Customers who subscribed hear it too.
Checkout broken for
13 min 48 s
Uptime checks that noticed
none
Customers told
at 20:44

A slow network near one checker is not a broken checkout.

Your shop is checked from Virginia, Frankfurt and Singapore. A failure counts when a second region sees it too, or as many as you set. Simulated below: click the map to put your shop somewhere else.

demo / shop.acme.comSimulated
Operational

Up from all 3 regions.

  • Virginiaiad200 · 142ms
  • Frankfurtfra200 · 179ms
  • Singaporesin200 · 284ms
Site in

Browser checks come with Team

Pro covers uptime, SSL and DNS checks and a status page on your own domain. Checking checkout in a real browser needs Team.

Pro · $19 a month

  • Uptime, SSL and DNS checks, no browser checks
  • 50 monitors, checked as often as every 30 sec, up to 3 million checks a month
  • 3 status pages, each on your own domain
  • 5 seats for your team
Choose Pro

Team · $79 a month

  • Browser checks through checkout and sign-in
  • 250 monitors, checked as often as every 15 sec, up to 15 million checks a month
  • Unlimited status pages, each on your own domain
  • 10 seats for your team
Choose Team

Prices in USD, excluding VAT and sales tax. More than 250 monitors? Write to hi@saysok.com.

Find out tonight whether your checkout works.

The free plan covers 10 monitors and one status page. Move to Team when you want a browser to walk through checkout.