Free shipping is a great way to encourage customers to spend more. For example, offer free shipping on orders over $100.
Setup and Configuration ↑ Back to top
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:
- Go to: WooCommerce > Settings > Shipping.
- Select a Shipping Zone, Click Edit
- Click Add Shipping Method and a modal will display. Select Free Shipping from the dropdown and Add shipping method.
- Select Free Shipping in the row you wish to define and click Edit
This takes you to a different screen to configure the free shipping method for that specific shipping zone.
- Enter a Title that displays to customers in checkout.
- 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 – Set the amount in the Minimum Order Amount field; the field will appear if you choose this option.
- A minimum order amount OR a coupon
- A minimum order amount AND a coupon
- Enter a Minimum Order Amount (if applicable).
- Save changes.
Create Free Shipping Coupons ↑ Back to top
1/ Create a coupon.
- Go to WooCommerce > Coupons.
- Select Add Coupon.
- Tick the Allow Free Shipping checkbox.
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 (#7 above).
- Save changes.
Customers can now use the coupon to get free shipping.
Coupon vs. Minimum Amount Handling ↑ Back to top
If you have coupons for free shipping and a minimum amount set, coupons take priority. Minimum amount is ignored when the customer has a coupon. If, however, the user doesn’t have a coupon, minimum amount will be checked.
Advanced Options ↑ Back to top
Enabling or disabling Free shipping via hooks ↑ Back to top
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 ↑ Back to top
How can I set up free shipping for orders over ___ ? ↑ Back to top
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.