All 17 Free Shipping Bar sections
Where the threshold comes from
On the Setup screen you choose between two sources.
Use the WooCommerce threshold (recommended) uses your own Free shipping method's minimum. This is worth understanding, because it is what stops the bar lying: the threshold, the way coupons are treated, and the way tax is counted all come from the same place WooCommerce uses when it decides whether delivery is actually free. If the bar says the shopper has reached it, checkout agrees.
It also respects how the method is configured. A method set to A valid free shipping coupon has no amount to work towards, so the bar says so rather than claiming delivery is already free for everybody.
The method is the one in the shopper's own shipping zone, matched the way WooCommerce matches it. A shopper whose zone offers no free shipping sees no bar, because there is nothing for them to reach. Until a shopper's country is known — no address yet, and no default customer location — the bar uses the zone your store address is in, if it offers free shipping, and otherwise the first zone that does, with Rest of the world last. That is the order WooCommerce itself works in: it puts a shopper in your own country's zone until they say otherwise, and uses Rest of the world only for an address no other zone covers.
The Dashboard and the Setup screen report the same zone. When your zones ask for different amounts, the Dashboard lists each one under Free shipping from, and Setup warns you if the zone your store address is in has no free shipping at all, since most of your shoppers would then see no bar.
Coupons count only where WooCommerce counts them. A coupon with Allow free shipping ticked makes shipping free on a method set to A valid free shipping coupon or A minimum order amount OR coupon, and the bar then says shipping is free. On a method set to A minimum order amount, WooCommerce ignores the coupon, and so does the bar. On A minimum order amount AND coupon, the bar counts towards the amount and says free shipping is unlocked only once the coupon is applied too — until then, reaching the amount takes the bar away rather than promising something checkout will not give.
Enter an amount is for shops whose free shipping is granted by something we cannot read — a third-party shipping plugin, for instance. Type the threshold and the bar counts towards that instead.
Type it in your shop's own currency. With a currency switcher — WooCommerce Multilingual (WPML), FOX Currency Switcher, CURCY or Aelia Currency Switcher — each shopper is shown it converted into the currency they are paying in, and it is reached at the converted amount, as checkout would see it. WooCommerce's own threshold needs none of this: those plugins convert the Free shipping method themselves.
When delivery is already free another way#
Some carts ship for nothing before they reach the threshold: everything in the cart is in a shipping class whose Flat rate is 0, say, or a shipping plugin gives them a free rate of its own. In those carts the bar never asks for more. It reads the rates WooCommerce has already worked out for the cart, the same ones checkout offers, and when every package in the cart has a delivery rate that costs nothing, tax included, it does what you choose under Setup → Free Shipping Goal → When delivery is already free another way:
- Say shipping is free, the default. The bar shows its Free shipping unlocked message, "You have unlocked free shipping.", with a full track, in its After the goal colours. The line about the product on a product page and the cart page's suggestions stand aside, as they do once the threshold is reached.
- Hide the bar. There is no bar in those carts, and it comes back as soon as the cart needs paid delivery again, without a page load.
Either way it follows the cart as it changes, on the classic cart and checkout, the Cart and Checkout blocks and the Mini-Cart block alike: add an item from a paid class and the bar asks for the amount left again.
What does not count:
- Local pickup and pickup locations, whatever they cost. Collecting an order is not delivery.
- A rate of 0 with tax charged on it.
- Rates WooCommerce has not worked out. The bar never asks WooCommerce to work them out itself, which would slow down every page. So until a cart has been worked out (an add to cart, the cart page, checkout, or the cart blocks do that), and on a shop that wants an address before it shows any rates, the bar counts towards the threshold as it always has.
- A shop with no threshold at all. The bar shows nothing there, and still does.
A cart split into several packages (by a marketplace plugin, for instance) is free only when every package is. A shipping plugin that shows 0 for "price on request" can be left out with the trfs_free_rate filter (see For developers).
A shop that had the plugin before gets this straight away, because the old message was untrue in these carts. Its Dashboard says so once, with Got it and Hide the bar there instead.
Still stuck? Ask the developers who wrote it. We aim to reply within one business day.