Free shipping is a great way to encourage customers to spend more. For example, offer free shipping on orders over $100.
Setup and Configuration
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.
6/ Enter a Title that displays to customers in checkout.
7/ Open the dropdown next to Free Shipping Requires…
- 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.
8/ If you have selected any of the options that include a minimum amount, enter a Minimum Order Amount.
9/ Finally, if you’ve selected any of the options that include a minimum amount, you can choose to apply this amount rule before or after coupon discounts have been applied. Below we explain this is a bit more detail (see: Coupon Discounts: When to Apply Minimum Order Total)
10/ Save changes.
Coupon Discounts: When to Apply Minimum Order Total
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.
Create Free Shipping Coupons
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 Free Shipping option you set up.
- Select the option A valid free shipping coupon from the dropdown.
- Save changes.
Customers can now use the coupon to get free shipping.
Enabling or Disabling Free Shipping via Hooks
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.
Frequently Asked Questions
How can I set up free shipping for orders over ___ ?
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.