Sometimes you can't ship to a destination - oversized items to AK/HI, regulated items to certain states, etc. You can create a hard block, where the shopper sees no methods and Shopify's native error:
Shipping not available - Some items in your cart can't be shipped to the address you entered…
How the hard block works
Shopify shows this whenever the rate request returns zero rates. In PDQ that happens when, for the checkout group the cart lands in, both are true:
No shipping method matches (Ship-To location settings and/or shipping rules exclude everything), and
The group's fallback rate is disabled for that leg (domestic and international have separate toggles).
The fallback is a safety net that ignores all rules and location settings by design — if it's on, the shopper always gets it instead of the block.
Option A - block a whole state/region (all products)
In each method, go to Geo-settings → Ship To and make sure the restricted state/region isn't included (uncheck it, or use "by states" and leave it out).
Disable the group's fallback rate (domestic and/or international, as applicable).
Now any cart to that destination matches no method → hard block. (⚠️ Watch special regions: Armed Forces AA/AE/AP are separate checkboxes - leaving them unchecked blocks military addresses, intentionally or not.)
Option B - block only specific products to a state (others still ship)
Use a dedicated group so you don't remove the safety net for everyone:
Create a destination-segmented checkout group targeting the restricted states - carts to those states route here instead of your main group.
Rebuild the method line-up that should still be available there (copy names, rates, promises).
Add a tag exclusion to every method: Product tags → is not →
<restricted tag>(exact match — check the literal tag; case and hyphens matter).Disable this group's fallback rate.
Prefer to message, not block? Instead of a hard block you can show a Checkout Content "shipping availability" banner explaining the restriction while keeping checkout open - ask your PDQ contact about the Checkout Content approach.
Test it
Restricted item/state → no methods, "Shipping not available."
Normal item + same address → full lineup.
Restricted item + any other state → normal rates.
Test with a product carrying only the tag you're checking.
📌 If it misbehaves:
Block not working (shopper still gets a rate): the state segment isn't matching (cart fell to your main group), the fallback is still on, or the tag doesn't exactly match.
Unexpected block (a region you do ship to): a method's Ship-To is missing that region — e.g. Armed Forces AA/AE/AP, or a state not ticked — and the fallback for that leg is off. Add the region to the method's Ship-To.
