Share X in ✉

How to Set Up WooCommerce Free Shipping (Step-by-Step Guide)

Last updated
Read time
8 min
Category
How to Set Up WooCommerce Free Shipping (Step-by-Step Guide)

To set up free shipping in WooCommerce, go to WooCommerce > Settings > Shipping, open a shipping zone, add the Free Shipping method, and choose a requirement: no requirement, a minimum order amount, a coupon, or a combination of the two. 

This guide covers every common free-shipping setup: all products, a minimum order amount, specific products only, coupon-based free shipping, auto-selecting free shipping at checkout, and hiding other shipping methods once free shipping applies.

How to Set Up Free Shipping on All Products in WooCommerce

Setting up free shipping for every product takes three steps: create a shipping zone, add the Free Shipping method, and verify it at checkout.

Step 1: Create a Shipping Zone

Shipping zones are geographic areas, such as a country, state, or postcode range, where a specific set of shipping methods applies.

  1. Go to WooCommerce > Settings > Shipping.
  2. Find the Shipping Zones section. WooCommerce includes a default zone called “Rest of the World.”
  3. Click Add Zone.
  4. Name the zone something identifiable, such as “Local Shipping” or “US Free Shipping.”
  5. Under Zone Regions, define which locations belong to this zone:
    • Countries: Select specific countries you ship to.
    • States: If you only ship within one country, limit the zone to specific states.
    • Postcodes: Optionally filter by postcode ranges.
  6. Click Save Changes.

Step 2: Add the Free Shipping Method

  1. Open the zone you just created and click Add shipping method.
  2. Select Free Shipping from the list and click Continue.
  3. Set a name for the method (the default “Free Shipping” works for most stores).
  4. Choose a requirement from the dropdown:
    • No requirement: Free shipping applies to every order in the zone, with no minimum spend or coupon needed.
    • A valid free shipping coupon: Customers must enter a specific coupon code to unlock free shipping.
    • A minimum order amount: Customers qualify once their cart subtotal reaches a threshold you set.
    • A minimum order amount OR coupon: Customers can qualify either way.
    • A minimum order amount AND coupon: Customers must meet the order minimum and apply a coupon.

The right option depends on your margins and customer behavior. A minimum order amount tends to raise average order value; a coupon-based rule works better for targeted promotions.

Step 3: Verify Free Shipping

Click Save, then place a test order or check the cart page to confirm the Free Shipping option appears for customers in that zone.

How to Set Free Shipping for Orders Over a Set Amount

To offer free shipping above a minimum order amount, add the Free Shipping method to a shipping zone, set “Free Shipping Requires” to A minimum order amount, and enter the threshold.

  1. Go to WooCommerce > Settings > Shipping > Shipping Zones and open or create the zone you want this rule to apply to.
  2. Add the Free Shipping method.
  3. Under “Free Shipping Requires,” select A minimum order amount.
  4. Enter the minimum cart subtotal required, and check the box confirming the setting.
  5. Click Save.

Orders that reach the threshold will show Free Shipping as an option at checkout automatically.

How to Calculate the Right Minimum Order Amount for Free Shipping

Setting the threshold too low cuts into margin; setting it too high discourages customers from reaching it. Four numbers determine a workable minimum:

  • Average Order Value (AOV): What customers typically spend per order, before shipping. Pull this from your store analytics.
  • Average Shipping Cost: What you typically pay to ship an order, based on weight, dimensions, and distance.
  • Gross Profit Margin: (Total sales minus cost of goods sold) divided by total sales.
  • Suggested Minimum Cart Value: A number somewhat higher than your AOV, used as the starting threshold to test.

Formula: (Suggested Minimum Cart Value − AOV) × Gross Profit Margin − Average Shipping Cost = Profit per order at the new threshold.

Example:

  • AOV: $40
  • Average Shipping Cost: $5
  • Gross Profit Margin: 40%
  • Suggested Minimum Cart Value: $60

($60 − $40) × 0.4 = $8, then $8 − $5 = $3 profit per order.

If the result is negative, raise the suggested minimum cart value and recalculate. Check this figure whenever you introduce or change a free-shipping threshold.

How to Set Up Free Shipping for Specific Products in WooCommerce

WooCommerce doesn’t have a single toggle for “free shipping on this product only,” but you can achieve it two ways: manually with shipping classes, or automatically with a plugin.

Method 1: Using Shipping Classes

  1. Go to WooCommerce > Settings > Shipping > Classes and click Add shipping class.
  2. Name the class (for example, “Free Shipping”) and add a slug and description if useful.
  3. Go to WooCommerce > Settings > Shipping > Shipping Zones, edit the relevant zone, and add a Flat Rate shipping method.
  4. In the Flat Rate method settings, find “Shipping class cost,” locate the class you created, and set its cost to 0.
  5. Save changes for both the shipping method and the zone.
  6. Go to Products, open the product you want to offer free shipping on, and under Product Data > Shipping, set the Shipping class to the one you created.
  7. Click Update to save the product.

Repeat the last step for every product that should qualify. You can also create multiple shipping classes if different product groups need different rules.

Method 2: Using a Free Shipping Per Product Plugin

Free Shipping Per Product for WooCommerce is a free plugin that handles this setup without the shipping-class workaround, and it can optionally hide other shipping methods once free shipping applies.

  1. Install and activate the plugin from your WordPress dashboard.
  2. Go to WooCommerce > Settings > Shipping > Shipping Zones and assign the plugin’s shipping method to the zones where it should apply.
  3. In the plugin settings, choose whether to hide other shipping methods at checkout when free shipping is available.
  4. Create a shipping class (commonly named “free-shipping”) and assign it to any product that should qualify.

How to Set Up a Free Shipping Coupon in WooCommerce

  1. Go to WooCommerce > Settings > Shipping, add or edit a zone, add the Free Shipping method, and set “Free Shipping Requires” to one of the coupon-based options: a valid free shipping coupon, a minimum order amount OR coupon, or a minimum order amount AND coupon.
  2. Go to WooCommerce > Settings > General and make sure “Enable the use of coupon codes” is checked, then save.
  3. Go to Marketing > Coupons and click Add New.
  4. Enter a coupon code, or use the Generate Coupon Code button. A memorable code tied to the offer (for example, “SAVE25”) reads better on banners and social posts than a random string.
  5. Under Coupon data, set the Discount type: percentage discount, fixed cart discount, or fixed product discount.
  6. Check Allow free shipping so the coupon unlocks the free shipping method.
  7. Set an expiry date if the offer is time-limited.
  8. Under Usage Restriction, include or exclude specific products or categories as needed.
  9. Under Usage Limit, cap how many times the coupon can be used, per customer or in total.
  10. Click Publish.

When a customer applies the coupon at checkout, Free Shipping appears as an available option.

How to Auto-Select Free Shipping When Available in WooCommerce

By default, WooCommerce shows all eligible shipping methods and lets the customer choose. To automatically select free shipping instead of leaving it to the customer, use a conditional-logic plugin such as WooCommerce Conditional Shipping and Payments.

  1. Install and activate the plugin.
  2. Go to the plugin’s settings under WooCommerce > Settings > Shipping or Payments, depending on the version.
  3. Create a rule that targets the condition you want, such as order subtotal, product category, or customer role.
  4. Set the rule to select or restrict shipping methods so that free shipping is chosen automatically when the condition is met.
  5. Save the rule and place a test order to confirm the free shipping method is selected without manual input.

Test this with a few different cart combinations before relying on it in production, since conditional rules can conflict if you have more than one active.

How to Hide Other Shipping Methods When Free Shipping Is Available

WooCommerce typically shows Free Shipping alongside Flat Rate or Local Pickup. To show only Free Shipping when it applies, use one of two methods.

Method 1: Custom Code

  1. Go to WooCommerce > Status > Tools and clear the WooCommerce transients.
  2. Add a snippet to your child theme’s functions.php file, or use a plugin such as Code Snippets so you don’t have to edit theme files directly.

Never add custom code to your parent theme’s functions.php file. A theme update will wipe it out.

Method 2: Plugin

WC Hide Shipping Methods is a free plugin that automatically hides other shipping options once Free Shipping is available, with a setting to keep Local Pickup visible alongside it if you want that combination.

  1. Install and activate the plugin.
  2. Configure which shipping zones and methods it should apply to under the plugin’s settings.
  3. Save changes and test at checkout.

Automate Free Shipping Campaigns With Disco

If you already run conditional discounts in WooCommerce, Disco can trigger free shipping the same way it triggers a percentage or fixed discount, as one of its automatic campaign types alongside product, cart, bulk, BOGO, and bundle discounts. Instead of configuring a shipping zone rule for every scenario, you set the condition once inside Disco’s campaign builder.

Key Features

  • Free shipping campaigns: Trigger free shipping automatically based on cart contents, categories, or order value, without a separate shipping-zone rule for each condition.
  • No coupon codes required: Discounts and free shipping apply automatically when a shopper meets the criteria, reducing cart abandonment from forgotten codes.
  • Condition-based rules: Combine product, category, user role, and cart-value conditions in one campaign.
  • Bulk and BOGO support: Useful if free shipping is one part of a broader promotion, such as free shipping plus a quantity discount.
  • ACF and WPML compatibility: Works with custom product fields and multilingual, multicurrency stores.

Check the current plugin page for exact plan details and pricing before publishing, since these change periodically.

Frequently Asked Questions

Why isn’t my WooCommerce free shipping coupon working? 

Check that “Allow free shipping” is checked in the coupon’s General settings, and that the shipping zone’s Free Shipping method has “Free Shipping Requires” set to a coupon-based option. If the coupon still doesn’t unlock free shipping, clear the WooCommerce transients under WooCommerce > Status > Tools and test again in a fresh cart session.

Why is free shipping not showing up at checkout in WooCommerce? 

This usually means the customer’s shipping address doesn’t match the zone the Free Shipping method is assigned to, or the cart doesn’t meet the minimum order amount or coupon requirement you set. Confirm the zone’s regions and the method’s requirements match what you expect, then clear cached shipping rates.

How can I offer free shipping to customers without a plugin? 

Yes. WooCommerce’s built-in Free Shipping method, available under any shipping zone, supports no-requirement, minimum-order, and coupon-based free shipping without installing anything extra. Plugins are only necessary for per-product free shipping, auto-selection logic, or hiding other methods automatically.

Can I offer free shipping on some products but not others? 

Yes, using either a shipping class set to zero cost or a dedicated plugin like Free Shipping Per Product for WooCommerce, both covered above.

Key Takeaways

  • WooCommerce’s built-in Free Shipping method covers most cases: no requirement, a minimum order amount, a coupon, or a combination, all set from WooCommerce > Settings > Shipping.
  • A minimum order amount is the most common way stores offer free shipping, and it’s worth running the AOV-based calculation before picking a threshold.
  • Per-product free shipping needs a shipping class set to zero cost, or a plugin such as Free Shipping Per Product for WooCommerce.
  • Coupon-based free shipping requires checking “Allow free shipping” on the coupon and setting the shipping method’s requirement to match.
  • Auto-selecting free shipping and hiding other shipping methods both need a small plugin, since neither is native WooCommerce behavior.
  • Test every free shipping configuration with a real cart before relying on it, since zone, coupon, and plugin rules can conflict.
[CTA] Stop reading. Start fixing.
Fix your product feed with CTX Feed Pro.

Free version on WordPress.org. Every Pro licence includes a 30-day money-back guarantee.

[0] Comments
Join the discussion
Leave a comment →

Leave a comment.

[NEWSLETTER] Field Notes, monthly

One email a month.
Zero fluff.

Channel-spec changes, plugin releases, the occasional deep dive on something we broke.