Why do my Shopify shipping rates show up in admin but disappear at checkout for customers?
If your Shopify admin shows a shipping rate but a real customer hits "no shipping methods available," the gap is almost always in how the admin preview matches rates versus how live checkout matches them for a specific address, product, or Market.
What's going on
You open Settings > Shipping and delivery, run through "Manage rates," and everything looks correct — a rate is clearly set up for the country in question. But a customer reports (or your own test order shows) that at checkout there are no shipping options at all, or the store jumps straight to a "no shipping methods available" message. Screenshots from the two contexts — the admin settings screen and the customer-facing checkout — look like they belong to two different stores, which is exactly what makes this bug so confusing to troubleshoot.
This is especially common for merchants using Shopify Markets to sell into multiple countries or regions, where shipping configuration is split across the General shipping profile, any custom shipping profiles for specific products, and per-market rate setups. A rate that exists in one of those places doesn't automatically exist in all of them, so "it works when I test it" and "it doesn't work for the customer" can both be true at the same time, just for different underlying reasons.
Because the failure is invisible in admin, it's easy to assume the store is fine and the customer is doing something wrong (wrong address, blocked cookies, ad blocker). In practice the root cause is almost always on the configuration side: the specific product, market, address, or cart the customer used falls outside whatever rate, zone, or profile the merchant happened to test.
Why it happens
Shopify's live checkout matches a shipping rate using several inputs at once: the exact shipping zone the destination address falls into (which can be as specific as a postal code range), the shipping profile the specific products in the cart belong to, any Market-specific rate configuration for that country, cart weight and price against a rate's conditions, and any delivery customizations (Shopify Functions) that can conditionally hide or reorder methods. The admin "Manage rates" preview does not necessarily exercise every one of these in the same way a real checkout session does.
Because of that, a rate can be perfectly correct for the General shipping profile and the merchant's default market, while still being unreachable for a customer whose product is in a different custom shipping profile, whose address falls into a narrower overriding zone, whose cart weight/price sits outside a rate's min/max, or whose storefront session is resolving into a Market that never had shipping rates configured for it in the first place.
5 ways to fix it
Test the way the customer actually checks out, not the admin preview
In Settings > Shipping and delivery, the "Manage rates" preview in a shipping profile is a simplified simulation — it does not always reproduce the exact address, cart weight, price, currency, or Market a real visitor triggers. Instead, open an incognito/private browser window, add the real product(s) to cart, and go through checkout entering the customer's exact address (street, city, state/province, and full postal code, not just the country). If you can get the customer's shipping address from a failed order or support ticket, use that exact address — postal-code-level zone matching is a common source of these mismatches.
Confirm the product is in a shipping profile that actually covers that zone
Shopify lets you create custom shipping profiles for specific products (in addition to the General profile), each with its own zones and rates. If the affected product was added to a custom profile that only has rates for a subset of countries or regions, customers outside that subset will see no delivery options even though the General profile — the one you may be eyeballing in admin — has a rate for that destination. In Settings > Shipping and delivery, check which profile the specific SKU belongs to and confirm that profile's zones include the customer's country/region.
Check that the relevant Market actually has its own shipping rates configured
With Shopify Markets, each market can have separate shipping zones, rates, and even currency/duty settings. Rates you set up under one market (often your primary/domestic market) do not automatically carry over to a market you added later for another country or region. Go to Settings > Markets, open the specific market the customer belongs to, and verify it has shipping rates defined for its included countries — an empty or partially configured market is one of the most common reasons admin (testing from your default market) sees a rate while a customer browsing from another market's storefront sees none.
Disable delivery customizations one at a time to isolate a hidden rate
If you or an installed app use Shopify Functions-based delivery customizations (Settings > Shipping and delivery > Customizations), these can conditionally hide, reorder, or rename shipping methods based on cart contents, customer tags, order value, or market. A customization written for one scenario can unintentionally suppress a rate for a different customer segment. Temporarily disable each customization and re-test checkout to confirm whether one of them is the cause before assuming the rate setup itself is broken.
Look for overlapping zones or rate conditions (weight, price, or postal code) that exclude the real cart
Shopify matches the most specific zone available, so a narrower postal-code or state-level zone can silently override a broader country-level zone you're used to seeing. Separately, rates can carry minimum/maximum order weight or price conditions; if the customer's real cart falls outside that range (heavier, lighter, cheaper, or pricier than what you tested with), the rate simply won't qualify. Re-check zone specificity and rate conditions against the actual cart contents that triggered the customer's report, not a generic test item.
Bottom line
Nine times out of ten this comes down to the admin "preview" not being a perfect stand-in for a real checkout: a different shipping profile, an under-configured Market, a delivery customization, or a zone/weight condition that only bites for a specific address or cart. Work through the free, native settings above with the customer's actual address and cart before assuming anything is broken, and keep a habit of testing new products or markets from an incognito checkout rather than only the admin rate manager.
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.