February 4, 2020

How To Set Up Shipping Classes in WooCommerce?

What do you need to run a successful online store?

Great products? Absolutely.

Reasonable prices? Yes. 

A killer shop page? Correct. 

But, here’s one thing you forgot about – Shipping. Specifically, shipping charges. 

A flat shipping rate is probably losing you more business than you know.

Think about it this way. Why would I, as the customer, pay a $10 shipping fee to buy a $4 product? The answer is I won’t.   

An easy way to solve this problem is by using WooCommerce Shipping Classes. But if you’re confused about how they work, don’t worry, we’ve got you covered. This article details everything you need to know about setting up shipping classes on your WooCommerce shop.

Let’s dive in, shall we?

What are Shipping classes in WooCommerce?

In one word – Groups.

Essentially, shipping classes are a convenient way to group similar products together. This way you can apply the same set of rules to all the same products. 

For instance, you run a shop that sells vintage T-shirts, scarfs, and shoes. Now the T-shirt and scarfs are pretty lightweight. While the shoes are bulkier and cost more to ship to your customer.

So, naturally, you want to charge a higher shipping price for the shoes. Enter Shipping Classes.

You create a separate shipping class called ‘shoes’ or ‘bulky items’. You add all the shoes to this class. And then you set a higher price for that shipping class.  

In the coming sections, we’ll go through a step by step of how to achieve that for your WooCommerce shop. But at the same time, note that shipping classes are optional and if your products are widely varied, they might not be ideal for your shop.

How to set up a Shipping Class in WooCommerce?

Setting up shipping classes is an easy job. Once you know how shipping classes work and have a clear idea of which products you want to group together, follow the steps below:

Step 1: Adding a Shipping Class

Under the WooCommerce tab on your Admin Dashboard, you’ll see the Settings option.

WooCommerce - Settings - Shipping

Once you click on it, navigate to the Shipping -> Shipping class

WooCommerce backend shipping classes

You’ll see three fields that you need to fill out:

Shipping Class – This is the name you assign to the shipping class. This can be anything you want. For Eg, if you’re setting up classes based on the weight they can be ‘1kg’ or ‘500g’. Or they could just be product names like ‘Shoes’ or ‘scarfs’.

Slug – This is a unique identifier of this shipping class. This field is optional. If you leave it blank a slug will be autogenerated.

Description – This field is for your reference or for anyone that manages the store. You can add the specifics of the shipping class here. For eg, for the ‘1kg’ class it can be ‘includes products over and equal to 1kg’

Next to these three fields, you can see a ‘Product count’. Once we’ve added products to the shipping class in the next step, this is where you can view the total count.

Adding multiple classes:

Click on the ‘Add shipping class’ button. And repeat the process above until you have everything in place.

WooCommerce Add Shipping Class

Editing shipping classes:

If you hover over the shipping class name, you’ll see two options – Edit and Remove. 

WooCommerce Shipping classes

You can use them to change the shipping fields or remove classes altogether. 

Once you’re done, don’t forget to click on the ‘Save shipping classes’ button!

Step 2: Adding products to Shipping Classes 

Now that we have our shipping classes in place we can start adding products to them. 

To start with, go to the Products tab.

Add products to Shipping Classes in WooCommerce

Select the Edit option for the product you want to add

And scroll to Product data -> Shipping 

You’ll see the Shipping Class field. Since we’ve already created the shipping classes, the drop-down menu should display them. Select the correct one from the list.

WordPress Product Shipping backend

Now do this for all the products you want to add to our shipping class.

For bulk-adding products to the same class just select them from the main page, choose the Edit option from the Bulk Actions menu. And assign them all the desired shipping classes.

WordPress Bulk Adding Products

Once you have assigned the shipping class to all the products you need, you’re pretty much done in terms of ‘set up’. But all we have done till now is group similar products together. In the next section, we’re going to see how to actually use the shipping classes we just created.

Using shipping classes to offer different rates for different products

Before we start let’s get familiar with a few terms:

Shipping Zone:  A geographic area where you ship items to. Each customer is mapped to one geographic area. It can be as big as a continent eg ‘All countries in Europe’ or it can be as specific as a zip code. 

Shipping Methods: WooCommerce offers some inbuilt shipping methods including Flat Rate Shipping, Local Pickup and Free Shipping. WooCommerce is built to be extendible and you can always add custom shipping methods if you need to.

Shipping Cost:
The rates you set for how much it will cost to ship to the selected shipping zone with the selected shipping method.

Flat Rate Shipping is a shipping method offered by WooCommerce. When added to your shipping zone, for all orders being shipped to that zone it adds the same shipping price at checkout.

Here we’re going to modify the Flat Rate Shipping method. We’re going to add Shipping Class cost to calculate different shipping fees for different types of products. So this way, the shipping price is decided based on the items in the cart.

This means that the customer doesn’t pay more than the required charges and you don’t pay out of your own pocket to ship bulkier items. It’s a win-win situation.

Configuring Shipping Class Cost for the Flat Rate Shipping method

To start,  we need to navigate to the Flat Rate Shipping method settings. You can do this by clicking the ‘Edit’ option for your shipping zone and then ‘Edit’ for the flat rate shipping method.

Configuring Shipping Class

The settings page should pop up in front of you. 

Since we’ve already set up our shipping classes, you should see their setting options under the Shipping Class Cost section.

Flat Rate Shipping

Make sure your calculation type is set to ‘ Per class: charge shipping for each class individually’

Now you can calculate the cost for each shipping class directly or on the basis of product quantity and cost. Let’s see an example for each:

Example 1: Adding an extra cost

Let’s consider our shipping class ‘Higher Shipping’. This class contains items that are bulkier and cost more to ship. So we want to charge $5 more to ship these products:

Flat Rate Settings: Higher Shipping class cost

Now if a customer orders a product that is ‘bulky’, $5 will be added to the base shipping cost of $10. A total of $15 shipping charge will be levied at checkout. 

Ecommerce site shipping flat rate price

Example 2: Based on product quantity

Consider the 3 shipping classes we set up.

Now, for every product in ‘Regular Shipping’, we will add a $10 shipping fee, while for every item in ‘Higher Shipping’ we will add a $20 shipping fee:

Shipping class costs

Be sure to leave the ‘Cost’ field blank for this to work. 

This will ensure that for the ‘Free Shipping’ class there won’t be any shipping charges applied for any quantity of products. But for the regular shipping class, a $10 shipping charge will be added for each item in the cart.

Ecommerce site shipping flat rate

Example 3: Based on cost

You can also calculate the shipping price as a percentage of the product cost.

Let’s consider the same shipping classes.

Shipping class costs - quantity based

So here, for every product in the cart that belongs to  ‘Free Shipping’ no cost will be added. But for every product in the cart that belongs to ‘Regular Shipping’, 10% of the product cost will be added to the shipping price. For instance, for a $500 item, $50 will be added. For 2 of the same item, $100 will be added. 

Ecommerce site shipping flat rate

 Remember to keep the ‘Cost’ field empty in this case as well. Otherwise, the shipping price will end up at Cost + Shipping Class cost. 

Over to you

Hopefully, this guide helped you get a clear idea of what shipping classes are and how they work. And you are able to take your WooCommerce shop to the next level because of it. 

Let us know if you were able to easily set up shipping classes for your shop or if you have any questions. If you have any good tips to get more out of shipping classes, write to us about those as well!

Thank you for stopping by!

Recommended for you: 7 best shipping plugins for WooCommerce

Disclosure: Some of the links in this blog post might be affiliate links. When you purchase through a link on our website, we receive a small commission, at no added cost to you, which helps us run Epitrove and keep producing great content. This does not influence our recommendations; we only recommend products we work with or love. Thank you for your support!

Lavanya Deshmukh
Lavanya Deshmukh

Computer Engineer, food enthusiast and die-hard Harry Potter fan that now writes content full time for Epitrove


Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  1. Thanks for the help.