Most of the shipping setup in WooCommerce revolves around geographical locations. Such can be countries, states, regions, and ZIP codes.
Every shipping zone consists of the following:
- a list of shipping locations
- second list of specific shipping methods
Once customers choose their address from the list of shipping destinations, they can see all the shipping methods available to them.
By default, the available shipping methods in WooCommerce are:
- Flat rate
- Free shipping
- Local pickup
With the help of add-ons, you can enable additional, more complex WooCommerce shipping options. Many service providers offer their own WooCommerce shipping extensions that let you, among other things, carry out more complex shipping calculations, automatically print shipping labels, implement shipment tracking, etc. All these options (and more) will be available if you set up WooCommerce Shipping – a special plugin designed and developed by Woo’s developers themselves. There are also tools (such as Table Rate Shipping) that can be useful for defining custom rules set for forming accurate shipping rates and expanding your shipping strategy.
WooCommerce also has a default shipping zone labeled Locations not covered by your other zones. This shipping zone automatically applies to all geographical areas that don’t have a custom shipping zone assigned to them.
Example: You can offer free shipping for major cities in your country, and the Locations not covered zone can be used to specify flat rate shipping for all other towns and rural areas.
Creating a Shipping Zone
The first step toward building your shipping configuration is creating a shipping zone.
Here are the steps:
1. Head over to WooCommerce → Settings
2. Click on the Shipping tab
3. Click on the Add Shipping Zone button next to the title of the page
4. Fill out Zone Name. For example: Free Shipping
5. Fill out the Zone Regions field just as you would normally add tags to a post. Note that the field offers auto-complete suggestions.
6. Optionally, you might want to limit your WooCommerce shipping methods to specific ZIP codes. Click on Limit to specific ZIP/codes located under the Zone Regions field.
Adding a Shipping Method to a Shipping Zone
7. To add shipping methods to your shipping zone, click Add Shipping Method near the bottom of the page.
8. This will launch a pop-up with a drop-down menu containing the three shipping methods available in WooCommerce by default (plus any you may have added yourself).
9. Pick a shipping method from the drop-down menu and confirm your choice with Add Shipping Method. You’re now back at the previous screen, and you see the shipping method selected during the previous step next to your shipping zone.
Note: Adding an existing shipping method to the shipping zone will save changes for you. No need to click the Save Changes button at this point.
Rearranging Shipping Methods
The Shipping Methods table is intended to reflect the order in which the multiple shipping methods are displayed to customers on the checkout and/or cart page. This includes their Title as well.
Use the drag handle at the beginning of every row to reorder shipping methods according to your needs.
Tip: Move the most convenient method for your business to the top of the list. From now on, this will be the default shipping method for this zone.
Shipping classes are used to combine products into groups that have specific shipping rates. To create this setup, you have to create shipping classes and assign shipping methods to them. Let’s assume the following scenario:
There are two types of products in your online shop:
- Organic Products, such as chilled meats.
- Accessories, such as cutlery and boxes.
You have created a Shipping Zone with your area’s ZIP code and assigned a flat rate shipping method for local delivery at $10 per order. Shipping refrigerated foods requires special containers worth $2 each. This increases delivery to $12.
To solve this, you can create a shipping class, group together only with refrigerated products, assigning a rate of $12 for the shipping class.
Let’s see how this is done in more detail.
Creating a Shipping Class
1. In the WooCommerce Shipping Settings sections, open the Shipping Classes tab.
2. The table is identical to the one we used previously. Click on the Add Shipping Class button to create a new row.
3. A new blank row is created, awaiting your input.
4. Fill out the Shipping Class Name field to set a name for your reference. For our example, this will be Refrigerated Foods.
5. You can leave the Slug field empty. It’s automatically generated based on the shipping class name.
6. Optionally, fill out the Description field with a note to yourself. You will need it if you have similar WooCommerce shipping classes or if you want to indicate which shipping carrier (or shipping carriers) will be responsible for the delivery.
7. You can use the Add Shipping Class button to add multiple classes. Just make sure to click Save Shipping Classes once you are done editing.
Assigning a Shipping Class Rate
8. Return back to the WooCommerce Shipping Zones settings.
9. For this example, we’ll edit an existing shipping zone with flat rate shipping applied to it. If you’re editing a Free shipping method, the options will be different. They let you enable or disable free shipping based on specific criteria (e.g., a minimum order amount, a valid free shipping coupon, or a combination of the two).
Move the mouse over the row of the shipping zone and click the Edit link that appears.
10. In a similar fashion, move the mouse over Flat Rate and click Edit.
11. A pop-up appears, and this time it includes a section titled Shipping Class Costs.
12. In the field labeled Refrigerated Foods shipping class cost enter the added price.
Note: The base fee for this method (which is $10) will be applied to the shipping class, to a total shipping cost of $12.
Using No Shipping Class Cost and Calculation Type
When multiple products in the shopping cart have different shipping classes, you can pick from two options for the shipping calculator:
1. Per Class: Charge shipping for each shipping class individually
– Creates a shipping price based on the sum of every shipping class present in the cart. If you pick this option, make sure to use the No Shipping Class Cost field to specify the default cost for products that don’t have a shipping class.
2. Per Order: Charge shipping for the most expensive shipping class
– Applies the price of the most expensive shipping class to the entire order.
Assigning Shipping Classes to a Single Product
Reminder: Shipping does not apply to virtual products, downloadable products, and affiliate/external products.
To assign a shipping class, you’ll need a product where shipping is active. For our example, we’ll use one of the sample products which is a simple product.
1. Head over to the Products screen.
2. Move the mouse pointer over Beanie with Logo and click Edit.
3. Scroll down to reach the Product Data box.
4. Switch to the Shipping tab and use the Shipping Class drop-down to select Refrigerated Foods or whatever name you’ve chosen for the shipping class.
5. Make sure to save your changes with the blue Update button located in the Publish box.
Assigning a Shipping Class With Bulk Editing
1. Back in the Products screen, locate the checkboxes at the beginning of every row.
2. Clicking the checkbox on the very first row of the products list selects all products. Clicking the checkbox on every other row selects only the product for this row. Use either of these to make a selection.
3. Click on the Bulk Actions menu, located on the top right of the Products table.
4. Click Edit and then Apply.
5. This expands a new section, displaying the majority of your product attributes.
6. Once it opens, locate the Shipping Class drop-down in the Product Data section.
7. Use it to select the tax class created earlier. In our example: Refrigerated Foods.
8. Make sure to save settings by clicking the Update button, located just below the product attributes.
If you go to WooCommerce > Settings > Shipping, you’ll notice the Shipping options subtab. Through it, you can decide how to calculate shipping rates and when to display them to the user, whether to use the customer’s shipping address or billing address, etc. There’s also a debug mode that helps you identify potential problems with your online store’s multiple shipping zones and cache.
It’s a good idea to go through these options before you launch your WooCommerce store.