A WooCommerce checkout stuck on a spinner is different from a slow page. The customer can often see the form, select a payment method and click the final button, but the order never reaches a clear success or failure state.
The useful split is where the funnel freezes: shipping recalculation, `update_order_review`, Store API cart state, gateway iframe, 3DS redirect, final place-order request or thank-you page redirect. A stuck checkout can look harmless in uptime monitoring because the page still answers with HTTP 200.
Evidence should make the stuck state explicit:
- Which request starts but never reaches a useful result? - Does the freeze happen before or after the customer clicks place order? - Does the payment gateway receive an attempt, or is the funnel blocked earlier? - Is there an order ID, a confirmation page, or only an infinite loader? - Can the same journey recover on retry, or is the checkout consistently stuck?
CashFlowCanary treats a stuck checkout as a conversion incident when a controlled journey cannot reach a final state. The proof is filtered: no customer identity, no payment data and no cart detail. Start with features, compare plans, or request a free audit.
This guide complements WooCommerce checkout timeout, WooCommerce place order button not working, WooCommerce checkout validation error and WooCommerce order confirmation missing. Together they separate a frozen funnel from latency, validation, button and confirmation issues.