WooCommerce Conditional Shipping for Beginners with plugin

Default WooCommerce shipping charges every customer the same amount regardless of what they ordered.

This works when you’re starting out, but it quickly becomes a problem as your catalog grows.

Why flat rate isn’t enough

Flat rates create two recurring problems:

  • You lose money on heavy or large orders because the flat rate doesn’t cover carrier costs.
  • You overcharge on small orders, which pushes customers to abandon their cart.

Conditional shipping can solve both.

Conditional shipping

For conditional shipping I mean that the fee changes automatically based on what’s in the cart.

You can implement it on your store using a free plugin I developed and a few minutes of configuration.

Three concepts to understand first

In order to use my plugin, you need to understand these simple terms:

Condition
A single rule that checks something about the cart.

For example: “Cart weight is more than 5 kg” or “Number of products is more than 10.”

Group
A collection of conditions that must ALL be true at the same time.

Think of it as an AND statement, if all conditions in the group match, the group fires.

Multiple groups
You can have several groups. If ANY group matches, its cost is applied.

Think of groups as OR statements.

When more than one group matches, the highest cost wins.

My plugin: Advanced Shipping Rules for WooCommerce

It’s free, no subscription, no account required.

Install it from WordPress.org as usual.

Your first rule

1. Install the plugin

Go to Plugins → Add New, search for Advanced Shipping Rules for WooCommerce, install and activate.

2. Open your shipping zone

Go to WooCommerce → Settings → Shipping and click on your zone.

3. Add the shipping method

shipping zones advanced

Click Add Shipping Method, choose Advanced Shipping Rules for WooCommerce, confirm.

Click Edit on the new method.

4. Create a group

Click Add Group. A new block appears with an Add Condition button.

5. Set your condition

Click Add Condition. A row appears with four fields:

  • Type: choose “Cart Weight”
  • Operator: choose “Greater than”
  • Value: type 5 (for 5 kg)
  • Cost: type 8 (for an $8 surcharge)
cart weight over 5 kg

This means: if the cart weighs more than 5 kg, add $8 to shipping.

6. Save and test

Click Save Changes. Open your store in an incognito window, add a heavy product, and check that the surcharge appears at checkout.

Common mistakes

Products without weights set
If product weights are empty, the cart weight is always 0 and weight rules never fire.

Set weights under Products → Edit → Product Data → Shipping.

Overlapping brackets
When multiple groups match, the highest cost wins.

Design your brackets without unintended overlap.

Confusing AND with OR
Conditions inside one group = AND (all must match).

Multiple groups = OR (any can match).

What to try next

Once you’re comfortable with the basics:

  • Add a second group for a different weight bracket
  • Create a cart-total condition to reward large orders with lower fees
  • Combine weight AND item count in a single group for bulk order surcharges

Conclusion

Conditional shipping is one of the most useful changes you can make to a WooCommerce store.

Few minutes of setup, permanent improvement to your shipping accuracy.

Download the free plugin from WordPress.org

More posts