Conversion QA · July 2026

Shopify Products Showing Sold Out for Some Customers: Variant, Market, and Theme Debugging Checklist (2026)

If only a few customers see every Shopify product as sold out while everyone else can buy normally, do not start by changing inventory. Start by comparing the exact URL, selected variant, market, inventory location, and theme availability logic.

~8 min read · variants, Markets, inventory locations, theme debugging

Quick Fix with Thunder

Thunder will not magically change inventory rules, but it is useful in the QA workflow: test the affected product template before and after theme edits, app-block removals, or variant-picker changes. False sold-out bugs already kill intent; adding a slow product page on top makes the damage worse.

Use Thunder alongside the Shopify speed optimization guide, third-party scripts guide, and Shopify speed optimization service when debugging theme or app changes.

Install Thunder

First, prove whether it is really inventory

Ask one affected customer and one unaffected customer to open the same product URL, same variant, same country, same language, and same currency. If one sees sold out and the other can add to cart, the product is not simply out of stock.

Have both shoppers send screenshots of the product page, selected variant, cart result, and final URL in the address bar. The address bar matters because stale ?variant= parameters are one of the easiest false sold-out triggers to miss.

  • Same product URL, with and without the ?variant= parameter.
  • Same selected size/color/material variant.
  • Same country and market experience.
  • Same shipping destination or postcode if the error appears in cart.

Check stale variant URLs

Shopify product links often include a variant ID, for example /products/example?variant=123456. If that variant was deleted, unpublished, disabled, or made unavailable in a market, some themes show the whole product as unavailable instead of falling back to the first available variant.

This is common when old links live in ads, email campaigns, social posts, saved browser history, or old collection cards. Test the same product URL after removing the ?variant= part. If the page suddenly works, you found the problem.

Check Markets, locations, and delivery zones

If the selected variant is valid, move to Shopify availability rules. In Shopify admin, confirm the product is published to the right market/catalog, assigned to the right sales channels, stocked at an online-fulfillable location, and covered by a shipping/delivery zone for the affected customer.

The timing tells you where to look: if the product page says sold out immediately, inspect variant/theme/market logic. If the product page looks available but cart or checkout blocks the order, inspect fulfillment locations, shipping profiles, and delivery zones.

For broader conversion checks, pair this with the Shopify traffic but no sales checklist and the add-to-cart but no sales checklist once available.

Add temporary debug output in a duplicate theme

If you can reproduce the issue, duplicate the theme and add a tiny temporary debug line near the product form. Do not leave this live forever; it is just to verify what Shopify thinks the selected variant is.

<p class="debug-availability" style="font-size:12px;color:#777;">
  Variant ID: {{ product.selected_or_first_available_variant.id }} ·
  Available: {{ product.selected_or_first_available_variant.available }}
</p>

Ask the affected user for a screenshot. If the selected variant is unavailable while other variants are in stock, fix variant selection/fallback logic. If the selected variant is available but the button still says sold out, inspect the theme JavaScript or app code controlling the button state.

Do not let the fix create a speed regression

A lot of false availability bugs come from app blocks, custom variant pickers, inventory widgets, and theme scripts. When you change those, re-test product page speed and mobile interaction. A working button that becomes slow to appear is still a conversion problem.

If the store also has heavy product media or variant images, use the Shopify image optimization guide and the Core Web Vitals guide to keep the fixed page fast.

FAQ

Why do Shopify products show Sold Out for only some customers?

When most shoppers can buy but a few see everything as sold out, the issue is usually not total inventory. Check the exact variant URL, selected variant availability, Shopify Markets/catalog publication, inventory locations, delivery zones, and theme logic that decides whether to show the add-to-cart button.

Can an old variant link make a product look sold out?

Yes. A shared URL with a stale ?variant= parameter can preselect a disabled, removed, or unavailable variant. Some themes then show the whole product as sold out even when other variants are still available.

Should I edit inventory first?

No. First compare one affected customer and one unaffected customer on the same product, same variant, same market, same currency, and same URL. If the selected variant differs, fix URL/theme logic before touching inventory.

Can speed tools find this problem?

Speed tools will not directly diagnose inventory availability, but they are useful after theme changes. Run a product-page speed and stability check before and after changing scripts, variant pickers, or app blocks so the fix does not create a new conversion problem.

Fix the bug, then keep the product page fast

Thunder helps reduce product-page speed friction while you QA theme, app, and variant changes that affect conversions.

Install Thunder on Shopify