Emergency diagnostic

Shopify checkout not working?

Run this diagnostic in order. These 8 checks cover the usual places a Shopify checkout breaks, starting with the quickest to rule out.

First: check shopifystatus.com for a platform-side incident. If Shopify itself is down, nothing you do will fix it, wait it out. If their status page is green, continue below.
1

Test Safari on a real iPhone first

Possible cause

Many shoppers buy on iPhones, and Safari handles cookies and cross-origin content more strictly than Chrome. Payment fields, Shop Pay and Apple Pay can behave differently there, so a desktop Chrome test doesn't cover it.

Check

Open your store on an actual iPhone (not Chrome's mobile simulator, they behave differently). Add to cart → checkout → all the way through to the payment step. Does the payment form render? Do the Shop Pay and Apple Pay buttons appear?

Fix

If payment form fails to render on iOS: roll back your last theme update. If you recently installed a new app: disable it and retest. If neither fixes it: open a ticket with the theme developer or app vendor.

2

Check your most recent app updates

Possible cause

Shopify apps auto-update on their own schedules. A nightly update for any payment/discount/shipping app can ship with a bug that silently breaks checkout for a slice of your traffic.

Check

Shopify admin → Apps → look at the 'Last updated' column. Sort by date. Any updates in the last 7 days?

Fix

Disable the most recent app update (or contact the app developer to roll back). Test checkout again. If it's fixed, that update is the likely cause; tell the app developer what you saw.

3

Try a known-good test coupon

Possible cause

Discount apps and Shopify Functions sometimes break coupon application silently. Customers see 'invalid code' or wrong totals and abandon.

Check

Apply a 100%-off test coupon at checkout. Does the product total go to $0 correctly? (A product discount doesn't cover shipping.) Apply your most-used active promo code with a real product in cart. Does the discount apply correctly?

Fix

If discounts misbehave, disable your discount app most-recently-updated and retest. For Functions on Plus, roll back to the previous deploy.

4

Test from different shipping zones

Possible cause

Third-party shipping rate calculators (Shippo, Easyship, real-time carrier APIs) sometimes start returning errors for specific countries or zones, without notifying you.

Check

Add an address from each region you ship to: domestic, your top international market, a region you ship to rarely. Do shipping rates load for each?

Fix

If rates fail for a specific zone: check your shipping app's logs, contact the carrier API vendor, or temporarily fall back to flat-rate shipping for that zone while you debug.

5

Test the payment step with a test card

Possible cause

The payment form can load fine while the payment itself fails: a gateway setting changed, a currency mismatch, or a 3D Secure challenge that doesn't complete.

Check

On a development store or a copy of your store, turn on Shopify Payments test mode and pay with test card 4242 4242 4242 4242 (should succeed) and 4000 0000 0000 0002 (should decline). Test mode stops real customers paying by card, so don't turn it on in your live store (Shopify Help: testing Shopify Payments). For 3D Secure, use your payment provider's 3D Secure test cards in its test mode on that copy.

Fix

Check your payment provider's dashboard for the failed attempts. The error message there is usually more specific than what checkout shows. A test-card payment that succeeds doesn't prove live bank authorisation, so watch the first real orders after any payment change.

6

Check your tracking pixels and Web Pixel Extensions

Possible cause

Sometimes the issue isn't checkout itself, it's that conversion tracking broke. Your orders complete fine but Meta/GA4/TikTok stop seeing them. Your dashboards show 'no conversions' even though Shopify shows orders.

Check

Place a real test order. Then check Meta Events Manager / GA4 DebugView for the Purchase event. Does it fire?

Fix

A common cause is a disconnected Web Pixel Extension. Re-authenticate the app, or check if a recent app update broke the integration.

7

Clear cached themes and republish

Possible cause

Sometimes Shopify's CDN serves a stale theme asset that doesn't match what's currently in your repo. Symptoms include checkout looking subtly broken in production but fine in preview.

Check

Shopify admin → Online Store → Themes → your live theme → Actions → Edit code → make a no-op change and save. This can rule out a stale cached asset.

Fix

If the no-op change fixes it, a stale cached asset was the likely cause. Watch for this after theme deploys.

8

Contact Shopify support with specifics

Possible cause

If 1 to 7 didn't fix it, the issue may be on Shopify's side. Support can act faster when you give them specific evidence.

Check

Reproduce the bug, capture: full URL, browser + version, viewport size, timestamp, screenshot, what you expected vs what happened.

Fix

Contact Shopify support with that bundle. A specific, reproducible report is much easier to act on than a vague one.

Fixed it? Check what else is leaking.

Run the free 60-second Shopify audit, it scores your store's trust signals, conversion basics, and SEO, and flags gaps like the one that just bit you.

Free store audit

Which of these a scheduled test could catch next time

A Tracefox test replays the steps you configure, in Chromium, on one viewport, and stops before payment. It catches a recurrence only when the problem breaks one of those steps.

  • 1. Safari / iPhone only
    Caught by a test? No

    Tests run in Chromium; mobile is emulated. Keep testing on a real iPhone.

  • 2. App update breaks a step
    Caught by a test? Yes, if the step is in the test

    A flow from product page through cart and checkout to the payment step fails at the step the update broke.

  • 3. Discount code stops applying
    Caught by a test? Yes, with a coupon step

    Add an Apply coupon step with the code, and a text check for the discount line in the order summary.

  • 4. Shipping rates fail for a zone
    Caught by a test? Partly

    Each test uses one address. Create a test per zone you care about, with that zone's address as its test data.

  • 5. Payment declines or 3D Secure
    Caught by a test? No

    Tests stop before payment. Use test mode on a store copy, as in step 5.

  • 6. Purchase pixel stops firing
    Caught by a test? No (presence only)

    Site scans can alert when a pixel script disappears from a monitored page; they don't check that the Purchase event fires.

  • 7. Stale theme asset
    Caught by a test? Yes, if it breaks a tested step

    The same end-to-end flow as cause 2.

Why this keeps happening

You ran the diagnostic. You fixed today's problem. Three weeks from now, a different update will break a different part of checkout, and you'll be back here.

The reason is structural: a Shopify store depends on many things that update independently. Shopify itself, your theme, your apps, your payment gateway, your shipping APIs, your third-party scripts. Any one of them can ship a regression that silently breaks checkout for some segment of your traffic, usually without telling you.

The only sustainable fix is scheduled checkout testing, automated runs of your real checkout flow on a schedule, with alerts when a step fails.

Catch the next checkout break before customers do

Tracefox replays your Shopify checkout on a schedule in Chromium, on the desktop, mobile or tablet viewport you pick for each test (mobile and tablet are emulated, on Pro and Business). When a scheduled run fails, you get an email alert (plus Slack on Pro and Business) naming the failing step, with a link to screenshots of every step. It doesn't replace testing Safari and Apple Pay on a real iPhone.

Test your Shopify checkout free

Free plan: 1 checkout test, 10 manual runs a month, no credit card · Paid plans add schedules and include a 7-day trial