Shipping condition reference

All sixteen conditions with their operators and behaviour, plus postcode syntax and what is free versus Pro.

Conditions are the WHEN of a rule. All conditions in a group must be true for the rule to match.

Conditions in the builder.
Conditions in the builder.

Operators

Every condition uses one of two sets, in plain language:

Numeric conditionsSet conditions
is overincludes
is underdoes not include
is at least
is at most
is between
Choosing an operator.
Choosing an operator.

✓ Note
is at least and is at most are inclusive; is over and is under are not. For a “free over £50” rule that includes a cart of exactly £50, use is at least.

Cart

ConditionOperatorsNotes
Cart subtotalnumericBefore shipping and tax.
Cart weightnumericTotal cart weight in your store’s weight unit. Products without a weight count as zero.
Item quantitynumericNumber of items in the cart.

Products

ConditionOperatorsNotes
Cart contains productsetSpecific products.
Cart contains categorysetAny product from the chosen categories.
Cart contains shipping classsetAny product in the chosen shipping classes. Usually the better choice once more than a handful of products are involved, because the grouping is maintained in one place.

Size and volume Pro

ConditionOperatorsNotes
Cart volumenumericSum of length × width × height across the cart.
Longest side in cartnumericThe longest single side of any item — for “over 100 cm” oversize rules.
Dimensional weightnumericVolume ÷ your courier’s divisor. How couriers actually bill bulky-but-light parcels.

⚠ Warning
All three need every product measured. If any item in the cart has no dimensions, these conditions decline to match rather than pricing an order on incomplete measurements. The Simulator names the product that needs fixing. Dimensional weight also needs the divisor set under Settings → Units — commonly 5000 for cm/kg or 139 for in/lb, from your courier contract. Left blank, it cannot match at all.

Destination Pro

ConditionOperatorsNotes
Destination postcodesetExact, wildcard or range. See below.
Destination citysetCase-insensitive, and accent-aware — münchen matches München.

Zones still decide which rules are eligible; these filter within a zone the order already matched. That is how “£5 to mainland UK, £15 to the Highlands” works without a second shipping zone.

Postcode syntax is WooCommerce’s own — the same one the zone settings use, because it uses WooCommerce’s own matching:

FormExampleMatches
ExactCB23 6DHThat postcode. Spacing and case do not matter.
WildcardCB2*Everything starting CB2.
Range90210...99000Everything numerically between, inclusive.

Separate several with commas.

✓ Note
Until the shopper has entered or estimated an address, destination conditions match nothing — including “does not include” rules. Otherwise an “everywhere except London” rule would fire for every visitor before they typed an address and quote them the wrong price.

Customer and timing Pro

ConditionOperatorsNotes
Customer rolesetWholesale and B2B pricing. Roles come from WordPress, so this works with whatever plugin creates them.
Date rangeis between onlySeasonal and holiday rates — a start and an end date.
Day of weeksetFor example, no Saturday delivery.
Time of dayis between onlyCut-off times — a start and an end time.
Coupon appliedsetTies shipping to a promotion.

Date range and Time of day offer only is between, and both use your site’s timezone from Settings → General, not the customer’s.

Free and Pro at a glance

ConditionFreePro
Cart subtotalIncludedIncluded
Cart weightIncludedIncluded
Item quantityIncludedIncluded
Cart contains productIncludedIncluded
Cart contains categoryIncludedIncluded
Cart contains shipping classIncludedIncluded
Cart volumeNot includedIncluded
Longest side in cartNot includedIncluded
Dimensional weightNot includedIncluded
Destination postcodeNot includedIncluded
Destination cityNot includedIncluded
Customer roleNot includedIncluded
Date rangeNot includedIncluded
Day of weekNot includedIncluded
Time of dayNot includedIncluded
Coupon appliedNot includedIncluded
OR condition groupsNot includedIncluded

⚠ Warning
If a Pro licence lapses, a rule that uses a premium condition can no longer be evaluated: it is skipped with Rule errored and was skipped and stops producing a rate. Nothing is lost — remove or replace that condition and the rule works again on the free conditions that remain.

✓ Note
OR condition groups are the exception. Existing multi-group rules keep evaluating exactly as before, and you can still simplify one by deleting a group. Only adding another group is locked.