A free-shipping threshold is one of the most reliable ways to lift average order value: shoppers add an item to cross the line. It is also one of the easiest places to accidentally lie — to a shopper, and to a regulator. In a multi-vendor cart the honest version is harder than it looks, because there is no single threshold to show. Here is how to build per-vendor free-shipping meters that compute real numbers, and how to stay on the right side of EU price-claim rules while you do it.
Why thresholds work — and the trap
The mechanism is well understood: a visible "€8 to free delivery" turns an abstract shipping fee into a concrete, closeable gap, and a meaningful share of shoppers close it. The threshold is a genuine lever, and vendors are usually happy to fund it because it raises their own basket sizes.
Worth stating plainly: the threshold is the vendor's money, not yours. The vendor funds free delivery to grow its own baskets, which is exactly why you can only offer the threshold the vendor has agreed to. The marketplace's job is to display that threshold correctly, per vendor, and never to promise more generous terms than the vendor signed up for.
The trap appears the moment the cart holds more than one vendor. A single cart-wide "€X to free shipping" is meaningless when three vendors have three different policies — one already qualifies, one has a higher bar, and a third offers no free shipping at all. Show one blended number and it is wrong for every vendor at once, and the shopper who adds items to "unlock free delivery" discovers at checkout that they unlocked nothing — the split-order reality of multi-vendor checkout made visible in the worst way.
Thresholds are per vendor, not per cart
Free shipping is a property of a vendor, so its meter has to be too. Each vendor's progress bar computes against that vendor's own subtotal and that vendor's own threshold — the same per-vendor partitioning that drives per-vendor shipping in general. If a vendor has no free-shipping policy, the correct thing to display is nothing: no meter, no phantom goal, rather than an invented one.
The arithmetic is deliberately boring, which is the point:
- remaining = max(0, vendor_threshold − vendor_subtotal)
- if remaining is 0, show "free delivery unlocked" for that vendor
- if the vendor has no threshold, show no meter
- recompute on every cart change, from the same calculator the checkout uses
The one rule that matters: never round in your own favour. If the shopper is €0.40 short, the meter says €0.40 short, not "almost there — free delivery!". The number on the meter must be the number the checkout will charge.
The honest progress meter
An honest meter and a manipulative one can look almost identical, so the difference is in the behaviour, not the pixels.
| Property | Honest meter | Dark-pattern meter |
|---|---|---|
| The number | Real remaining amount to a real threshold | Inflated "so close" that isn't |
| Visibility | Shown early, in the cart | Revealed late to trap the order |
| Stability | Threshold fixed by vendor policy | Moves as you add items |
| No-policy vendor | No meter shown | Fake goal invented |
| Rounding | Against the house | In the house's favour |
Everything in the honest column is a decision you make once and enforce in the calculator. The dark-pattern column is what you get by default if you optimise the meter for conversions in isolation instead of for the number being true.
What the law says about "free shipping"
"Free shipping over €X" is a price claim, and in the EU price claims are regulated. The Unfair Commercial Practices Directive prohibits misleading claims about price and benefits, and the Omnibus Directive (Directive (EU) 2019/2161) tightened enforcement around how offers and reductions are presented. The practical consequence for shipping is direct: you may only advertise a free-shipping threshold you can substantiate, which in a marketplace means a threshold the vendor actually operates in their own store.
That produces a hard engineering rule we apply everywhere prices and offers are shown: fail closed. No confirmed policy, no claim. It is the same discipline the Omnibus rules force on "was €X, now €Y" strikethroughs — if you cannot prove the number, you do not show the badge. You can read the full directive text on EUR-Lex if you want the exact wording.
In a marketplace the liability question has an extra edge: the storefront presents the offer, but the vendor sets the policy. If your cart advertises a threshold the vendor doesn't actually run, it is your storefront making the misleading claim — not the vendor's. That is why the number has to come from the vendor's own store and be re-checked on a schedule, never entered once by hand and left to rot when the vendor quietly changes its policy.
We mirror each vendor's free-shipping threshold from that vendor's own store and verify it against the live shop. If a vendor runs no free-shipping policy, our cart shows no meter for that vendor rather than inventing one — an unverified "free over €X" is a promise we have no right to make on the vendor's behalf.
Nudges without dark patterns
You can encourage a shopper toward a real threshold without manipulating them. The honest nudges are the durable ones:
- Show the gap early and keep it stable. A meter the shopper sees in the cart, with a number that does not move, builds trust that survives to the next order.
- Suggest, don't trap. "Add €6 for free delivery from this shop" is help; a countdown timer on that offer is a fabricated deadline.
- Never drip-price. Revealing shipping only at the final step so the threshold feels urgent is exactly the surprise that gets carts abandoned.
- Mind VAT on the threshold. Decide whether the threshold is measured on gross or net subtotal to match the vendor's own definition — the same VAT-boundary care that cross-border shipping demands — or the meter will flip to "free" a cent early or late.
The through-line is that the honest choice and the high-performing choice are the same choice over any horizon longer than a single session. Shoppers remember which stores lied about delivery.
Key takeaways
- Free-shipping thresholds lift order value only when the number is real — a fake "almost there" costs you the next order.
- Thresholds are per vendor: compute each meter against that vendor's subtotal and policy, and show nothing for vendors with no policy.
- Never round in your favour — the meter's number must equal the number the checkout charges.
- Only advertise a threshold you can substantiate; under EU price-claim rules, fail closed when a policy isn't confirmed.
- Skip the dark patterns — countdowns, moving goals and drip-priced shipping trade next month's trust for this session's conversion.
Frequently asked questions
Do free-shipping thresholds actually increase order value?
How does a free-shipping meter work in a multi-vendor cart?
Is it legal to advertise a free-shipping threshold?
What free-shipping dark patterns should I avoid?
Honest shipping meters, mirrored from real vendor policy.
Our live marketplace computes per-vendor free-shipping thresholds from each shop's own store and fails closed when a policy isn't confirmed.
Request early access See the live marketplace →