What If an Address Matches Multiple WooCommerce Zones?
Why WooCommerce Zone Order Decides the Outcome
WooCommerce evaluates the zone list from top to bottom and stops at the very first match, treating zone order as the sole tiebreaker rather than trying to determine which matching zone is "more specific." This means a broad zone (an entire country) listed above a narrower one (a specific state within that country) will always win for any address in that state, even though the narrower zone was presumably meant to apply there instead.
Common Mistakes This Causes
- A country-wide zone listed above a state-specific zone meant to have different rates, silently preventing the state-specific zone from ever matching.
- A catch-all "Locations not covered" zone accidentally placed above other specific zones, intercepting addresses meant to reach a more specific configuration.
- Overlapping postcode ranges between two zones, where only the first listed actually applies to addresses in the overlap.
- Reordering zones later (via drag-and-drop in the zones list) can unintentionally change which zone matches for addresses that overlap, worth testing after any reordering.
Avoiding Zone Conflicts
- List more specific zones above broader ones that could otherwise overlap with them.
- Keep the catch-all zone at the very bottom of the list, so it only applies when nothing more specific matches.
- Test with addresses from the overlap region after any zone reordering to confirm the intended zone is actually being matched.
Need overlapping or misconfigured shipping zones fixed properly? See custom WooCommerce development.