Discount timing
WooCommerce Free Shipping can check its minimum before or after discounts. Repeat the three carts using the setting chosen for that exact Free Shipping option.
Free-shipping threshold testing
A cart far above the minimum proves only the easy case. The important tests are immediately below, exactly at, and immediately above the saved amount.
Published · Updated · Shipping Contract Guard
Worked example
Use test cart amounts of EUR 74.99, EUR 75.00, and EUR 75.01. For this example, assume the zone has an enabled paid method and Free Shipping requires only a EUR 75 minimum. At EUR 74.99, paid shipping should remain and Free Shipping should be absent. Without a paid method in that zone, a cart below the minimum may have no shipping option. At EUR 75.00 and EUR 75.01, Free Shipping should appear if all other requirements match.
Save each exact shipping option and price. Two options may use the same name, so the name alone is not enough.
| Cart | Question |
|---|---|
| EUR 74.99 | Does free shipping stay absent? |
| EUR 75.00 | Does it begin exactly here? |
| EUR 75.01 | Does it remain available? |
Common traps
WooCommerce Free Shipping can check its minimum before or after discounts. Repeat the three carts using the setting chosen for that exact Free Shipping option.
A rule may require a coupon, an amount, either one, or both. Test the combinations the rule allows; one successful cart does not prove the others work.
Use the number of decimal places configured in WooCommerce. If the store uses three decimals, the closest values to EUR 75.000 are EUR 74.999 and EUR 75.001—not EUR 74.99 and EUR 75.01.
The amount matters only after the address matches the Free Shipping option’s zone. Use a made-up address that is inside that zone.
Free Shipping missing? Check the requirements and coupon settings · WooCommerce’s Free Shipping documentation
Once you have reviewed the result, save it as correct. After an update or settings change, compare the same carts with that saved result. If WooCommerce now gives a different answer, do not overwrite the saved result just to remove the warning. Save a new correct result only when you intentionally changed the rule.
If the plugin cannot finish a test, it shows “Could not verify.” Do not treat that as a pass.
Shipping Contract Guard shows the shipping options and prices for your approval, creates no order, and needs no account for checks you run yourself.
Install free from WordPress.orgAfter activation, open WooCommerce → Shipping Contract Guard. Choose a recommended check, or open Customize if none appears. Review the test carts and approve the correct result before running your first check. Follow the first-check steps →