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.

Portrait of Rishi Babu

Written by

Rishi Babu

Lead marketer at Cascayd

10 min read

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:

  1. Drop test orders, wholesale orders and anything over about five times your average order value, because a few large orders pull the average up.
  2. Group the remaining orders into $5 or $10 bands and count how many land in each.
  3. Find your median order value and the band where orders bunch up. For most stores that bunch sits below the average.
  4. 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.

MethodWhere to set itGood forWatch out for
Price-based shipping rateSettings > 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 priceA permanent threshold per zoneEvery zone and profile needs its own rate, and it is easy to miss one
Free shipping discountDiscounts > Create discount > Free shipping, with a minimum purchase amountSeasonal offers, or a threshold limited to certain markets or customersIt 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 $50Variant: free over $75
Conversion rate2.20%2.05%
Average order value$64$72
Orders that ship free70%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:

  1. Work out the sample size up front with the sample size calculator, using profit per visitor as the main metric.
  2. Run for at least two full weeks, so weekday and weekend buyers and new and returning visitors are all in the result.
  3. Call it only at 95% significance and do not stop early because one day looks good.
  4. Cap single huge orders at a level you choose before launch, so one wholesale-sized cart cannot decide the test.
  5. 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.

TestHypothesisMain metric
Raise the threshold by one add-on itemBuyers near the threshold will add one item rather than pay shippingProfit per visitor
Lower the threshold to just above the medianMore first-time buyers will finish checkout once shipping is freeProfit per visitor, new-visitor conversion rate
Add a cart progress messageBuyers will top up when they can see the exact gapAverage order value, profit per visitor
Show add-on products priced near the gapA cheap, relevant item makes the top-up easyAdd-on attach rate, profit per visitor
Free shipping on every order against a thresholdThe conversion gain outweighs the shipping cost on small ordersProfit per visitor
Different thresholds by marketBuyers in high-cost zones accept a higher thresholdProfit 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.