Most "wrong" statuses make sense once you know the rule the monitor applies. Each monitor type has its own:
Website, keyword, API, ping and port monitors are checked from London, New York and Sydney, and only change to down when at least two of the three locations fail. SSL, DNS, domain expiry and heartbeat monitors run on our main server and are re-tested three seconds after a failure.
Open the monitor in your dashboard. Each check records the status code, the response time and any error message, and website, keyword, API, ping and port monitors show the result from each location. The message usually points straight at the cause:
HTTP 403 or HTTP 429: the site refused or rate-limited the request.Expected 200, got 401: the page answered, but not with the status the monitor expects.Timeout (30s): no response within the timeout.Keyword "..." not found: the page loaded but your text was not in the HTML.fetch failed: DNS, TLS or the network failed before any response arrived.A firewall or bot filter is blocking the checks. Web application firewalls, CDN bot protection and security plugins often answer automated requests with 403, 429 or a challenge page. Our probes do not send a browser identity, so they can be caught by rules that let you through. PulseStack™ does not publish a list of probe IP addresses; on paid plans, add a custom request header with a long random value to the monitor and allow that header in your firewall. Monitoring locations has examples for Cloudflare, AWS WAF, Nginx and Apache.
The expected status does not match. If the page legitimately returns something other than 200, for example 204 from an API or 401 from a protected endpoint, set that code as the expected status under Advanced settings.
The URL redirects somewhere unexpected. Redirects are followed, so a URL that now redirects to a login page, a moved page or a 404 is checked at its final destination. Load the exact URL in a private browser window to see where it ends up, and monitor the final address.
The page is slow. A response that takes longer than the timeout counts as down. Check the response time chart: if it has been climbing, the slowness is real and worth fixing. If the page is always slow by design, raise the timeout (up to 60 seconds).
The server rejects HEAD requests. Some servers answer HEAD with 405. Switch the method back to GET under Advanced settings.
Visitors from some countries are blocked. Geo-blocking that rejects the United States or Australia makes New York and Sydney fail, which is two out of three, so the monitor goes down. Allow those regions for monitoring requests, or monitor with a custom header your firewall lets through.
DNS has recently changed. While a change propagates, our probes can still reach the old server. The DNS propagation checker shows which public resolvers have picked up the new record.
The error page returns 200. Many platforms show an error or maintenance page with a 200 status, which passes an HTTP check. On paid plans, add a keyword monitor for a phrase that only appears when the page works, such as a product name in the page source, or use absent mode to watch for an error message.
Only one location is failing. A monitor needs two of the three locations to fail before it changes to down, so a fault on one route leaves it up. The per-location results on the monitor page show this, and the response time chart shows which region is slow.
The fault is on your side. Your network, internet provider or region can have a problem our probes do not share. The website down checker tests any URL from our UK server, which tells you quickly whether the site is reachable from outside your network.
You are monitoring a page that is cached. A homepage served from a CDN cache can stay up while the application behind it fails. Monitor a page or health endpoint that has to reach your application and database to respond.
A heartbeat monitor stays up as long as the time since the last ping is within the grace period. The grace period runs from 1 to 60 minutes, so set it a little longer than the gap between runs: about 20 minutes for a job that runs every 15 minutes, or the full 60 minutes for an hourly job that sometimes runs late. A heartbeat suits jobs that run at least once an hour.
&& curl -fsS https://pulsestack.co.uk/api/heartbeat/YOUR-TOKEN after the main command only pings when it succeeds.More detail is in the guide to heartbeat monitoring.
If none of these explain it, pause the monitor and resume it to rule out a stale state, then send us the monitor name, the time of a wrong result and the error message from the check through the contact page. That is enough for us to look at the raw results. For the wider picture of how checks, confirmation and alerts work, see what is uptime monitoring?.
Start monitoring in minutes. Free plan included, no credit card needed.
Get started free