My Shopify checkout keeps reloading and never finishes, what's going on?

A checkout page that keeps refreshing or never finishes loading is usually caused by a script, extension, or redirect conflict around checkout rather than a Shopify outage, and it's diagnosable through a methodical process of elimination.

checkoutperformancetroubleshootingappsshopify plus

What's going on

Some merchants report that their Shopify checkout gets stuck in a loading loop: the page spins, refreshes itself, or bounces the customer back to an earlier step repeatedly instead of letting them complete the order. It's often reproducible on a specific browser, device, or checkout step, which points to something environmental rather than a one-off glitch.

Because this happens right at the point of purchase, it's one of the most costly bugs a store can have. Customers who hit it simply abandon and buy elsewhere, and it can go unnoticed unless you personally test checkout or a customer reports it. It also tends to be intermittent, showing up for some shoppers and not others depending on their apps, browser extensions, network conditions, or which checkout customizations are active on their session.

The behavior can stem from several unrelated layers: a checkout UI extension or web pixel misbehaving, leftover legacy checkout customizations, a domain or redirect misconfiguration, or occasionally a genuine Shopify-side incident. Because the symptom looks the same regardless of cause, the fix starts with isolating which layer is responsible rather than guessing at a solution.

Why it happens

The most common root cause is something injected into or around checkout: a checkout UI extension, a post-purchase extension, or a customer-events (web pixel) app that fires a script triggering a redirect, a full-page reload, or a retry loop when a network call fails or gets blocked, for example by an ad blocker or privacy extension in the customer's browser. Shopify moved Plus merchants off the older checkout.liquid customization model toward Checkout Extensibility, so stores that still have leftover legacy checkout scripts or haven't updated checkout-related apps since that transition are more likely to hit broken, looping behavior.

A second common cause is a redirect or domain-configuration issue rather than anything inside checkout itself. Misconfigured DNS or SSL on a custom domain, or a conflict involving a customer accounts domain or a multi-market redirect, can produce a bounce loop that looks identical to a checkout bug from the customer's point of view.

Less commonly, the cause is a temporary Shopify-side incident affecting checkout or a payment gateway, which hits many merchants at once and resolves without any change on your end. It's worth ruling this out before spending time debugging your own apps and scripts.

5 ways to fix it

1

Isolate the cause with a clean checkout test

Before touching any app, prove where the loop is coming from. Open the storefront in a private window with all browser extensions off, and test checkout against a duplicate theme with no checkout customizations. If the loop disappears, the cause is something you added, not Shopify's checkout code itself. If you're on Shopify Plus, also check for leftover legacy checkout.liquid customizations or old checkout scripts, since Shopify moved Plus merchants to Checkout Extensibility and outdated legacy code is a known source of broken checkout behavior.

2

Disable checkout UI extensions and web pixels one at a time

In the Shopify admin, go to your checkout settings and your customer events (web pixel) settings, then disable any custom checkout extensions, post-purchase extensions, or tracking pixels one by one, reloading checkout after each. A script that triggers a redirect, a full-page reload, or a retry loop when a network call fails or gets blocked is one of the most common causes of a checkout that never finishes loading. Once you find the culprit, update or remove it, or report it to the app's developer.

3

Capture a network waterfall and check for redirect loops

Open your browser's developer tools, go to the Network tab, and reproduce the reload. Look for repeating requests to the same URL, redirects bouncing between your custom domain and Shopify's own domains, or a stalled request that a script keeps retrying. If you see domain-level redirect bouncing, check your custom domain's DNS and SSL setup and any multi-market or customer account domain settings, since a misconfiguration there can look identical to a checkout bug.

4

Rule out a platform outage, then contact Shopify support

Check Shopify's status page for the time window the issue occurred, since payment-gateway or platform incidents occasionally cause this exact symptom for many merchants at once and resolve on their own. If the loop is reproducible outside any incident window, open a ticket with Shopify support and share your network capture along with the specific checkout URL and browser combination so they can check for known conflicts on their end.

5

Audit third-party checkout and storefront apps for conflicts

If the loop only happens with certain apps enabled, review every app that touches checkout, cart, or sitewide scripts, including upsell apps, currency converters, chat widgets, and analytics or pixel apps, for known compatibility issues. Confirm each is on its latest version, and remove or replace any app that hasn't been updated recently, since older versions are more likely to carry incompatible checkout code.

Bottom line

A checkout stuck reloading or never finishing is almost always caused by something injected into or around checkout, not by Shopify's own checkout code, so the fastest path to a fix is isolating the cause with a clean test and then working through extensions, pixels, and redirects methodically instead of guessing. If you've ruled out apps and domain/redirect issues and the problem persists, that's a case for Shopify support to dig into your specific configuration; there's no single app that fixes this, since the root cause varies store to store.

Still Stuck?

Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.