WooCommerce Shipping Zones Explained

WooCommerce Shipping Zones
Author Łukasz Spryszak
Updated:
2024-10-14
Reading time:
5 minutes read

WooCommerce Shipping Zones introduced in version 2.6 are a killer feature making advanced shipping methods a standard. Adding the Zones gives you more flexibility and allows i.a. to offer your customers the zone-specific methods. Combined with the WooCommerce shipping methods they allow you to target your customers more precisely. Additionally, they allow to adjust the shipping to meet your business and your customers’ needs. Let’s get to know them better!

What are the WooCommerce Shipping Zones?

To cut the story short the shipping zones are groups of locations where you want to ship your products to. You can easily group the continents, countries, states/provinces and even ZIP or postal codes. In other words, you can use them e.g. to:

  • offer the same shipping method or set of methods for the whole country or even a continent;
  • define a shipping zone covering a few selected USA states e.g. FL, GA and AL,
  • narrow down the shipping area precisely to include only specific city district based on postcodes.

It’s all up to you how you configure them and which setup suits your business best.

What surely makes them an attractive shipping option is the fact that they also allow you to set up the different shipping methods for each zone you’ve created and your customers will see only the ones available for their area (based on the entered address details or geolocation).

WooCommerce Shipping Zones Setup

First, navigate to WooCommerce → Settings → Shipping → Shipping Zones. You should see the following screen if you haven’t created any shipping zones yet:

Adding new WooCommerce Shipping Zone
Adding new WooCommerce Shipping Zone

Hit the Add shipping zone button in the middle or the Add shipping zone at the top of the screen. You will be redirected to the new shipping zone settings:

Shipping zone configuration screen
Shipping zone configuration screen

Define its name by filling in the Zone name field and select below the Zone regions which it should cover.

Shipping zone based on continent

As I mentioned before you can set the shipping zone to cover the entire continent:

WooCommerce zone covering the whole North America territory
WooCommerce Shipping Zone covering the whole North America territory

Shipping zone based on country

whole country:

WooCommerce zone covering the whole USA territory
WooCommerce Shipping Zone covering the whole USA territory

Shipping zone based on states

selected states:

WooCommerce zone covering selected states
WooCommerce Shipping Zone covering selected states

Shipping zone based on city

particular city:

WooCommerce zone covering the particular city
WooCommerce Shipping Zone covering the particular city

or you can narrow it down and create the…

WooCommerce Shipping Zone based on postcodes:

It is the most precise one and deserves some more attention. Once the Limit to specific ZIP/postcodes link is clicked the additional text-area field will appear below where you can put all the postcodes you want the shipping zone to be narrowed to. What’s most important here is that you can enter them in three different ways:

  1. directly, typing the full postcodes manually one per line, e.g.:
    Postcodes list
  2. by defining their ranges, e.g. 90210…99000. If used, the shipping zone will cover all the postcodes between 90210 and 99000 such as 90211, 93123, 98157, etc.
  3. using so called wildcards and placing an asterisk sign * in right place of the postcode, e.g. AB10* wildcard will cover all the postcodes starting with ‘AB10’ phrase, e.g. AB10 1AP, AB10 1AR, AB10 1AQ and so on.
UK WooCommerce Shipping Zone based on postcodes
UK WooCommerce Shipping Zone based on postcodes

Once you created the shipping zone and set it up to fit your case confirm the whole process with the Save changes button.

If you want to learn more about the shipping zones based on postcodes and see how they work live, please check our guide on UK Shipping Zones configuration in WooCommerce →

Adding a shipping method

Next, use the Add shipping method to add one right away.

WooCommerce Add shipping method window
Add shipping method

In the popup window, which should appear, choose Flat rate, Free shipping, Local pickup or Flexible Shipping method if you have the Flexible Shipping plugin installed. Then, configure it according to your needs. You can add as many shipping methods within a shipping zone as you want.

Drag Shipping Methods
Drag & Drop Shipping Methods

From this point you can easily

manage the shipping methods

you’ve added within a shipping zone. Drag and drop them grabbing the Drag & drop icon icon on the left to change the order how they are displayed in the cart or checkout.

Edit or delete them with the quick links appearing on hover. Use the toggle to switch them on and off on the fly. Easy as pie, isn’t it?

Once the shipping methods are configured save the changes one more time and voila! You’ve just configured a fully functional shipping zone in your WooCommerce shop. However, there are several things you need to know in order to make it work as a dream.

Sorting Shipping Zones

WooCommerce shipping zone matching mechanism takes the address entered in the cart and checks if it matches the defined shipping zones starting from the top to the bottom of the shipping zones list.

Sort Shipping Zones
Shipping Zones matching order

If the provided shipping destination matches e.g. the first zone, the next ones are not even being considered. As you can see above, the USA shipping zone which is the wider one, is placed higher than the narrower one shipping zone. To solve this out we simply need to change the shipping zones order, drag & drop them.

Sort the shipping zones starting from the narrowest at the top of the list to the widest at the very bottom.
Proper Shipping Zones order
Shipping zones ordered from the narrowest to the widest

Shipping zones – good practices

  1. Make a fallback option. If WooCommerce doesn’t find any matching shipping zones for the entered shipping address considering them one by one starting from the top of the table. It will finally reach its bottom. When it finds no match for such shipping destination, it will simply fall into the Locations not covered by your other zones. So, in order to prevent any possible matching issues, adding a kind of emergency shipping method here as well, e.g. the fixed price Flat rate is a good practice.
  2. Locations not covered by other zones
    Locations not covered by your other zones
  3. In the case of facing some problems use debug mode. If you ever noticed an order whose shipping option hadn’t been assigned properly, debug mode in WooCommerce comes with help. Move on to WooCommerce → Settings → Shipping → Shipping options, enable the Debug mode at the bottom and save the changes.
  4. WooCommerce shipping Debug mode
    WooCommerce shipping Debug mode

Once you turn the Debug mode on it will show you in the cart which shipping zone was matched to the entered shipping details. It’s a great help if it comes to troubleshooting when you experience any problems with the shipping configuration and it usually sheds some light on the situation.

Go back to the cart and check what it says. At the very top of the screen you should see the relevant notice:

Wrong shipping zone matched
United States shipping zone matched

As it shows, the entered 20 W 34th St, New York, NY 10001 shipping destination wasn’t matched to the narrow New York shipping zone based on postcodes but to a much wider one covering the whole United States area(based on the example in the previous heading). Wondering why did it happen this way? In this case, the order of shipping zones needs correction.

Setting up shipping zones made easy

Setting up shipping zones in WooCommerce can be challenging. If you feel overwhelmed by the quantity of information you’ve read, I have good news: there is a tool which will simplify it. Go for Flexible Shipping plugin. It’s completely free and has the built-in Flexible Shipping hints, which display an error message in WooCommerce shipping zone settings if the plugin detects a potential shipping zone configuration conflict. You don’t need to remember everything you’ve just read. The plugin will be your personal assistant!

Flexible shipping hints

What’s more, it has many different shipping options which may boost your online store performance, such as:

  • free shipping from certain amount and the bar displaying the amount left to reach cost-free shipment;
  • Setting shipping costs based on shipping class;
  • Setting the shipping costs based on product size;

and many more!

Flexible Shipping PRO WooCommerce
99.00

The best Table Rate Shipping for WooCommerce. Period. Create shipping rules based on weight, order totals or item count.

View Details or Add to cart
100,000+ Active Installations
30-day money back guarantee
Last Updated: 2024-12-09
Works with WooCommerce 9.1 - 9.5.x

Read more about conversion rate optimization in your store!

WooCommerce Shipping Zones – Wrapping up

You’ve just learned everything you need to know about the WooCommerce Shipping Zones. I showed you step by step how to create, manage and configure them to meet your business. You’ve also got across the most common issues you might encounter and found out how to deal with them. I deeply believe you are now fully ready to take care of the shipping zones setup in your WooCommerce store. If there is still something bothering you or you find something unclear, feel free to leave your questions in the comments below.

We’ve also prepared an extensive guide to WooCommerce Shipping we recommend if you want to get a better grasp of the shipping methods, classes and more.
Comments
Subscribe
Notify of
guest
9 Comments
Inline Feedbacks
View all comments
Florian Ibe
Florian Ibe
5 years ago

Hi, nice topic but in combination with W3 Total Cache the query is slow down: W3TCDbCache_Wpdb->default_query
comment image

What can we do?

WP Desk
WP Desk
Reply to  Florian Ibe
5 years ago

Hi Florian, are you sure this is connected to our plugin?

Florian Ibe
Florian Ibe
Reply to  WP Desk
5 years ago

Yes of course. You load the shipping zones on all pages with products and not only on checkout. Thats a “problem” for performance.

WP Desk
WP Desk
Reply to  Florian Ibe
5 years ago

Thanks for pointing that out. We passed this to our developers to verify.

Florian Ibe
Florian Ibe
Reply to  WP Desk
5 years ago

Perfect. You can test it with w3 total cache. Its tables which loaded on every site with products. Hope you find the best way. If you need help, you can write me an email over http://www.pictibe.de

WP Desk
WP Desk
Reply to  Florian Ibe
5 years ago

Hi Florian,
We’ve checked the queries that are generated by our plugin, and in a clean WP/WC+FS installation we’ve found that the mentioned zone queries are produced only on cart/checkout page.
Therefore, the most probable cause of described behaviour is that there is a theme or another plugin that is calling one of the shipment hooks used in cart/checkout to which FS is hooked.

ali ammar
ali ammar
3 years ago

nice

Last edited 3 years ago by ali ammar
Gerardo
Gerardo
1 year ago

I have a problem with my pages that have their plugins, I want to contact support but apparently it is only for the pro version. And it was working fine, but from time to time I get an error “Wider Zone 7 Rest of the World shipping zone covers the range of the narrower one placed below” but I already configured it from the narrowest to the widest and vice versa as your page says, but it doesn’t work.