How to add free shipping for your WooCommerce store

Free shipping removes the shipping cost at checkout. It boosts conversion and reduces cart abandonment.

In this guide, you will set up free shipping with core WooCommerce and create advanced, rule-based free shipping with the Flat Rate Shipping plugin. You will also see two real examples and a quick test checklist.

What is free shipping?

Free shipping means the customer pays ₹0 for shipping at checkout.

You can offer it to everyone, or only when conditions are met.

Common conditions: minimum order amount, valid coupon, specific products or categories, user roles, locations, dates, or times.


Why is free shipping required?

  • Increases conversion and average order value.
  • Reduces cart abandonment.
  • Keeps pricing simple and competitive.
  • Let's you run time-bound offers for sales and festivals.
  • It can be controlled with rules, so you do not lose margin.

Ways to configure free shipping

1) WooCommerce core — Free Shipping method

You can configure free shipping using the default woocommerce shipping flow without conditional login

2) Advanced conditional free shipping

Use this when you need rules by subtotal, category, product, weight, quantity, postcode, user role, days, time windows, or festivals.

Steps

  1. Go to Dashboard → Dotstore → Flat Rate Shipping
  2. Click Add New button to add the title and cost

    Add free shipping title and price

  3. Add Conditions as needed, for example:
    • Subtotal ≥ amount
    • Product or Category in cart
    • Weight or Quantity ranges
    • Country/State/Postcode
    • Logged-in only or specific roles
    • Days of the week and Time window
    • Specific coupon present

      Optional display settings:

    • Tooltip to explain why shipping is free
    • Default selected shipping
    • Estimated delivery time text

      Free shipping conditional rule sets

  4. Save and test.

Free shipping method on cart page



Real example use case 1

Goal: Free shipping across India for orders ≥ ₹1,499. Exclude heavy carts over 5 kg.

Steps

  1. Country: India.

    Method: Add Flat Rate and set Cost = 0

    Conditions:

    • Subtotal ≥ 1499
    • Weight ≤ 5 kg (or exclude > 5 kg using a separate rule)
  2. Label: “Free Shipping (India)” and add a tooltip “Eligible on ₹1,499+ and up to 5 kg”.
  3. Save.

Admin Setting

Test Case

  • Cart subtotal ₹1,300 → Free does not appear.
  • Cart subtotal ₹1,600 and total weight 3 kg → Free appears.
  • Cart subtotal ₹2,000 and weight 6 kg → Free does not appear.

Real example use case 2

Goal: Weekend free shipping for the “Accessories” category in Metro postcodes only.

Steps

  1. Zone: India → restrict by Metro postcodes (e.g., 400xxx, 5600xx, 6000xx) or use the method’s postcode rules.

    Method: Add Free Shipping and set Cost = 0.

    Conditions:

    • Category = Accessories
    • Day of week = Saturday, Sunday
    • Postcode in list = Metro codes
  2. Optional: Mark as the Default selected shipping on weekends.
  3. Save.

Admin Setting

Metro city settings

Test

  • Friday cart with Accessories in a non-Metro postcode → Free does not appear.
  • Saturday cart with Accessories in the Metro postcode → Free appears.

FAQs

1) What is the difference between WooCommerce core Free Shipping and a 0-cost flat rate?

Core Free Shipping is simple and tied to minimum amounts or coupons. A 0-cost flat rate with Dotstore lets you add many conditions like category, user role, postcode, weight, and schedules. Use core for simple needs. Use Dotstore for advanced control.


2) Can I show free shipping only to logged-in customers or specific roles?

Yes. In Dotstore, add a User role or Logged-in only condition. Save and test with different accounts.


3) Can I keep shipping free but still add a small handling fee?

Yes. Add a small fee using your fees plugin or handling-fee setting. Keep the shipping method at ₹0, and show a short tooltip so customers understand the charge.


4) How do I schedule free shipping for a festival or sale?

Use Start date and End date, or Days/Time window in the shipping method. This turns free shipping on only during your campaign.


5) How do I test before going live?

Create a few carts:

  • Below and above your threshold
  • With and without the right products or categories
  • Matching and non-matching postcodes
  • Weekday vs weekend

    Check the checkout label, tooltip, taxes, and whether other methods hide or stay visible.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.