WooCommerce Free Shipping Per Product (Tutorial)

Free shipping always excites customers. It will not only help you to increase sales, but it will also help you to avoid dead stock. 

WooCommerce is a very flexible eCommerce platform, allowing you to offer free shipping on the entire store. 

In today’s article, I’ll walk you through the step-by-step process of offering WooCommerce free shipping on a single or specific product. 

I’ll show you two different methods to do so. Without any further ado, let’s jump into it. 

How to Set up WooCommerce Free Shipping on a Single Product?

You can do that by using code, but for this tutorial, I’ll show you the easy and customizable methods to set up free shipping for a single or specific product

Follow the following steps to offer free shipping for a single product

1. Using the WooCommerce Shipping Class

The first method to set up free shipping for specific products in WooCommerce is by using the shipping class. 

But first, let’s understand a bit about shipping class. 

What is a WooCommerce Shipping Class?

WooCommerce shipping classes make it easy for store owners to handle product shipping. It allows you to group similar items and charge different shipping rates for each group. 

For example, you can have a group for heavy items and a different group for lighter items and charge different shipping rates based on the weight of the items. 

This way, customers are charged the right amount for shipping based on what they buy. Assigning products to a group is simple, and setting custom shipping rates for each group is straightforward too. 

WooCommerce shipping class allows you to manage shipping in a way that makes sense for your business.

Please follow the steps to set up free shipping for a single product using the WooCommerce shipping class. 

1.1. Navigate to Shipping Classes

First, we need to create a shipping class in WooCommerce. To do so, navigate to WooCommerce » Settings » Shipping » Shipping Classes from your WordPress admin dashboard. 

1.2. Add a New Shipping Class

Once in the shipping class section, you need to add a new shipping class to WooCommerce. Even if you already have created a shipping class, you’ll need to add a new one for the product you want to offer free shipping. 

You can add that class to more than one product, but I’ll only focus on setting up free shipping on a single product for this tutorial. 

Please click the ‘Add Shipping Class’ button to add a new shipping class. 

1.3. Add Shipping Class Details

You need to add the shipping class name to the ‘Shipping Class Name’ field. 

You can leave the slug and the description field empty because the slug will automatically be created once you’ll save the shipping class. 

Once you are done, click the ‘Save Shipping Classes’ button to save it. 

1.4. Edit the Shipping Zone

Once you have created the shipping class, we need to edit the shipping zones. To do so, click the ‘Shipping Zone button, hover over your mouse on the shipping zone, and click the ‘Edit button. 

Note: I have already added the shipping zone to my store. If you haven’t added it, click the Add Shipping Zone button and customize it according to your choice. 

1.5. Edit the Flat Rate 

If you have not added any shipping method to your store, you can create one by clicking the ‘Add Shipping Method’ button to add a shipping method. You’ll be able to select from the default shipping methods. 

  • Flat Rate
  • Free Shipping
  • Local Pickup

You’ll need to add a flat-rate shipping method.

As I have already added it to my store, I’ll edit it by hovering the mouse over it and clicking the ‘Edit’ button. 

1.5.1. Flat Rate Settings

Once you click it, you’ll be redirected to a popup where you can add flat-rate shipping. But as we want to offer free shipping for a single or specific product, we need to ensure that the flat rate is zero and the shipping class cost is zero

You’ll also need to add a shipping price in the ‘No Shipping Class’ field. It will only be charged by the users if customers purchase a product without a shipping class attached. 

I have also edited the method title, so it makes more sense. 

Don’t forget to click the blue ‘Save Changes’ button at the bottom right of the popup. 

1.6. Add the Shipping Class to the Product

Finally, we need to add free shipping to the product for which you want to offer free shipping. 

To do so, please follow the following steps. 

1.6.1. Navigate to Products

Navigate to Products » All Products from your WordPress admin dashboard. Here you’ll see all the products you have added to your store. 

1.6.2. Edit the Product

Now, you need to edit the product for which you want to make shipping free. To edit it, hover your mouse over it and click the ‘Edit’ button. 

1.6.3. Add Shipping Class to the Product

Once you are on the product edit page, please scroll down to the ‘Product Data’ section and click the ‘Shipping’ tab from the left sidebar. 

Select the shipping class we created in the previous steps from the ‘Shipping Class’ dropdown. 

1.6.4. Update the Product

Once you have added the shipping class to the product, scroll to the top of the page and click the ‘Update’ button to save the settings. 

1.7. Final Results

To test it, I added it to my cart and visited the cart or checkout page to see if I get free shipping for this specific product. 

Now, I added another product to my cart to check the results. 

It was adding the shipping cost, which we added in the ‘No Shipping Cost’ field in the above steps. As you can see below screenshot, I added the product to the cart, to which I didn’t add the free shipping class. 

I am getting charged a flat rate as well, as it is saying ‘Free.’ It means that the product to which I added the shipping class has free shipping, while the other product has a shipping price of $50. 

This is how you can set up free shipping on a single product in WooCommerce using WooCommerce shipping classes. 

2. Using the Dynamic Shipping and Payments Plugin

The first method may confuse the users as they’ll see the ‘Free’ shipping tag with the shipping price for another product. 

To overcome this issue, you have two options. You can either limit the cart quantity, or you can continue to read this article. 

In the 2nd method to offer free shipping on a single product or specific products, I’ll use the Dynamic Shipping and Payments plugin. 

This plugin will help you to create different shipping and payment restrictions. For example:

Please follow the following steps to offer free shipping on a specific product. 

2.1. Create a New Product Category

To offer free shipping on a single product or specific products, I’ll first create a product category and add the product (for which I want to offer free shipping) to it. 

After that, I’ll add the shipping restriction to get the final results. 

To create a category, please navigate to Products » Categories from your WordPress dashboard. Here you’ll see all the categories you have added to your store. 

2.1.1. Give a Name to the Category

On the categories page, you’ll also see a form to add a new product category. We need to add the category name in the ‘Name’ field. 

You can give it any name you want.

2.2.2. Save the Category

After that, click the ‘Add New Category’ button to save the category. 

2.2. Add the Product to the Category

Once you have created the category, we need to edit the product and add it to the category. 

I edited the product for which I want to offer free shipping.

Once you are on the product edit page, you can simply check the ‘Free Shipping’ category box from the ‘Product Categories’ section. 

Don’t forget to ‘Update’ the product to save the settings. 

2.3. Install and Activate the Dynamic Shipping and Payment Plugin

Note: You can skip this step if you have already installed and activated the Dynamic Shipping and Payments plugin. 

To install the Conditional Shipping and Payments plugin, you will need to install the Woosuite Core plugin and activate it with the help of a license key. We have created a Quick Start Guide for you to figure out how to install and activate the Dynamic Shipping and Payments plugin. 

2.4. Navigate to Shipping & Payments

Once the plugin is installed and activated, navigate to the Woosuite » Shipping & Payments from your WordPress admin dashboard. 

2.5. Click the Payment Gateways tab

Click the “Shipping Methods” tab from the plugin’s settings to add a shipping method restriction. 

2.6. Offer Free Shipping for Specific Products or a Single Product

Now we need to add a shipping method restriction so that users will get free shipping for specific products or on a single product. 

Click the ‘Add Restriction’ button to add a shipping method restriction. 

Once you click it, a new rule will add, and you can customize it to offer free shipping on a single or specific product. 

To do so, please follow the following steps. 

2.6.1. Add Short Description

In the ‘Short Description’ field, enter a description of the rule. For example, free shipping on a single product. 

2.6.2. Exclude the Shipping Methods

From the “Exclude Methods,” select the shipping methods you want to hide from the users if they purchase a specific product. We’ll create this rule in the following steps. 

I have selected all the shipping methods available on my store except the free shippingbecause I want to offer free shipping if the condition (we’ll create in the next steps) matches. 

2.6.3. Add Condition for Free Shipping on a Single Product

Once you have selected the shipping methods you want to hide from the users based on a certain condition, now is the time to add that condition. 

You can select the conditions as follows:

  • Backorder
  • Billing Country
  • Category
  • Coupon Code
  • Customer
  • Customer Role
  • Order Total
  • Package Item Count
  • Product on Sale
  • Shipping Class
  • Shipping Country
  • Shipping Method
  • Shipping Postcode

As we want to offer free shipping for a single or specific product. We need to select the ‘Category’ option from the ‘Add Condition’ dropdown. 

2.6.4. Select the Condition Type

Once you select the condition, you’ll see the fields next to the ‘Add Condition’ dropdown have been changed according to the condition. 

As we selected the category condition, so from the next dropdown, you’ll get four different options. 

  • In package
  • Not in package
  • All items in package
  • Not all items in the package

You can select the condition you want, but you may have to think about a different logic, so it works smoothly, and users will get free shipping if they are purchasing a specific product. 

I’ll keep it to the default ‘In package’ condition type. 

2.6.5. Select the Category

From the next dropdown, select the category we created in the previous steps of this tutorial. 

The whole condition would mean if a user has added the product from the selected category (Free Shipping), then he’ll only see the ‘Free Shipping’ method. All the other shipping methods would be hidden. 

Similarly, they won’t get free shipping if the product is not from the specified category. 

2.7. Hide the Free Shipping Method If the Product is Different

You need to add one more restriction to hide the free shipping method from the cart and checkout if the user adds the product from another category. 

If you do not add this second restriction, users will see the free shipping method and other available shipping methods, and they can select the free shipping method for other products. 

Clearly, that is not what you want. 

So to avoid this situation, you need to add another restriction that will hide the free shipping method if the product is added to the user’s cart and not in the ‘Free Shipping’ category. 

You’ll need to click the ‘Add Restriction’ button and follow the previous step instructions to configure the second restriction. 

Note: Do not add another condition in the first restriction rule, as it may not work accordingly. You need to add another restriction to hide the free shipping for other products. 

You just need to ensure that you select ‘Not in package’ from the condition type dropdown. It will check if the product in the cart has the ‘Free Shipping’ category. 

If it is not, then it’ll hide the free shipping method. 

2.7. Save Changes

Once you have added the conditions, click the green ‘Save Changes’ button at the top left corner of your screen to save the setting. 

2.8. Final Results

Once the settings are saved, let’s test it. 

To test it, I added the product to my cart (from the free shipping category) and visited the checkout or the cart page to see if I was getting free shipping. 

As you can see in the screenshot below, I am getting free shipping. 

To verify it, I removed the already-added product from my cart and added another product for which I don’t want to offer free shipping. 

Conclusion

That’s it for today’s article. 

I hope this article was helpful to you and you were able to offer free shipping on a single product. I tried to explain both ways in a very simplified way so you can understand and apply it to your store. 

I recommend you use the second method, which is by using the Dynamic Payment and Shipping plugin. This plugin will help you one step further to apply the free shipping for a single product rule smoothly. Also, users won’t get distracted if they follow this. 

One thing you may need to do with both methods is set the cart limit to one. There is a high chance that users may purchase different products, so the rules mentioned above won’t work as they should and may confuse them. 

If you got any questions, please leave a comment below. I’d love to answer all your queries. You can also contact our support team to get quick and fast assistance. 
Download the Dynamic Payment and Shipping plugin and build something great at your store!

Brian
Brian

Welcome to the AovUp blog, where we discuss all things WooCommerce. I hope we can help you achieve something today...

Leave a Reply

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

We – and our partners – use cookies to deliver our services and to show you ads. By using our website, you agree to the use of cookies as described in our Cookie Policy