← Back
Shipping

WooCommerce Shipping Zones: Complete Configuration Guide for WordPress Stores

Configuring WooCommerce shipping zones correctly is the foundation of a professional shipping setup. Zones determine which shipping methods your customers see at checkout based on their location — and getting them right is the difference between accurate, competitive shipping rates and confused customers abandoning their carts. This guide covers zone configuration from scratch and how to combine zones with real-time carrier rates for maximum flexibility.

What Are WooCommerce Shipping Zones?

A shipping zone is a geographic area — a country, a state, a zip code range, or even a specific postal code — to which a set of shipping methods applies. When a customer enters their address at checkout, WooCommerce matches it against your configured zones and displays only the relevant shipping methods for that location.

Without properly configured zones, every customer sees every shipping method regardless of their location. A customer in Germany might see a USPS domestic rate. A customer in California might see an international DHL rate. Zones prevent this and give each customer a checkout experience that makes geographic sense.

How WooCommerce Shipping Zone Matching Works

WooCommerce evaluates zones from most specific to least specific. A zone targeting “New York, USA” will match before a zone targeting “USA” which will match before a zone targeting “Rest of the World.” The first matching zone wins, and only that zone’s shipping methods are displayed.

This hierarchy allows you to create nuanced configurations: different rates for your home state, different rates for the continental US, different rates for Alaska and Hawaii, and different rates for international destinations — all managed cleanly without conflict.

Setting Up Your Core Shipping Zones

Zone 1: Local or Regional Zone (Optional)

If you offer local pickup or delivery, create a specific zone for your city or zip code range. This prevents customers down the street from being offered carrier shipping rates when local pickup would be faster and cheaper for both parties.

Zone 2: Domestic Shipping Zone

Create a zone for your home country. In the US, this would be “United States” covering all states and territories. This is where your primary domestic shipping methods live — and where integrating real-time carrier rates via EasyPost for WooCommerce by ThePluginForge delivers the most value.

Zone 3: Special Domestic Zones

Alaska, Hawaii, Puerto Rico, and US territories face different carrier surcharges than the continental US. Create separate zones for these regions if you want to configure specific carrier restrictions or surcharges that apply there.

Zone 4: International Zones

Create zones for the international regions you serve. Options include: individual country zones for your highest-volume markets, regional zones (Europe, Asia-Pacific, Americas), or a single “Rest of World” zone as a catch-all.

Zone 5: Rest of World

Always include a “Rest of World” zone to handle any country not matched by your more specific zones. Even if this zone only contains a “Contact us for shipping rates” notice, it prevents customers from seeing an empty checkout with no shipping options.

Adding EasyPost Real-Time Rates to Your Zones

Once your zones are structured, add the EasyPost shipping method from ThePluginForge’s EasyPost plugin to each zone. Configure each zone’s EasyPost method to show only relevant carriers:

  • Domestic zones: USPS, UPS Ground, FedEx Ground, regional carriers
  • Alaska/Hawaii: USPS Priority Mail, FedEx, UPS (note surcharges)
  • International zones: USPS International, DHL Express, FedEx International, UPS Worldwide

This zone-specific carrier configuration ensures that customers only see carriers that can actually serve their location — and at rates that reflect the true cost to ship there.

Combining Free Shipping with Zone-Based Carrier Rates

A powerful configuration pattern is to offer free shipping on domestic orders above a threshold while showing carrier rates below that threshold — and to offer only paid carrier rates for international orders (since international shipping is typically too expensive to offer free).

Implement this by adding both a free shipping method (with minimum order condition) and an EasyPost real-time rates method to your domestic zone. Add only the EasyPost method to your international zones. WooCommerce will surface free shipping to qualifying domestic customers while always showing paid rates to international ones.

Shipping Zone Troubleshooting

Customer Sees No Shipping Options

This usually means their address matched no zone, or the matched zone has no configured shipping methods. Check your “Rest of World” zone and ensure it has at least one method. Also verify that any shipping methods in the matched zone are enabled, not just added.

Wrong Rates Showing for a Region

Verify zone order and specificity. A broad zone might be matching before a more specific one. Test by temporarily removing the broad zone to see if the specific one takes over correctly, then reorder your zone configuration.

EasyPost Rates Not Showing

The most common cause is missing product weights or dimensions. The EasyPost API cannot return rates without package weight data. Check your product catalog and ensure all shipped products have weight values entered. For help, contact ThePluginForge support.

Zone Configuration for Marketplace and Multi-Vendor Stores

If you run a WooCommerce marketplace with multiple vendors, shipping zones can be applied globally or per-vendor depending on your setup. Contact ThePluginForge support to discuss multi-vendor shipping configuration options with the EasyPost plugin.

Conclusion

WooCommerce shipping zones are the control structure that makes your entire shipping configuration coherent and customer-friendly. When combined with real-time carrier rates from EasyPost for WooCommerce by ThePluginForge, they create a checkout experience where every customer sees accurate, relevant shipping options for their location — and where you are always charging rates that reflect your actual costs.

Get help configuring your zones at ThePluginForge support center.

Frequently Asked Questions

How many shipping zones can I create in WooCommerce?

There is no hard limit on shipping zones in WooCommerce. You can create as many as you need. However, keeping zones to a manageable number (5–10 for most stores) makes maintenance easier.

Can the same country appear in multiple shipping zones?

No. Each location can only belong to one zone. If you assign the US to Zone A, you cannot also include it in Zone B. Use zone specificity (state-level zones inside a country zone) rather than duplicate country assignments.

Can I restrict checkout to specific countries using zones?

Yes. Countries not included in any zone will see no shipping options at checkout, effectively blocking those markets. You can also control available countries at the WooCommerce → Settings → General level.

What happens if a customer’s address matches the “Rest of World” zone?

They see whatever shipping methods you have configured for that zone. If you want to block checkout for unconfigured countries, do not add any shipping methods to your Rest of World zone — customers from those countries will see “No shipping options available” and cannot complete checkout.