Free shipping is a great promotional tool you can offer your customers (both retail and wholesale) as an incentive to order more in certain scenarios. The core functions in WooCommerce for this are good for basic uses, but there are very few options for free shipping restrictions the way store owners really need and this presents a problem when more control is required.
Beyond the most simple of setups where you restrict it via coupon or via a $ amount threshold, there’s not a lot you can do with it.
In the course of developing client websites in the past and also with making recommendations about shipping setups to our Wholesale Suite customers over the support line, we’ve come across some pretty nifty ways of setting up shipping so today I’m going to give you a rundown on how we recommend setting up the following scenarios:
- Free shipping when a subtotal is achieved (with the option to do it including tax or excluding tax)
- Free shipping when cart contains a certain product
- Free shipping when cart contains a total quantity amount
- Free shipping that gets deactivated when the order exceeds a certain weight
- Free shipping for users in a specific geographic location (zip, state, country, etc)
- Free shipping for users in a specific user role
- Free shipping if products are in a specific category
There are many more scenarios of course, but this list showcases a few common ways to set up and restrict your free shipping with special conditions.
So What Plugin Should You Use For Free Shipping Restrictions In WooCommerce?
One of the most remarkable free plugins for WooCommerce of late is the Advanced Free Shipping plugin by Jeroen Sormani. For a free plugin, it has a surprising array of options and is a solid solution for those wanting more fine-grained control over their free shipping.
It’s definitely become one of my most recommended plugins in my toolkit and we are going to use it today to show how we can set up free shipping in a range of conditions.
Before embarking on these options, please install the plugin (login to your WordPress, go to Plugins->Add New and search for it by name), and activate it.
Then go to WooCommerce->Settings, click on the Shipping tab and navigate to the Advanced Free Shipping method’s settings area.
You’ll be adding a new free shipping method, so click the button and you’ll see a screen similar to the screenshots below. Just follow the screenshot to set up your free shipping in the same way as the method you need.
1. Free shipping when a subtotal is achieved (with the option to do it including tax or excluding tax)
This can be achieved with the standard WooCommerce free shipping option as well as the Advanced Free Shipping plugin.
If you need to set up two different free shipping methods or want more control over whether the tax is included in this threshold, this is where you’re using the Advanced Free Shipping plugin.
Update: You can also achieve this even more easily with the WooCommerce coupons plugin Advanced Coupons with a simple Cart Condition.
2. Free shipping restrictions when cart contains a certain product
You can set up free shipping when the cart contains a certain product or the opposite scenario where it’s only activated when the cart doesn’t contain a particular product.
The latter can be handy if you want to grant free shipping to everyone. Unless they’re ordering one specific product that is really large and will definitely require shipping.
Keep in mind that conditions can also be combined together. This setup works really well for creating free shipping scenarios that aren’t activated under certain conditions.
3. Free shipping restrictions when cart contains a total quantity amount
This next scenario is good for ensuring customers are ordering a certain quantity of products to activate their bonus free shipping. I recommend using the “Greater than or equal to” operator to activate this condition.
4. Free shipping that gets deactivated when the order exceeds a certain weight
Important when the cart can contain a mix of non-bulky and bulky items. You really wouldn’t want to give free shipping if they order something really heavy. It will end up costing you more than the profit of the order to ship it.
A good example of this is a past client who ships dog treats, but he also sells dog food in big bags as well. For his site, he wanted to turn off the free shipping if the order weight exceeded a certain amount (as some of the dog food bags were quite heavy and cost a lot to ship).
5. Free shipping for users in a specific geographic location (zip code/postcode, state, country)
To restrict by zip code or postcode you will need to specify a list of the codes to include. This is best done in Excel (one per column, not per row). Then save as a CSV and open it up in Notepad (Windows)/TextEdit (Mac). This will then give you the comma-separated list you need to paste in.
You should end up with a config like this for zipcodes/postcodes:
State and country type restrictions are much easier, it’s just by drop-down list. You can add additional states or countries by adding an ‘Or group’.
6. Free shipping for users in a specific user role
Restricting free shipping by certain user roles will be of great interest to customers of the Wholesale Suite as the most common two scenarios are;
- Only wholesale customers on a certain wholesale level should get free shipping; OR
- Only retail customers should get free shipping, not wholesale roles
Combined with our shipping mapping feature you can easily do either.
7. Free shipping if products are in a specific category
Last but certainly far from the final type of restriction combination you can do with this plugin is to offer free shipping if products are in a specific category.
More Likely Scenario: Combining Multiple Conditions
Even though we’ve only described how to set up the exact condition for each of the above scenarios, in most cases you’re more likely to actually combine conditions to make a more complex set of free shipping restrictions.
After you’ve entered your condition, click the + button next to that line and you will be able to add another line so it needs match both conditions to grant the free shipping.
This is especially handy when you combine subtotal restrictions with things like the Country the user is from.
Don’t forget, if you go back to the shipping settings page you can actually add multiple free shipping methods with this plugin. This makes it very powerful and easy to create free shipping methods for all the complex scenarios you need.