A SaaS has more moving parts than a website: the app, the marketing site, the background jobs, the certificates, and a status page customers will look for the moment any of it breaks. Most tools cover one of those and charge like they cover all of them.
Free plan forever · No credit card · Set up in under a minute
What should a SaaS company monitor?
Four things, and most small teams only cover the first. Uptime on the app and its critical endpoints. Heartbeats on the background jobs, because a queue worker that dies produces no error at all. Certificate and domain expiry, which are entirely preventable outages. And a status page hosted away from your own infrastructure, so it survives the incident it is describing.
The monitoring conversation at a small SaaS usually starts and ends with uptime. That covers the failure everyone imagines — the app is down — and misses the ones that actually happen quietly.
The nightly billing job that stopped running three weeks ago. The certificate that expires at 2am on a Sunday. The status page hosted on the same infrastructure as the product, which goes down at precisely the moment customers go looking for it.
This page covers the full set, and is clear about the point at which you should stop using us and buy something bigger.
Three of these produce no error at all, which is exactly why they persist.
A cron that is no longer invoked produces no exit code, no log line and no failed request. Nothing to alert on. A heartbeat inverts it: the job calls a URL when it finishes, and you are told when that call stops arriving. This is the only way to catch a backup that has silently failed for a month.
A health endpoint that reports healthy because it only checks that the process is running is worse than no health endpoint. Use a keyword check on a string that only appears when dependencies are genuinely reachable.
Both are outages you can see coming weeks ahead, and both still take sites down regularly. They attach to a monitor you already have and cost nothing extra.
They usually run on different infrastructure and fail independently. Signups stopping because the marketing site is down is invisible to a monitor pointed at the app.
The most common status page mistake, and the easiest to avoid.
A status page on status.yourdomain.com, served by your own infrastructure, is fine until the day you need it. If the outage is at the hosting or network level, the page describing the outage goes down with it, and customers arrive at a browser error instead of an explanation. Support volume then does what you would expect.
Hosting it externally solves that completely. Status pages are included on every plan here — one on free, ten on the $5 plan, up to fifty on Pro — with branding and a custom domain on paid tiers. During an incident it is the single cheapest thing you can do to reduce support load.
There is a point where we stop being the right answer, and it is worth naming it.
We have no rotas, no escalation policies, no SMS and no phone calls. If an unacknowledged alert must escalate to a second person at 3am, Better Stack does that properly and we do not.
We check from the outside. If the question is which query is slow or which service is erroring, you need application performance monitoring — Site24x7, Datadog and others do this and we do not attempt it.
Our checks run from a single origin. That catches outages independently of your stack but cannot tell you a service is down in Frankfurt and up in Ohio.
For a team of one to ten, uptime, heartbeats, certificates, status pages and competitor watching in one $5 account covers the ground that actually bites.
Cover the app, the jobs, the certificates and the status page.
They usually run on different infrastructure and fail independently.
Require a string that only appears when dependencies are genuinely reachable, so a shallow 200 does not read as healthy.
Backups, billing runs, queue workers. Call the ping URL at the end of the job and only on success.
They ride along with an existing monitor and cost no extra allowance.
Hosted here rather than on your own infrastructure, so it survives the incident it describes.
Their pricing page and changelog, using the watched-page allowance you already have.
Typically about 10 minutes from start to finish.
Uptime monitors, watched pages and heartbeats each get their own allowance, so adding a page watch never costs you a monitor. SSL and domain checks ride along with the monitor they belong to and use nothing extra.
| Plan | Monitors | Watched pages | Heartbeats | Fastest interval | Alert channels | Price |
|---|---|---|---|---|---|---|
| Free | 1 | 1 | 1 | Every 30 minutes | 1 email address | $0 |
| Founding Member first 20 only | 25 | 25 | 25 | Every 5 minutes | Email + webhook & chat | $5/mo |
| Basic | 10 | 10 | 10 | Every 10 minutes | Email + webhook & chat | $8/mo |
| Growth | 50 | 50 | 50 | Every 5 minutes | Email + webhook & chat | $19/mo |
| Pro | 100 | 100 | 100 | Every 60 seconds | Email + webhook & chat | $34/mo |
Annual billing is cheaper on every paid tier. The pricing page is the authoritative list.
Every recorded change is compared word by word and kept with a before-and-after image. This is the real output, shown with worked example data.
Price fell from $49 to $39, and an annual discount was added.
The item is available again and the basket button returned.
A new subprocessor was added in another jurisdiction.
The free plan sends to one email address. Every paid plan adds the chat and webhook channels below, with 2 to 10 destinations depending on the plan. However many alerts you receive, the price does not change — nothing here is metered or charged per alert.
There are no voice calls and no SMS. If a phone call at 3am is a hard requirement, say so before you subscribe — we would rather tell you now than refund you later.
Background jobs via heartbeats, certificate and domain expiry, the marketing site separately from the app, and a status page hosted externally. Three of those four fail silently, which is why they are the ones that persist for weeks.
Because a job that is no longer being invoked produces nothing to observe — no error, no response, no log line. Uptime monitoring works by fetching something; there is nothing to fetch. A heartbeat alerts on the absence of a check-in instead.
Anywhere other than the infrastructure it reports on. A status page that goes down with your product is worse than none, because customers arrive at a browser error during exactly the moment they needed an explanation.
No. Uptime monitors, watched pages and heartbeats each have their own allowance — 25 of each on the $5 plan — so instrumenting your jobs never costs you a monitor.
No, and it does not try. Those are observability platforms with agents, traces and application performance monitoring. We check from the outside. If you need to know which query is slow, buy one of those.
We do not have it — no rotas, no escalation policies, no SMS, no phone calls. Alerts go to email, browser push, Slack, Teams, Discord, Telegram, Flock and webhooks. If someone must be woken by a ringing phone, Better Stack is the honest recommendation.
Every sixty seconds on Pro, five minutes on the $5 plan, and thirty minutes on free. Reserve the fastest intervals for the endpoints where a few minutes of downtime actually costs something.
$5/month covers 25 uptime monitors, 25 watched pages, 25 heartbeats, 10 status pages and 3 team seats. For most teams under ten people that is the whole estate with room spare.
Last updated August 4, 2026 · Written by Amit Gupta, founder of MonitoringDaddy
Uptime, heartbeats, certificates and status pages in one account. Free plan to try it, no card.