Guide

How to know when your WooCommerce checkout breaks

An uptime check tells you the store answers. It doesn't tell you a customer can pay. These are the signals that show a broken checkout, and how to get alerted to them.

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

  1. 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.
  2. Open the browser console on the cart and checkout pages and look for errors in red.
  3. Read the logs in WooCommerce → Status → Logs: the fatal-errors log, and your payment gateway's log — many gateways write one only when debug logging is on in their settings.
  4. 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

  1. Install the StorePilot WordPress plugin. JavaScript and PHP errors, orders and payment statuses start arriving — no theme or code changes.
  2. In Settings → Notifications, add a destination — email, Slack, Telegram or a webhook — and tick Errors, Error spikes, Uptime and Revenue silence.
  3. In Settings → Monitoring, add an uptime monitor for your storefront and switch on Error spike alerts (they are off until you turn them on).
  4. 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.
  5. 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.
FAQ

Questions about this guide

Will an uptime monitor catch a broken checkout?

Usually only when the store stops answering altogether. A checkout whose Place order button throws a JavaScript error, or whose payment gateway rejects every order, still loads with a 200 OK — so the uptime check stays green.

How do I find out why WooCommerce orders are failing?

Open a failed order in WooCommerce → Orders and read its order notes: the payment gateway usually writes its reason there. Then check WooCommerce → Status → Logs for the gateway's own log (many gateways log only with debug logging switched on) and for fatal errors.

What is the difference between a failed and a pending payment order?

Failed means the payment provider declined or errored. Pending payment means the order was created but the money never arrived — the shopper closed the payment window, or the gateway never told the store the payment went through.

Do I need to change my theme or code to monitor the checkout?

No. With StorePilot you install the WordPress plugin, and JavaScript and PHP errors, orders and payment statuses start arriving. Alerts are set up in the dashboard.

Find out when your checkout breaks

Install the plugin, and errors, failed payments and quiet hours reach you where your team already reads.

Start for free

Every feature on the Free plan, with 100 recorded sessions a month. No card required.

Choose a plan

Plans from €29 a month, priced by the sessions you record and the stores you connect.