Why does my cart keep emptying out right before checkout for multiple testers?

Multiple testers seeing their cart go empty right before checkout is almost always a browser, theme-script, or app interference issue, not random Shopify flakiness.

cartcheckoutcookiesappstheme-scripts

What's going on

Multiple people tested your store and independently reported the same thing: they add products to the cart, everything looks fine, and then somewhere between browsing and reaching checkout the cart is suddenly empty. When more than one tester hits the identical symptom, it's tempting to assume Shopify itself is dropping carts, but that's rarely what's actually happening. Shopify's cart is built on a browser cookie and session state that's tied to a specific browser and device, and a lot of things can interrupt that without Shopify being at fault.

The frustrating part is that this kind of issue is inherently hard to reproduce on demand, because it usually depends on the exact combination of browser, privacy settings, installed apps, and theme code the tester happens to be using. Two testers on the same laptop but different browsers, or the same browser in a normal window versus a private one, can get completely different results. That's exactly why 'test cookies, cart scripts, and app interference on a fresh theme' is the right instinct — the fix is almost always found by systematically isolating which layer is responsible, rather than guessing.

Why it happens

Shopify carts persist through a cookie in the customer's browser, not through some universal server-side record tied to the customer's identity before they log in. That means anything that blocks, clears, or fails to send that cookie (private browsing, aggressive cookie blocking, an extension, or a browser configured to wipe storage) will make the cart look like it emptied, when really the browser just never held onto it.

The other major cause is code running on the storefront itself, either in the theme or injected by an installed app, that calls Shopify's cart-clearing endpoint at the wrong time. Cart drawer apps, upsell apps, and subscription apps frequently rewrite or re-fetch cart state via AJAX, and a bug in that logic (or in custom theme code built on top of it) can wipe the cart instead of just updating it. Because this is code-driven, it can affect every tester using a normal browser setup, which is why multiple independent reports of the identical symptom often point to a shared app or script rather than random chance.

5 ways to fix it

1

First: rule out browser and device differences between testers

Have each tester report their exact browser, whether they're in a private/incognito window, and whether they use an ad blocker or aggressive privacy extension. Shopify's cart relies on a browser cookie tied to that specific browser and device; if cookies are blocked, cleared, or the browser is set to wipe storage on tab close, the cart will appear empty on the next page load or at checkout. This alone explains a surprising number of 'it happened to three of us' reports, because testers often use different setups without realizing it.

2

Check the theme code for any script that clears the cart

Search the theme's assets and section files for calls to the cart clear endpoint (something like a fetch or AJAX call to /cart/clear.js, or a form pointed at that endpoint) that might fire on page load, on a button meant for something else, or after an error. This is a common cause when a 'remove all' or 'reset' feature was wired up incorrectly, or when a cart drawer script re-initializes and accidentally clears state instead of just re-rendering it.

3

Disable apps one at a time on a duplicate/dev theme

Cart drawers, upsell/cross-sell apps, subscription apps, and currency converters are the most frequent culprits because they intercept cart AJAX calls and sometimes rebuild the cart incorrectly. Duplicate your live theme, disable installed apps one by one (or use theme app embeds to turn off app-injected code), and retest adding items and reaching checkout after each change to isolate which app is interfering.

4

Check Shopify Markets and currency/language switching

If the store uses Shopify Markets with multiple currencies, switching country or currency mid-session can, in some configurations, start a new cart context, which looks like the cart 'emptying' even though nothing was actually deleted. Confirm whether testers switched currency, language, or market selectors between adding items and checking out, and test the flow without touching those selectors.

5

Make sure testers aren't using a password page or unpublished theme preview link

If the store is still password-protected or testers were sent a theme preview URL (from the theme editor's Share/Preview link) rather than the live storefront domain, cart behavior can be inconsistent because the preview session doesn't always persist the same way as the published store. Re-test using the actual live domain with the password removed or bypassed for testers, and confirm everyone is testing the same URL.

Bottom line

In most cases this turns out to be a combination of browser/cookie settings and an app or theme script interfering with the cart, not a Shopify platform bug, so work through the checklist above (starting with browser/cookie checks, since that's fastest) before assuming something is fundamentally broken. If after isolating the theme and apps the cart still empties unpredictably across multiple real customer devices (not just test browsers), that's worth escalating to Shopify support with the exact steps to reproduce, since a small number of these reports do turn out to be edge cases in cart/session handling that Shopify needs to look at directly.

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.