80% off for waitlist membersGet 20+ WooCommerce plugins — Launch from $39.80 or Lifetime from $49.80 

← Back to Guides

WooCommerce Shipping Zones Explained: Setup, Strategy, and Common Mistakes

WPBundle Team··9
WooCommerce shipping zones setuphow to configure shipping zones WooCommerceWooCommerce shipping zone guide
Shipping zones are how WooCommerce determines which shipping methods and rates to show each customer. Every zone needs at least one shipping method, and the "Rest of the World" zone catches customers who don't match any other zone. Get zones wrong and customers can't check out.

How Shipping Zones Actually Work

WooCommerce shipping zones are geographic regions that you define, each with their own shipping methods and rates. When a customer enters their shipping address at checkout, WooCommerce matches their location to a zone and displays the shipping options available in that zone.

The matching is hierarchical — WooCommerce checks zones from top to bottom and uses the first match. A customer in New York would match a "New York State" zone before matching a "United States" zone, which would match before a "Rest of the World" zone. Order matters.

Here's the critical thing most store owners miss: if a customer's address doesn't match any zone, and you haven't configured the "Locations not covered by your other zones" zone, that customer cannot check out. They'll see "No shipping options available" and leave. This is the #1 shipping-related reason for WooCommerce cart abandonment.

Setting Up Shipping Zones: Step by Step

Step 1: Plan Your Zone Strategy

Before touching WooCommerce settings, map out your shipping zones on paper. Most stores need 3-5 zones:

Local (optional): Same city or state. Useful if you offer same-day delivery, local pickup, or discounted rates for nearby customers.

Domestic: Your home country. This is where most of your orders ship, so accuracy matters most.

Regional (optional): Neighboring countries or economic zones. EU stores often create a single "European Union" zone with unified shipping rates.

International: Other specific countries you regularly ship to. You might have different rates for Canada vs Australia vs Japan.

Rest of the World: The catch-all for everywhere else. This zone should always exist and have at least one shipping method.

Step 2: Create Your Zones in WooCommerce

Navigate to WooCommerce → Settings → Shipping. You'll see the shipping zones page with a default "Locations not covered by your other zones" entry at the bottom.

Click "Add shipping zone." Name it, then add regions. WooCommerce lets you add by:

  • Country: Add entire countries
  • State/Province: Add specific states within a country
  • Postcode/ZIP: Add specific postal codes or ranges (e.g., 90001...90099)
For postcode-based zones (useful for local delivery areas), use the range format: 90001...90099. You can also add multiple ranges by entering them on separate lines. This is how you create hyper-local zones for same-day delivery or local pickup.

Step 3: Add Shipping Methods to Each Zone

Inside each zone, click "Add shipping method." WooCommerce offers three built-in methods:

  • Flat rate: A fixed cost per order, per item, or per shipping class
  • Free shipping: No charge, optionally requiring a minimum order or coupon
  • Local pickup: Customer picks up from your location, no shipping charge

You can also add methods from plugins — table rate shipping, live carrier rates (USPS, FedEx, DHL), or conditional shipping rules.

Every zone must have at least one active shipping method. A zone with no methods means customers in that region cannot complete checkout — WooCommerce shows "No shipping options available."

Step 4: Configure the Rest of the World Zone

The "Locations not covered by your other zones" zone is your safety net. Every customer who doesn't match a specific zone falls into this one. Configure it with at least one shipping method — even if it's a high flat rate for international shipping.

If you genuinely don't ship to certain regions, it's better to leave them out of all zones and display a clear message ("We currently don't ship to your region") than to have a Rest of the World zone with no methods — which just shows a confusing error.

Step 5: Order Your Zones Correctly

Drag zones to reorder them. More specific zones should be higher (first) in the list. WooCommerce uses the first matching zone, so "New York State" should appear before "United States." If "United States" is first, all US customers will match it and never reach the New York-specific zone.

Common Shipping Zone Mistakes

Mistake 1: No Rest of the World Zone

This is the most common shipping configuration error. Store owners create zones for their primary markets and forget about everyone else. A customer from an uncovered country tries to check out, sees no shipping options, and leaves. You never even know you lost the sale.

Fix: Always configure the "Locations not covered by your other zones" zone with at least one shipping method.

Mistake 2: Overlapping Zones

If you add "United States" to one zone and "California" to another zone, California customers will match whichever zone appears first in the list. If the US zone is first, California customers never see their California-specific rates.

Fix: When using state-specific zones, exclude those states from the country-level zone. Or ensure the more specific zone is ordered above the general one.

Mistake 3: Empty Shipping Methods

Adding a shipping method to a zone but not configuring it (leaving the cost at $0 or default) results in either free shipping you didn't intend or an error. After adding a method, always click to configure its settings.

Mistake 4: Not Testing as a Customer

The only way to verify your zones work correctly is to test with actual addresses. Use WooCommerce's built-in shipping calculator (displayed on the cart page) or go through the full checkout process with test addresses from each zone.

Test your shipping zones with addresses from every zone plus an address that should fall into "Rest of the World." The five minutes you spend testing prevents hundreds of lost sales from misconfigured zones.

Mistake 5: Ignoring Shipping Zone Logic for Digital Products

If you sell both physical and digital products, digital products shouldn't require shipping. Mark digital products as "Virtual" in the product editor (under the General tab, check "Virtual"). Virtual products skip shipping entirely, so they won't be affected by shipping zones.

Advanced Zone Strategies

Tiered Domestic Zones

Instead of one "United States" zone with a flat rate, create tiered zones based on distance from your warehouse:

  • Zone 1 (Local): Your state — lowest rates, fastest delivery
  • Zone 2 (Regional): Adjacent states — moderate rates
  • Zone 3 (National): Rest of the country — standard rates

This mirrors how carriers actually price shipping and feels fairer to customers near your warehouse.

Same-Day Delivery Zone

Create a postcode-based zone covering your immediate area and add a flat rate shipping method labeled "Same-Day Delivery" with a premium price. Use a plugin like Local Delivery Drivers for WooCommerce to manage delivery logistics. This is especially powerful for food, flowers, and grocery stores.

EU VAT-Compliant Zones

EU stores dealing with cross-border VAT (post-Brexit UK, different rates across member states) can use shipping zones to segment by country and apply country-specific shipping rates that account for varying tax treatments. Pair this with a VAT compliance plugin like Jetsteer EU VAT Assistant.

Shipping Zones + Conditional Logic

Native WooCommerce shipping zones are location-based only — they can't factor in product type, weight, or cart total by themselves. For rules based on product attributes or cart conditions, you need conditional shipping plugins. See our guide on conditional shipping rules for how to extend zones with product-based logic.

When combined with table rate shipping, zones become extremely powerful: different regions see different rate tables based on weight and price, giving you carrier-accurate pricing without the complexity of live rate calculations.

Create 3-5 shipping zones ordered from most specific to least specific. Always configure the Rest of the World zone. Test with addresses from every zone. Most shipping checkout failures trace back to misconfigured zones — five minutes of testing prevents them all.

Level up your WooCommerce store

Join the WPBundle waitlist and get beta access to our plugin suite completely free.

Join the Waitlist