FREE SHIPPING THRESHOLD OPTIMIZER · RUNS IN YOUR BROWSER

What should your free shipping minimum be?

Paste your past orders — subtotal and what shipping cost you — and see what every minimum would earn, how many buyers each must win back to pay for the shipping you give away, and the threshold that loses least if your guesses are off.

Nothing is uploaded and no store is contacted. The text box is analysed in this browser and never leaves your device. Two behaviours — shoppers topping up their cart and buyers abandoning over shipping — cannot be read from past orders, so you set them and the result shows how much they matter.

1. Paste your orders

Prefer a CLI, or want a CI check?

Same logic, zero dependencies, one command — reads a file or stdin:

node cli.mjs analyze orders.csv
cat orders.csv | node cli.mjs analyze -
node cli.mjs analyze orders.csv --current 75 --margin 45 --fee 5.95 --days 30
node cli.mjs analyze orders.csv --top-up 15 --drag 5 --json --fail-on warn

Get cli.mjs and engine.mjs — Node 18+, nothing to install, no network call. More: Where to set a free shipping threshold, and what it costs when you are wrong.

What's recognised

InputHandling

Top-up and checkout drop-off are assumptions you set (defaults: 25% of orders right under a threshold add items, fading to none 30% below it; 10% of buyers abandon when charged shipping); returns, repeat purchases and lifetime value are not modelled; margin is the profit share of merchandise before shipping.

Common questions

Does this connect to my store?

No. It reads the order rows you paste and never contacts Shopify, WooCommerce, Etsy or any carrier. Every figure is arithmetic on your numbers plus two behaviours you set, so nothing here is a measurement of your customers.

How do I get the numbers?

Export orders from your store and keep two columns: the merchandise subtotal before shipping and tax, and what you paid to ship it. In Shopify that is the Subtotal column of the orders export; the shipping cost comes from your carrier or label report. The shipping column is optional.

What is the top-up rate?

Of orders just under the free-shipping minimum, the share who add an item to reach it. It cannot be read off past orders, so you set it and the tool shows how the answer moves. 25% is a placeholder, not a benchmark.

What is checkout drop-off?

The share of would-be buyers who abandon when they have to pay shipping. Free shipping is mostly a bet that this number is large enough to pay for the shipping you give away, so the tool reports the drop-off at which each threshold breaks even rather than pretending to know yours.

Is my data uploaded anywhere?

No. The browser page runs on the text in your own browser and never sends it anywhere. The CLI reads a local file or stdin and makes no network call.