Updated
The short answer
Watch three things, not one:
- errors on the cart and checkout pages — JavaScript in the browser and PHP on the server;
- payments that fail or never arrive, per payment method;
- paid orders stopping while visitors keep arriving.
An uptime monitor covers only whether the store answers. Test by hand after every update, and let alerts watch the rest of the time.
Why an uptime check isn't enough
A WooCommerce checkout can break while every page still loads normally. The usual ways:
- A plugin or theme update throws a JavaScript error, and the Place order button stops responding.
- A PHP error in the request that recalculates shipping and totals, and the checkout spins without ever finishing.
- The payment gateway's keys expire or its webhook stops reaching the store, so orders pile up at Pending payment.
- A caching or optimisation plugin serves a cached checkout or delays a script the checkout needs.
- Only one browser, device or payment method is affected, so the test you run on your own laptop passes.
None of these takes the store down. Each one shows up first as orders that don't come.
How to check your checkout by hand
- Place a test order after every update to WooCommerce, a plugin or the theme — on a phone as well as a desktop, in a private window, and with each payment method you offer. Most gateways have a test or sandbox mode for this.
- Open the browser console on the cart and checkout pages and look for errors in red.
- Read the logs in WooCommerce → Status → Logs: the
fatal-errorslog, and your payment gateway's log — many gateways write one only when debug logging is on in their settings. - Watch the order statuses in WooCommerce → Orders. A rise in Failed or Pending payment orders is a warning, and their order notes usually carry the gateway's reason.
Manual checks show what was true when you looked, in your browser. A fault that starts at night, or hits only Safari on iPhone, waits for the next time someone checks.
What to monitor automatically
- Errors on the store. JavaScript and PHP errors, grouped so one bug is one alert, with the pages and browsers it hit.
- Error spikes. A known error that suddenly happens many times an hour — the shape of a bad update. It isn't new, so a “new error” alert stays silent.
- Payment failures by method. When one payment method is declined far more often than the others, the problem is the gateway, not the shoppers.
- Revenue silence. Visitors keep arriving but no order has been paid for longer than usual. This catches the failures that throw no error at all.
- Uptime. The storefront, and any API your checkout depends on, checked every few minutes.
Setting it up in StorePilot
- Install the StorePilot WordPress plugin. JavaScript and PHP errors, orders and payment statuses start arriving — no theme or code changes.
- In Settings → Notifications, add a destination — email, Slack, Telegram or a webhook — and tick Errors, Error spikes, Uptime and Revenue silence.
- In Settings → Monitoring, add an uptime monitor for your storefront and switch on Error spike alerts (they are off until you turn them on).
- In Ecommerce → Overview, check payment failures by method. The rate appears once a method has 20 attempts, so a couple of declines don't read as a broken gateway.
- When an alert comes in, open the issue and watch the session behind it to see exactly what the shopper saw.
See how error tracking works, or read about notifications, spike detection and uptime monitoring in the docs.
A checklist for every update
- A test order goes through on a phone and on a desktop, with every payment method.
- The browser console on the cart and checkout pages shows no new errors.
- No new issues appear for the cart and checkout pages in the hour after the update.
- Paid orders keep arriving at their usual pace for the rest of the day.

