How To Make Woocommerce Free Shipping Per Product



If you are running a store selling items that have different shipping requirements, having different shipping terms in very important. One very common scenario is to enable WooCommerce free shipping per product. That means for other products, you still charge shipping fee. However, for some particular products, you may want to enable free shipping.

I’ll show you how to do that in this post. Good news is there is no plugin to install.

Use shipping class to enable WooCommerce free shipping per product

Shipping class is a very simple feature in WooCommerce. However, it is very powerful if you know how to use it. I made a shipping class in depth tutorial here.

Create a shipping class

Now, let’s go to WooCommerce->Settings->Shipping class

woocommerce shipping class interface

Let’s click on Add shipping class button to start creating our free shipping class. You can name any way you like. However, I’ll make it descriptive by giving it the name: Free shipping class.

How To Make Woocommerce Free Shipping Per Product 1

Click on Save shipping classes and you are done.

Configure the free shipping class’s fee

Our next step would be configuring the free shipping class fee. Let’s go to shipping zone and click on the edit button below your zone. If you have multiple shipping zone, you need to do this for every zones if you want to make the free shipping per product works for all customers in all zones.

edit a shipping zone

Next, edit the shipping method. As you can see, I have one shipping method here (a flat rate shipping method). If you have multiple shipping methods, you need to configure the free shipping class fees for all of them.

Edit shipping method
How To Make Woocommerce Free Shipping Per Product 2

In this edit screen, you can see that at (1), I have the common shipping cost to all products is $21. In order to enable free shipping for products that have “Free shipping class”, I need to enter a number that when add to the cost results in $0.

The only number that adds to 21 returns 0 is -21.

Save the changes and you are almost done.

Set free shipping class for particular products

Now, the last step would be assign the free shipping class to product that you want to enable free shipping. Let’s pick a product and edit it. Scroll down to Product data and click on Shipping tab:

configure WooCommerce free shipping class per product

Let’s assign the shipping class of this product as “Free shipping class”.

Now, if I add this product to cart and go to the cart page, I’ll see that there is no shipping fee:

woocommerce free shipping per product

That’s how you enable WooCommerce free shipping per product using shipping class. There is another way, which I’m going to show you next.

Use coupon to enable free shipping per product

Do you know that you can use coupon to enable WooCommerce free shipping per product? I’ve made a free shipping coupon tutorial here so you can have a look. Using free shipping coupon offer some unique flexibilities and it is definitely a method you can use to maximize the flexibility that you can offer to your customers.


As you can see, configuring WooCommerce free shipping per product is quite simple and require no external plugin. You can either use a coupon or a shipping class to enable this feature. I personally prefer using free shipping coupon as it requires less step and you can easily add products that can use the coupon at one screen.

Using shipping class has some unique strengths too. In the case of free shipping coupon, you need to add a new free shipping method in every shipping zone. This may not be desirable for some people. However, it is up to you to decide what method to use based on your actually situation.

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Leave a Reply

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