Free shipping is a great way to encourage customers to spend more. For example, offer free shipping on orders over $100.
To offer the free shipping method it must be added to a Shipping Zone and you can add it to as many Shipping Zones as you like. Here’s how:
1/ Go to: WooCommerce > Settings > Shipping.
2/ Select a Shipping Zone, Click Edit
3/ Click Add Shipping Method and a modal will display. Select Free Shipping from the dropdown and Add shipping method.
4/ Select Free Shipping in the row you wish to define and select Edit.
5/ This takes you to a different screen to configure the free shipping method for that specific shipping zone.
- N/A – Not available, Free Shipping is an option for all customers
- A valid free shipping coupon – A coupon created that enables free shipping
- A minimum order amount – Free shipping is only available if a minimum amount is spent. Set this amount in the Minimum Order Amount field which will appear if you choose this option.
- A minimum order amount OR a coupon – Free shipping is available if a minimum amount is spent or the customer has a coupon that offers free shipping (see below: Create Free Shipping Coupons).
- A minimum order amount AND a coupon – Free shipping is offered only if a minimum amount is spent and the customer has a coupon that offers free shipping.
Since WooCommerce 4.1, you have the option to choose at what point the Minimum Order Total rule is implemented: before or after coupon discounts are applied.
This next example will help to illustrate the difference.
If you have a rule that the minimum order total should be $20, your customer has a product of $25 in the cart, and they also have a coupon that gives $10 off.
- After discount (Unchecked). In this case, the order amount is $25 – $10 = $15. The customer will not get free shipping according to the minimum order amount rule.
- Before discount (Checked). In this case, the order amount is $25 and the $10 discount is ignored. The customer will get free shipping according to the minimum order amount rule. The coupon discount will still be applied.
1/ Create a coupon.
- Go to WooCommerce > Coupons.
- Select Add Coupon.
- Select Allow Free Shipping.
More info at: ().
2/ Enable free shipping for coupons.
- Go to the shipping zone where you added the Free Shipping method in the previous step.
- Click the Free shipping method
- Select the option A valid free shipping coupon from the dropdown.
Customers can now use the coupon to get free shipping.
The free shipping method has an is_available function that can be hooked into:
return apply_filters( 'woocommerce_shipping_' . $this->id . '_is_available', $is_available );
This means you can use add_filter() on woocommerce_shipping_free_shipping_is_available and return true or false.
You need to set up at least one Shipping Zone. More at: Setting up Shipping Zones. Then follow steps above in Setup and Configuration, paying particular attention to #7, selecting A minimum order amount from the dropdown, then enter the amount (e.g., $25 or any amount you wish) in step #8.