How to Set a Minimum Spend for Free Shipping in WooCommerce

Set up free shipping when orders reach a minimum amount in WooCommerce, choose how coupon discounts affect eligibility, and test the result at checkout.

Last updated:

Reviewed for accuracy by Jesse Nickles

Choose where free shipping applies

WooCommerce assigns shipping methods through shipping zones. A customer sees methods from the first zone that matches their shipping address, so check the zone before setting a threshold.

  1. Go to WooCommerce → Settings → Shipping → Shipping zones.
  2. Click Edit beside the zone where you want to offer free shipping. Create a zone first if needed.
  3. Click Add shipping method, choose Free shipping, then click Continue.
  4. Give the method a clear customer-facing name, such as Free shipping.

Repeat the setup in other zones if the offer should apply to more destinations. WooCommerce uses only the first zone matching a customer's address, so place narrower zones above broader overlapping ones. In WooCommerce 11.1 and later, the zones list can warn when an earlier zone makes a later one unreachable. The Rest of the world zone applies when no configured zone matches.

Set the minimum order amount

In the free shipping method's settings, select A minimum order amount from Free Shipping Requires. Enter your threshold, such as 50 for a store using US dollars, then save the method and zone.

At a threshold of $50, $49 in qualifying products falls short, while exactly $50 qualifies. WooCommerce compares the displayed cart subtotal, which can include product tax if the cart displays prices including tax. This differs from the tax-exclusive product subtotal in our minimum checkout order guide. Free shipping controls delivery eligibility; it does not prevent a smaller order from being placed.

Decide how coupons count

The Apply minimum order rule before coupon discount checkbox controls whether WooCommerce checks the displayed subtotal before or after discounts. For example, in a store displaying cart prices excluding tax, a cart with $60 in products and a regular $15 discount coupon behaves as follows:

A regular discount coupon only changes the qualifying amount; it does not independently unlock a free-shipping coupon requirement. For coupon-based free shipping, enable coupons and select Allow free shipping on the relevant coupon under Marketing → Coupons. In Free Shipping Requires, you can require that coupon alone, a minimum amount and such a coupon, or either condition. Our WooCommerce coupon guide covers creating and restricting codes, while the official free shipping documentation explains all five requirement options.

Choose whether paid rates stay visible

WooCommerce normally displays free shipping alongside other eligible methods, such as flat rate shipping. In WooCommerce 9.9 and later, you can hide other delivery rates at WooCommerce → Settings → Shipping → Shipping settings: enable Hide shipping rates when free shipping is available and save. Eligible local pickup options remain available. If you offer faster paid delivery that customers should still be able to choose, leave this setting disabled; older WooCommerce versions may need another approach.

See WooCommerce's shipping visibility documentation for details.

Test the threshold at checkout

  1. Add a shippable product to the cart and use an address inside the configured zone.
  2. Check $49, exactly $50, and $60 in qualifying products with a $50 threshold. Free shipping should appear at $50 and above, subject to the cart's tax display settings.
  3. Apply a discount-only coupon (without Allow free shipping) that brings the discounted cart below the threshold. Verify the result matches your before- or after-discount setting.
  4. Try an address in another zone and confirm its methods are correct.
  5. If you hide paid rates, confirm they disappear only when free shipping qualifies, while any permitted local pickup option remains.

If free shipping does not appear, first enter a complete shipping address and check the matching zone and its order. Under WooCommerce → Settings → Shipping → Shipping settings → Calculations, the Hide shipping costs until an address is entered setting may intentionally delay displaying rates. Then confirm Free shipping is enabled with the intended requirement. If the threshold seems wrong, check the cart's tax display, coupons, and discount checkbox. Virtual-only carts may not require shipping at all.