Why does my product still show sold out (or in stock) after I changed it in Shopify?
If a product's stock status looks wrong to you but right to everyone else, the cause is almost always caching between your browser and the storefront, not a Shopify inventory bug.
What's going on
You update a product's inventory in Shopify admin, marking it sold out, restocking it, or flipping 'continue selling when out of stock', then load the storefront to check, only to see the old status looking back at you. You reload and it's still wrong. Naturally you start to worry the change didn't save, or that something in Shopify's inventory system is out of sync.
In most cases nothing is actually broken on the backend. What's happening is that some layer between you and the live page is serving a cached copy of the HTML from before your edit: your browser's own disk cache, a browser extension, a carrier or corporate network proxy, or a CDN or app sitting in front of your storefront domain. Because the cached page looks completely normal, it's easy to mistake for a real data problem and start second-guessing inventory settings that were actually fine.
The giveaway is that the stale view is usually inconsistent across contexts: correct on one device but not another, correct on mobile data but not Wi-Fi, or correct in an incognito window but not your regular browser tab. That pattern points to caching rather than to Shopify's inventory handling, which re-evaluates availability for each storefront request rather than serving a static, pre-baked page.
Why it happens
Shopify's storefront rendering evaluates a product's availability and quantity for each server request rather than serving a static file that goes stale on Shopify's end. So when a stock status looks wrong right after an edit, the mismatch is almost always happening downstream of Shopify, at whatever layer sits between the storefront response and what you're actually looking at.
The most common culprit is your own browser: disk cache, back/forward cache, or a privacy or ad-blocking extension holding an old snapshot of the page. The next most common is network-level caching, such as a CDN or reverse proxy placed in front of your domain for speed or protection, or a data-saving proxy some mobile carriers use, any of which can cache HTML for a period independent of what Shopify serves. Less commonly, a merchant edited the wrong variant, the wrong inventory location for stores using multiple locations, or the change simply didn't save, which looks identical from the storefront but has a different fix.
5 ways to fix it
Test in an incognito window and on a different network first
Before touching any settings, rule out a local caching issue. Hard-refresh the product page (Ctrl+F5 or Cmd+Shift+R), then open the same URL in an incognito or private window, ideally on mobile data instead of Wi-Fi. If the correct stock status shows up there but not in your regular browser, the problem is a stale local cache or a browser extension on your machine, not your store. This one test resolves most reports of this kind and costs nothing.
Clear your browser cache and disable caching extensions
If incognito mode still shows the stale status, your browser's disk cache, a security or ad-blocking extension, or a leftover service worker may be holding an outdated copy of the page. Clear cached data and cookies for your store's domain, disable extensions one at a time, and reload after each. On mobile, also consider that some carriers run a data-saving proxy that can serve a compressed, cached version of the page.
Check for a CDN, proxy, or caching app in front of your storefront
If multiple customers or devices on different networks all see the same wrong status, the caching is likely happening upstream of any single browser: a CDN or reverse proxy in front of your domain, a corporate or school network filter, or an app that adds full-page caching for speed. Check your DNS or CDN dashboard for a cache rule affecting product pages and temporarily bypass or purge it to confirm. Shopify re-evaluates a product's availability on each storefront request, so staleness that survives a hard refresh across devices usually traces back to one of these external layers rather than to Shopify itself.
Confirm the inventory change actually saved to the right variant and location
Separately from caching, open the product in Shopify admin and confirm the quantity or the 'continue selling when out of stock' setting was saved as intended, and that you edited the correct variant and, if you use multiple locations, the correct inventory location. A save that silently failed, or was applied to the wrong variant or location, produces the exact same symptom as a caching problem when viewed from the storefront.
Add a cache-busting query parameter when testing changes
When you or a teammate specifically want to confirm whether a change has gone live, append a random query string to the URL, such as ?v=2, before reloading. This makes most browsers and CDNs treat the request as new rather than serving a cached copy, which helps you isolate a caching issue from an actual data problem while you investigate.
Bottom line
In the large majority of cases, a product showing the wrong stock status after you've updated it is a caching artifact somewhere between the customer's device and your storefront, not a Shopify inventory bug, so the fastest diagnostic is always incognito plus a different network before you touch settings again. If that doesn't resolve it and the problem persists across devices and networks, look at CDN or proxy-level caching in front of your domain, or any app that adds full-page caching, since those layers are most likely to hold onto an old snapshot. This is fundamentally a caching and QA workflow issue rather than something a Shopify app configuration controls, so no app is a direct fix here.
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.