How to Set Up Shipping in WooCommerce

You need to set up Shipping in order to get your products from you to your business and this may seem a bit complicated with WooCommerce but that is what this guide is for, right?

And in this guide, I will take you through all of the things you need to do in order to get your WooCommerce shipping options set up properly.

WooCommerce Shipping – The Basics

There are two main aspects when it comes to setting up your shipping methods in WooCommerce, Shipping Zones and Shipping Classes.

Shipping Zones are areas in the world that you post, for example the UK, Europe and/or the USA and also what the postage costs are to these zones. You can set up multiple shipping options within a shipping zone such as free standard delivery and express delivery, that customers can pay an additional charge for.

Shipping Classes are used to assign specific shipping rules to certain products, these become very useful if you sell a wide range products that all incur different postage costs. For example, if you sell home improvement products, a small picture frame is going to cost significantly less than an armchair to post and you can use shipping classes to separate them.

I hope that hasn’t confused you! If it has, don’t worry as below I will show you exactly how to set both of these elements of your shipping up.

Configuring Shipping Settings & Options

Before you start setting up shipping zones and classes, you want to go through and configure the settings for your WooCommerce store and these are located in two different parts of the WooCommerce settings section.

This first lot of settings are available in the General tab.

WooCommerce Shipping Settings

Within these setting, you can choose which countries you sell to, which countries you ship to and also what the default customer location is and for this one there are a couple of options:

  1. No Default Location
  2. Shop Base Address
  3. Geolocate
  4. Geolocate (with page caching support)

These are useful setting to configure and it helps to prevent orders coming in from countries that you don’t want to sell to.

The second set of options can be found by going to WooCommerce → Settings → Shipping → Shipping Options.

WooCommerce Shipping Options

In here are a couple of important options that you want to set up.

The first set of options are whether you want to enable to the shipping calculator and whether you want to hide shipping costs until the address is entered.

If you are selling internationally and have multiple zones, it may be best to hide the shipping costs until the address is entered, this way customers will have the correct shipping costs displayed for them.

If you are just selling domestically, then it is up to you whether you choose to hide them or not.

The second set of options are to set a default shipping destination, such as:

  • Customer Shipping Address
  • Customer Billing Address
  • Force Shipping to Billing Address

Which one you choose is up to you but you may want to check with your payment gateway if they have any specific requirements when it comes to the address you are sending to as some will only provide protection on orders that are sent to the billing address.

How to Set Up Shipping Zones

Once you have configured your options, the next step is to set up your shipping zones.

To start with navigate to your shipping settings (WooCommerce → Settings → Shipping) and you should see a display very similar to the image below. If you went through the WooCommerce set up wizard, then the shipping zone you created there will be visible here.

The zone you created in the wizard can be edited or deleted from this page, this can be done by hovering your mouse over the shipping zone and the two options will appear or you can choose to create a new shipping zone.

WooCommerce Shipping Settings Page

The page for editing an existing zone or creating a new one is the same and consists of three elements:

  1. Zone Name, this is whatever you want the zone to be called
  2. Zone Regions, this is where you select the countries are included in this zone. With some countries such as the USA and Canada, you will be able to select which states/provinces you want to post to for other countries, it will just cover the whole country.
  3. Shipping Method, the type of shipping method you are using and how much it will cost.

You can also be very specific about where this zone applies by limiting it to specific postal or zip codes, this can be done by clicking the link under zone regions.

WooCommerce Shipping Zone Set Up

If you sell internationally, then you are going to have to create multiple shipping zones to accommodate for all of these options and add shipping methods for all of these zones.

Adding a Shipping Method

When adding a new shipping method, WooCommerce will ask you if you want to add a:

  • Flat Rate – set a fixed rate for your shipping
  • Free Shipping – offer free shipping when a valid coupon and/or a minimum order value
  • Local Pick-up – lets customers pick their order up from your premises

When creating a flat rate shipping method, you will be asked to create a title for the method, the tax status (applicable if you charge tax on shipping) and the cost of the method.

WooCommerce flat rate shipping

You can add multiple methods to any zone, so you may have a standard shipping method, an express shipping method and local-pick up as an example.

How to Add Free Shipping on WooCommerce

Even though there is an option for free shipping when you add a new shipping method, it isn’t straightforward free shipping, instead it is rule based free shipping as mentioned above.

If you want to create a default free shipping option for your zone, this is done via the flat rate option as can be seen in the image below:

WooCommerce Free Shipping

To create a true free shipping option in WooCommerce, simply set the cost to 0 and tax status to none and you will have added a free shipping option that isn’t dependant on rules.

If you want to add a paid option, for example express delivery, just add another flat rate option with your chosen rate.

How to Set Up Shipping Classes

For the majority of products, Shipping Zones will provide you with all of the shipping options that you need but in some cases, you may need charge extra for certain items, for example:

If you sell interior decorations, a small picture frame and a chair aren’t going to cost the same to post and while the picture frame may fall under your normal shipping zone prices, you will need to charge more to ship the chair due to it being larger and heavier and this is where shipping classes become very useful.

To create a shipping class, go to WooCommerce → Settings → Shipping → Shipping Classes and by default, there are no classes created, so you need to create your own by clicking Add Shipping Class, you will then have to create a name, slug and add a description for that shipping class.

WooCommerce Add Shipping Class

Once you have filled in the required sections and then click Save and your shipping class will have been created. Once you have done this, you need to go back to the shipping zones sections in order to set up the prices for these classes. You can either edit an existing or create a new shipping method to do this.

WooCommerce Shipping Class Prices

As you can see in the image above, there are a few more options over the simple method above. You can still set a flat rate price but it is better to leave this at zero and use the new options to set the prices. As you can see, I have set the price for the ‘Heavy Items’ shipping class at 20 and any products not included in this class with be charged at a flat 7.50.

This allows you to create a variety of different shipping options and the most shipping classes you create, the more options you will have on this screen. But before this becomes useable, you need to assign this shipping method to product listings where this will apply.

This can be done in a few different ways. The first is in the product creation/edit page and can be done by going to the product data section and clicking the shipping tab. You can then select the shipping class you want to assign to this product by selecting it from the drop down menu.

WooCommerce Shipping Class Product Page

The second is by using the quick edit feature in the product overview page and selecting the shipping class from the drop down menu next where it says shipping class.

Option three is the best option if you need to do this to numerous products as it uses the bulk edit feature. Simply check the products you want to edit, select edit from the bulk actions drop down menu and then change the shipping class next to where it says shipping class.


Setting up shipping in WooCommerce isn’t the most intuitive thing to do but when you understand how to use Shipping Zones and Shipping Classes correctly, you understand that as standard, WooCommerce offers a very good selection of shipping options.

Now obviously, for this post, I have just looked at using the standard features with the core WooCommerce plugin but with additional plugins, you can add many more features and integrations into the shipping set up and this can be used to offer more options but to also automate some of the shipping process.

But I hope this tutorial has helped you understand exactly how to set up shipping effectively in WooCommerce.

Other WooCommerce Tutorials

Hi, I'm Paul, the Owner and Founder of EcommerceGold.
I ran my own Ecommerce Business for over 7 years and now help others start their own online retail empires!