Setting up shipping zones and classes in WooCommerce is crucial for any business selling physical products. It ensures accurate shipping rates, prevents unexpected costs, and improves the customer experience.
By defining zones, you control where you ship and how much it costs based on location.
Shipping classes help categorize products by weight, size, or type, allowing for tailored rates and better logistics.
Without proper setup, you risk overcharging or undercharging customers, leading to lost sales or profit. It also streamlines fulfillment, making shipping smoother and more efficient.
Now that you know that, let’s get started.
First, go to the sidebar menu on the left of the dashboard and hover your mouse on Woocommerce. A side panel will open where you should click on “settings”.

Wait for the screen to load and then click on the tab labeled “Shipping”. We are going to start by setting up your shipping zones by making sure we have the option selected for “Shipping zones”.
1. Shipping Zones
We have already created a zone for you, but you can add as many as you want. You can also edit a zone by clicking on the edit link located to the left of the screen.
The first thing that you have to do is to edit the name of the shipping zone. You can add any name you want, but it is recommended to give it the same name as the area that this zone covers.

In this case, we only ship in South Africa and we are going to call it “South Africa”. Under Zone regions, we are going to add one or more regions that this zone covers. In this case, we are going to select South Africa.
If you cannot find the area or country to which you want to ship, then you need to make sure that you selected the correct one in the general tab under Woocommerce settings. You will find the option called “Sell to specific countries” under general options.
Next, you will be presented with Shipping methods.
We have already created 3 different shipping methods for you such as Free Shipping, Flat Rate, and Local Pickup. Let’s start with Free Shipping
Free Shipping Method
Free shipping is a special method that can be triggered with coupons and minimum spending. For instance when the cart value of the customer has reached a specific price point, then you can offer them free shipping. This is a great way to boost your average order value.

They will be able to see how much more they need to spend on the mini cart and cart page.
Let’s set up your Free Shipping method. First, click on the “edit” link to the right of the Free Shipping Method.
A popup will appear where you need to enter the name. In this case, we are going to call it “Free shipping”. For the “Free shipping requires” option there are different requirements that you can set. In most cases, we are going to choose the option called “A minimum order amount”
The next option we can actually set the minimum required amount that needs to be in the cart for free shipping to kick in. You can set the amount that you feel will be the most financially viable for you.
Flat Rate Method
Now let’s set up your flat rate settings by clicking on the edit link to the right.
Another popup will appear where you should enter the name. Here you can give it almost any name you want. You can call it “flat rate” or you can create your own packages and name them accordingly. It is important to note that you can have more than one flat rate in a shipping zone.

Let’s say the shipping company that you use offers multiple delivery timelines such as overnight or 3 days. Overnight will always be more expensive than the 3-day delivery.
You can call one flat rate method “Overnight Delivery” and charge, for example, R200 for it whereas for the 3-day delivery, you can call it “3 Day Delivery” and for example charge R100 for it. You can add a small amount to what the courier company charges for a small profit or you can just keep it the same.
You also have the option to add shipping formulas to the cost field. Why is this important? Well, what is going to happen when the customer adds 10 products to their cart and the shipping rate stays the same?
The result is you as the store owner are going to pay more for shipping than what the customer will have to pay leading to a loss from your side. This is where shipping formulas come to the rescue.
Here are a couple of formulas that you can use (just copy and paste them over to the cost field):
- Here is the formula for multiplying the shipping rate by the number of products in the cart.
150 * [qty]
Result – R150 * 10 products = R1500
- Here is the formula for having a flat rate and then an amount for each product in the cart.
150 + ( 10 * [qty] )
Result – R150 + (R10 * 5 products) = R200 (R150 + R50)
- Here is the formula for setting the shipping rate as a percentage of the cart value.
[fee percent=”10″]
Result – [R500 * 10%] = R50
- You can also add a minimum fee that the customers must pay when working with percentage formulas. You can also add max_fee=”600″ for a maximum value.
[fee percent=”10″ min_fee=”200″ max_fee=”600″]
Result – [R900 * 10%] = R200 (In this case the shipping fee was converted from R90 to R200)
- You want to charge your customers a flat rate on top of the percentage.
150 + [fee percent=”10″]
Result – R150 + [R900 * 10%] = R240 (R150 + R90)
Also, keep in mind that the shipping rate that you set here will be for the smaller items that you sell which takes up little space in the courier van. For larger items, you will have to create different shipping classes. We will get to that later.
You can also choose to make the shipping rate Taxable and for the cost, you need to add the amount that you are going to charge.
Local Pickup Method
For local pickup, you can also give the customers the option to collect the product from your physical store or address once they purchased it online. Here you can also set the name, tax status, and an amount if you want to. In most cases, you will leave everything as it is.
Now let’s go to the Shipping Settings

2. Shipping Settings
To get there, you need to click on “Shipping settings” which is located next to Shipping zones.
Under “Calculations”, we are going to enable both the options called “Enable the shipping calculator on the cart page” and “Hide shipping costs until an address is entered” which will improve the customer experience in your store.

Under “Shipping destination” we are going to select the option called “Default to customer billing address” which is already selected for you.
And that is basically it for the Shipping Settings. Now we can go to the classes section.
3. Classes
Shipping classes in WooCommerce are categories you create to group products with similar shipping requirements. They help you apply different shipping rates based on product type, size, or weight.
For example, you can create classes like “Heavy Items” or “Fragile Goods” and set specific shipping costs for each. When a customer adds a product to their cart, WooCommerce calculates the shipping rate based on the assigned shipping class.
This makes it easier to manage shipping costs for different types of products.
If all your products are the same size or weight, then you can skip this step, but if you have larger products, then you should create your first shipping class.

Classes can be found next to the “Shipping settings” section right underneath the Shipping tab. Once there you can click on “Add shipping class” to create your first one.
A popup will appear where you can give it a name, a URL-friendly slug (link structure), and a short description. We already created one called furniture for items that weigh more than 20kg as an example.
Now that you have created your first class, you need to go back and edit your shipping zone. Go to the “Flat Rate” shipping method and click on the “edit” link on the right-hand side.

You will notice that the Shipping class costs section has been added to the popup. Here is what you should do. Let’s start with the “Furniture” shipping class cost field. The amount that you add here will be added on top of the R150 you entered in the cost field of the flat rate.
Here is an example:
Let’s say you enter R200 here, then the shipping rate will change to R350 (R150 + R200).
The field labeled as “No shipping class cost” you can leave empty because we already added the cost to the flat rate. If you add a value here, then it will add to the sum which can complicate the calculations.
Under Calculation Type, you have 2 options. You can either set it to “Charge shipping for each shipping class individually” which will add them separately or “Charge shipping for most expensive class” which will take the value of the most expensive class in the cart.
4. Shipping Calculator
Below is an image that will display an example of the shipping calculator on the cart page. The shipping rate can change when they update the cart with new products. Please note that the customer needs to fill out this form correctly in order for the shipping rate to appear. They can also add their address on the checkout page if they missed this section on the cart page.

5. Integrating Courier Companies With Your Store
We know that sometimes setting up your shipping options can be stressful and complicated. This is why we also offer different solutions to the shipping landscape. Woocommerce comes with many plugins and integrations where shipping can be automated.
Many shipping companies offer integration with Woocommerce. One of the best ones we worked with in the past is Pargo. Here is a link to more information on their integration. They cover South Africa and their integration is also the easiest.