Shopify free shipping threshold: how to set and test it
How to pick a Shopify free shipping threshold from your own order data, check the margin, set it up, and A/B test it on profit per visitor.

Rishi Babu
Start from your own order values
A threshold works when it sits a short, cheap step above what people already spend. That step depends on your catalogue, so the starting number comes from your orders, not from another store's.
Export the last 90 days of orders from Orders in the Shopify admin, or open Analytics > Reports and pull order values for the same period. Then do four things:
- Drop test orders, wholesale orders and anything over about five times your average order value, because a few large orders pull the average up.
- Group the remaining orders into $5 or $10 bands and count how many land in each.
- Find your median order value and the band where orders bunch up. For most stores that bunch sits below the average.
- Find the price of your best-selling low-cost items, such as socks, refills, accessories or a sample size.
The first threshold to test is roughly the top of the main bunch plus the price of one of those add-on items. If most orders land between $40 and $55 and your best-selling add-on costs $14, a $65 threshold asks the typical buyer to add one item. A $100 threshold asks them to almost double the basket, and most will just pay for shipping or leave.
Look at two more numbers while the export is open. Note the share of orders that already clear your current threshold, and the average shipping cost you pay per order. You need both for the margin check.
Check the margin before you change anything
Free shipping is a cost you move from the buyer to yourself. A higher order value only helps if the gross margin on the extra spend covers it.
The break-even question for a qualifying order is simple:
Extra gross margin per order ≥ shipping cost you absorb on that order
Say your gross margin is 60% and your average shipping cost is $8.50. A buyer who adds a $14 item to qualify gives you $8.40 of extra margin and costs you $8.50 in shipping. That order is roughly break-even. The threshold pays off through the buyers who add more than the minimum, and through visitors who buy only because shipping is free.
A threshold also fails quietly in three places:
- Heavy or bulky products. A $70 order of glass jars can cost more to ship than the margin on it. Shopify lets you set free shipping per shipping profile, so oversized products can sit in a profile without the free rate.
- Low-margin categories. If buyers top up with your lowest-margin items, order value rises while profit stays flat.
- Far zones. Shipping to a remote region can cost three times your domestic average. Set the free rate per zone rather than everywhere at once.
Run your own figures through the A/B testing ROI calculator to see how big a change has to be before a test is worth running.
Set the threshold up in Shopify
Shopify gives you two ways to offer free shipping over an amount. They behave differently, so pick one and know which you picked.
| Method | Where to set it | Good for | Watch out for |
|---|---|---|---|
| Price-based shipping rate | Settings > Shipping and delivery, open a shipping profile, add a rate to a zone, then Add conditions > Based on order price with a minimum and a $0 price | A permanent threshold per zone | Every zone and profile needs its own rate, and it is easy to miss one |
| Free shipping discount | Discounts > Create discount > Free shipping, with a minimum purchase amount | Seasonal offers, or a threshold limited to certain markets or customers | It counts as a discount, so check how it combines with your other codes |
Before you launch, place two test orders. Put a cart just over the threshold, apply your most common discount code and see whether shipping stays free. Whether the threshold reads the subtotal before or after the code decides whether a $70 cart with 20% off still qualifies, and that changes how many orders you pay shipping on.
If you sell in several currencies with Shopify Markets, set the threshold for each market in round local numbers. An automatic conversion of $65 can land on an odd figure like €59.83, which looks like a mistake on a banner.
Google Shopping ads also show a shipping cost. If your Merchant Center shipping settings still show the old rule, the ad and the checkout disagree, so update them on the day the threshold changes.
Show the threshold where buyers decide
A threshold nobody sees does not change behaviour. Buyers need to know three things: that free shipping exists, how far away they are, and what they could add to get there.
- Product page. One line near the price or the add to cart button, such as "Free shipping over $65". The product page optimisation guide covers what else belongs in that spot.
- Cart and cart drawer. A line that updates with the cart, such as "You're $11 away from free shipping", plus two or three add-on products priced near the gap.
- Announcement bar. It works for new visitors, though it is the easiest place to stop noticing.
- Checkout. Shoppers should see the free rate selected by default once they qualify. The Shopify checkout optimisation guide covers the rest of the page.
Each of these is a separate change. If you launch a new threshold, a progress bar and cart add-ons in the same week, you cannot tell which one moved the number. Change one thing per test.
A/B test the threshold and judge it on profit per visitor
Every store's buyers react differently to a threshold, so a number that works for a similar store is a hypothesis for yours, not an answer. The only way to know is to split visitors into two groups at the same time, show each group a different threshold, and compare.
Shopify's settings apply one shipping rule to everyone, so a real test needs a tool that assigns each visitor to a group and changes both the message and the rate at checkout. Intelligems sells shipping tests for this. Shopify Functions can also apply a free shipping discount to one group only if you have a developer. Whatever runs it, a visitor must see the same threshold on every page and at checkout on every visit, or the test mixes the two groups.
Judge the test on profit per visitor, not conversion rate. A higher threshold usually costs some orders and raises the value of the rest, and conversion rate only sees the first half. Here is an illustrative example for a store with a 60% gross margin, an $8.50 average shipping cost and a $6.95 flat rate below the threshold:
| Control: free over $50 | Variant: free over $75 | |
|---|---|---|
| Conversion rate | 2.20% | 2.05% |
| Average order value | $64 | $72 |
| Orders that ship free | 70% | 45% |
| Contribution per order after shipping | $31.99 | $38.52 |
| Profit per visitor | $0.70 | $0.79 |
A conversion-rate test would call this variant a 7% loss. On profit per visitor it is about 12% ahead. The revenue per visitor guide explains why that metric, and its profit version, catches what conversion rate misses.
Set the rules before launch:
- Work out the sample size up front with the sample size calculator, using profit per visitor as the main metric.
- Run for at least two full weeks, so weekday and weekend buyers and new and returning visitors are all in the result.
- Call it only at 95% significance and do not stop early because one day looks good.
- Cap single huge orders at a level you choose before launch, so one wholesale-sized cart cannot decide the test.
- If the variant loses or comes out flat, remove it, write down what you learned and let that shape the next test.
The A/B testing best practices guide covers each of these rules in more depth.
Free shipping threshold tests to run next
Treat each row as a hypothesis for your store, one at a time. The result of one test should decide what you test next, so this is a pool of ideas rather than a schedule.
| Test | Hypothesis | Main metric |
|---|---|---|
| Raise the threshold by one add-on item | Buyers near the threshold will add one item rather than pay shipping | Profit per visitor |
| Lower the threshold to just above the median | More first-time buyers will finish checkout once shipping is free | Profit per visitor, new-visitor conversion rate |
| Add a cart progress message | Buyers will top up when they can see the exact gap | Average order value, profit per visitor |
| Show add-on products priced near the gap | A cheap, relevant item makes the top-up easy | Add-on attach rate, profit per visitor |
| Free shipping on every order against a threshold | The conversion gain outweighs the shipping cost on small orders | Profit per visitor |
| Different thresholds by market | Buyers in high-cost zones accept a higher threshold | Profit per visitor by market |
Threshold and price tests interact, because a price change moves how far buyers are from the threshold. Run them one after the other, not side by side. The Shopify price testing guide covers the price side.
DIY testing apps have done a lot to get Shopify stores testing, and we are glad they exist. The catch is the work around the tool: the order export, the margin check, the sample size, the Merchant Center update and reading profit at the end are all yours, for every test. Retainer agencies take that work on and are paid the same each month whether your profit moves or not. We compared both in DIY vs agency A/B testing.
Cascayd is outcome-based. You add a pixel, give GA4 access and install a Shopify app with read access to orders. We research your orders and funnel, write the hypothesis, and design the test. AI speeds up the build and the repetitive parts. We send it to you in Slack with the reasoning. You approve it or ask for changes, and Cascayd is paid only from a share of the measured uplift. See how the Shopify CRO service works.
Pull your last 90 days of orders today and find the $5 band where most of them land. If your current threshold sits far above it, or below it, that gap is your first test. If you want it built and judged on real orders without the hours, book a call and tell us about your store.