Understand free-shipping conditions
The progress component appears only when every non-empty shipping package has a usable WooCommerce Free shipping method or a measurable path toward one.
Zone and destination
For each package, the module asks WooCommerce for the matching shipping zone and its enabled methods. A customer destination with meaningful address details is used. If only default country/state information exists, the store country, state, postcode, and city are used instead.
Changing the shipping address can therefore change the threshold or remove the component.
Native method requirements
| WooCommerce requirement | Progress behavior |
|---|---|
| No requirement and method available | Success |
| Minimum order amount | Shows progress toward the configured amount |
| Valid free-shipping coupon | Hidden until a valid coupon grants free shipping |
| Minimum amount or coupon | Uses the qualifying path WooCommerce accepts |
| Minimum amount and coupon | Shows amount progress and states that a coupon is also required |
The eligible total follows the method’s Ignore discounts setting and WooCommerce tax display when subtracting discounts.
Multiple packages
Each package is evaluated separately. When all packages can qualify, the component labels them Shipment 1, Shipment 2, and so on. If any package has no applicable route to free shipping, the whole progress display is withheld to avoid an order-wide promise that cannot be met.
Verification matrix
Test:
- an empty cart;
- below and exactly at the threshold;
- above the threshold;
- discounts counted and ignored;
- coupon-only and amount-plus-coupon methods;
- two customer destinations in different zones;
- multiple shipping packages;
- classic cart, classic mini-cart, Cart Block, and Mini-Cart Block used by the site.
Confirm the actual shipping rates agree with the message.