Why does checkout say an address can't be shipped to when I've enabled that country?

A shopper's country shows as supported, yet checkout still refuses to ship there. Here's how to find the narrower rule that's actually blocking it.

shipping zonescheckout errorsshipping profilesShopify Marketsaddress validation

What's going on

A merchant enables a country in their shipping settings, everything looks fine in Settings, and then a customer in that exact country hits checkout and sees a message like "this address can't be shipped to" or no shipping rates appear at all. Support tickets pile up, and the instinct is to assume it's a bug, but in the large majority of cases the country-level setting was never the whole story.

Shopify's shipping settings work in layers: shipping profiles group products and locations, each profile has its own zones, and each zone lists countries, and inside many countries you can further restrict coverage down to specific states, provinces, or postal/ZIP code ranges. Enabling a country only guarantees coverage if nothing underneath it has been narrowed. A single unchecked state checkbox, a leftover postal code filter from an old promotion, or a second product-specific shipping profile that never got the same country added is enough to produce exactly this symptom, and it's often invisible unless you go looking specifically at the zone's region-level detail.

Why it happens

Shopify shipping is configured hierarchically, not as one flat list of allowed countries. A store can have multiple shipping profiles (one per product group or fulfillment location), and each profile maintains its own independent zones. Adding a country to the General profile's zone does nothing for a custom profile that covers a different subset of products, so a customer buying from that other profile can still be blocked even though the country appears 'enabled' when you check the first place you look.

Within a single zone, Shopify lets merchants scope a country down further, to specific states/provinces, or to postal/ZIP code ranges, originally meant for merchants who only deliver to part of a large country. It's easy for someone to select a handful of regions while testing, or to import a rate configuration from an app or CSV that only defined partial coverage, and never notice the gap because the country tab itself still reads as active. Add Shopify Markets into the mix, which layers its own regional groupings on top of shipping profiles, and there are now several independent places where a subdivision can quietly fall out of coverage without the country-level toggle ever changing.

5 ways to fix it

1

Check the shipping profile's zone for that exact country, then drill into regions

Go to Settings > Shipping and delivery. Shopify splits rates into shipping profiles (General profile plus any custom profiles for specific products/locations), and each profile has its own set of zones. A country can be enabled in one profile's zone but missing from another, so if the product in the cart belongs to a custom profile, check that profile specifically, not just the General one. Open the zone that should cover the address, confirm the country is listed, then click into it, some countries (US, Canada, and a handful of others) let you expand to select individual states/provinces/postal code ranges rather than the whole country, and it's easy for someone to have selected only a subset.

2

Look for a state/province or ZIP/postal code restriction that excludes the address

When a country is added to a zone, Shopify defaults to covering it entirely, but merchants (or an app) can narrow it down to specific regions or postal/ZIP code ranges. If the exact address that's failing is in a state or province that isn't ticked, or falls outside a postal code range someone entered, checkout will correctly say it can't be shipped there even though the country itself shows as enabled. Re-select 'all provinces' (or manually re-check the missing one) and remove any overly narrow postal code filters that aren't intentional.

3

Rule out a rate-based or app-based cause hiding behind the same error

The same generic message appears if a zone has no shipping rate at all for that region/weight/cart total (e.g., a weight-based or price-based rate with gaps in its ranges), or if a shipping app, carrier-calculated shipping integration, or checkout customization (Shopify Function) is excluding the address based on custom logic. Test the address with an empty rate calculator or a different cart to see if rates return at all; if they do for other addresses but not this one, look at any installed shipping/delivery apps and their own zone or exclusion rules before assuming it's a native Shopify settings issue.

4

If you use markets or multiple shipping profiles, confirm the address' region is actually mapped to the right market/profile

For stores using Shopify Markets, shipping settings are tied to markets, and a market's included countries/regions can drift out of sync with the shipping profile zones underneath it. Check Settings > Markets to confirm the country and its regions are included in the market that customer belongs to, and that the market is linked to the shipping profile you just fixed. A mismatch here reproduces the exact same 'can't ship to this address' symptom even when the shipping profile settings look correct.

5

Have staff or the customer double-check the address itself for typos or an unsupported format

Occasionally the block isn't a settings problem at all: an address with a non-standard abbreviation, a PO box in a zone that excludes them, or a state entered in a format Shopify's address validation doesn't recognize can trigger the same error. Before spending more time in shipping settings, try re-entering the address with the standard two-letter state/province code and a valid postal code to confirm it's not a one-off input issue.

Bottom line

Most of the time this comes down to shipping zones being narrower than they look, someone unchecked a state, province, or postal range, or a custom profile doesn't cover the same countries as your General one, and Shopify's native shipping settings and Markets settings can fix all of that without installing anything. Only reach for a shipping/delivery app if you need more complex rate logic than zones and profiles can express; app choice isn't the fix for this particular symptom.

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.