Free Shipping Thresholds on Shopify: Setting Shipping Rates That Lift Order Value
A free shipping threshold is one of the few pricing levers a Shopify store controls completely. Set it well and customers add one more item to reach it. Set it badly and you either give away margin on orders that would have happened anyway, or you put the bar so high that nobody bothers. This guide walks through the math behind a free shipping threshold, how to build the matching shipping rates in Shopify, and how to check whether the number you picked is actually working.
Why Free Shipping Thresholds Work (and When They Don't)
Shipping cost is one of the most common reasons shoppers hesitate at the end of a purchase. A threshold turns that objection into a goal: instead of "I have to pay $7.95 for shipping," the shopper thinks "I'm $12 away from free shipping." For stores with products in the $15 to $60 range, that small nudge is often enough to add a second item.
Thresholds do little when most orders are a single high-priced item, when there is nothing sensible to add, or when shipping is already cheap. If your catalog has consumables, accessories, or products people buy in multiples, a threshold is usually worth testing.
The Math: Calculating Your Free Shipping Threshold
The right free shipping threshold comes from three numbers you can pull from Shopify Analytics and your carrier invoices: average order value (AOV), gross margin, and average fulfillment cost per order.
Step 1: Know your real shipping cost
Look at what you actually pay per shipment, not the rate you charge. Include packaging and any 3PL pick and pack fees, and break it down by zone, because distant zones can cost twice as much as local ones.
Step 2: Look at your order value distribution
AOV alone hides a lot. Export orders for the last 90 days (Orders, then Export) and group them into $10 bands. You want to see where orders cluster. If most orders sit between $35 and $50, a threshold of $55 to $65 sits just above the cluster, where a small top-up gets people over the line.
A common starting rule in our projects: set the threshold 15% to 30% above your median order value. Too close to the median and you mostly subsidize orders that would have happened anyway. Much higher and the gap feels unreachable.
Step 3: Check the margin still works
Here is a simple worked example:
- Current AOV: $48
- Average shipping cost you pay: $8
- Gross margin on products: 55%
- Proposed threshold: $60
If a customer raises their order from $48 to $60, you gain $12 in revenue and roughly $6.60 in gross profit (55% of $12). You also give up the $8 shipping fee you used to charge them (assuming it matched your cost). So on a customer who stretches to the threshold, you are about $1.40 behind on that individual order.
That changes once you factor in conversion: if free shipping lifts conversion even modestly, the extra orders often cover the gap. The point of the math is to know your break-even before you launch, so you can judge the test honestly afterward.
Step 4: Decide what "free" really means
You can offer free standard shipping only, while still charging for express. This is the most common setup, and it protects margin on the orders where customers want speed. You can also limit free shipping to domestic orders or specific zones where your cost is lower.
Setting Up Shipping Rates in Shopify
Once you have a number, you build it in Settings, then Shipping and delivery. There are two main ways to create a free shipping threshold on Shopify.
Option A: Price-based rates in your shipping zones
Inside a shipping profile, each zone can have multiple rates, and each rate can carry conditions based on order price or item weight. A typical setup looks like this:
- Standard Shipping: $6.95, for orders $0 to $59.99
- Free Standard Shipping: $0, for orders $60 and up
- Express Shipping: $14.95, no condition
Shopify shows the rates that match the cart at checkout. This method is transparent and easy to maintain, and it lives entirely in your shipping settings.
One detail to watch: price conditions evaluate the order subtotal, and how discounts interact with that subtotal can surprise you. Test with a discount code applied to see whether a $65 cart with a $10 code still qualifies. Decide which behavior you want and write it into your shipping policy.
Option B: A free shipping discount
Shopify also has a dedicated free shipping discount type, which can be applied automatically or through a code, with a minimum purchase amount and country restrictions. This is useful when you want free shipping for a limited period, for specific customer segments, or excluding certain rates above a set price.
The trade-off is that discounts interact with other discounts through Shopify's combination settings. If you run a sitewide sale alongside an automatic free shipping discount, check that they are set to combine the way you intend. Discount combination rules have changed over the years, so confirm current behavior in Shopify's help docs before a big promotion.
In practice, we usually use price-based rates for a permanent threshold and discounts for temporary promotions like "free shipping this weekend on all orders."
Flat Rates vs Calculated Rates
Before you add a threshold, decide how you charge for orders below it. Flat rates (one price per zone, or price bands) are easy to understand and to display on product pages, but heavy orders can cost you more than you charge. Carrier-calculated rates pull live pricing from carriers such as UPS, USPS or FedEx, which is accurate but only visible at checkout. Availability of third-party calculated rates depends on your plan, so check the current plan comparison.
A hybrid often works best: many stores charge flat rates below the threshold, free above it, and use calculated rates only for oversized items in a separate profile. Customers get predictable pricing on the common case, and you avoid losing money on the awkward orders.
Shipping Profiles: Handling Products That Break the Rules
Shipping profiles let different groups of products follow different rates. This matters for thresholds because a single bulky product can wreck your margin if it rides along in a "free over $60" order.
Common profile setups:
- General profile: most of the catalog, with the threshold applied.
- Oversized profile: furniture, large equipment or heavy items with their own rates and no free shipping, or a much higher threshold.
- Digital or no-shipping products: gift cards and downloads, which should not count toward shipping rates at all.
When a cart contains products from more than one profile, Shopify combines the rates from each. That can produce results customers find confusing, for example free shipping on the small items plus a $49 charge for the large one. Say this clearly on the product page of the oversized item, not just in the shipping policy.
You also need to decide whether items in an excluded profile count toward the threshold. With price-based rates, Shopify generally evaluates each profile's conditions against the items in that profile (test this on your own store), so a $200 sofa typically does not help a customer reach free shipping on a $40 throw pillow. If you want a different behavior, that usually takes a custom solution, which is something our Shopify development team builds when the default logic doesn't fit.
Shipping Zones and Regional Thresholds
Your cost to ship varies by destination, so your threshold can too. Shopify zones let you set a lower threshold where shipping is cheap and a higher one where it isn't.
A common example is free shipping over $50 for the contiguous US, with Alaska and Hawaii at $100 or excluded entirely.
If you use postal code based zones for remote areas, test real addresses from each region. Zone gaps, where an address matches no zone, cause "no shipping rates available" errors at checkout, which are an instant lost sale.
International Free Shipping Thresholds
For international orders, the cost side changes: higher carrier costs, potential duties, and more returns friction. Most stores either skip international free shipping entirely or set a much higher threshold, often 2 to 3 times the domestic figure.
If you sell in local currencies, remember that a threshold of $60 becomes an awkward number once converted. Setting rounded local amounts for each market ("free over €70" rather than "free over €63.42") reads better. Set each international threshold from that region's actual shipping cost, not from your domestic number.
Also decide who pays duties. A free shipping offer that is followed by a surprise duties bill on delivery undoes any goodwill you earned.
Communicating the Threshold
A threshold nobody sees can't change behavior. The places it matters most:
- Announcement bar: "Free US shipping on orders over $60." Keep it short and specific.
- Product pages: a line near the price or add to cart button. For items that ship in an excluded profile, say so here.
- Cart: a progress message showing how much is left. We cover cart layout and progress bars in depth in a separate post, so the only point here is that the number must match your actual rates exactly.
- Shipping policy page: list thresholds by region, what's excluded, and how discounts affect eligibility.
Consistency is what gets missed. We regularly audit stores where the announcement bar says $50, the cart says $60 and the actual rate starts at $75. Drive all of these from one theme setting where you can.
Testing Your Threshold
Changing a threshold affects AOV, conversion rate and shipping cost at the same time, so judge it on profit per visitor rather than any single metric.
A practical testing approach
- Record a baseline. Take 4 to 6 weeks of AOV, conversion rate, orders per day, and shipping cost as a percentage of revenue.
- Change one thing. Adjust only the threshold, not the threshold plus a sale plus a new theme.
- Run it long enough. Four weeks is a practical minimum for most stores, longer if you have fewer than a few hundred orders a month.
- Compare contribution margin. Revenue minus product cost minus shipping cost minus payment fees, divided by sessions. That is the number that tells you whether the change paid off.
- Watch the order distribution. A good threshold shows a visible bump of orders just above it. If there is no bump, customers either aren't seeing it or don't care.
True split tests on shipping rates are harder on Shopify because rates are global settings, not per-visitor. Sequential tests (before vs after) are the realistic option for most stores. Just avoid running them across major seasonal changes like Black Friday, which skew every number.
FAQ
What is a good free shipping threshold for a Shopify store?
There is no universal number. A practical starting point is 15% to 30% above your median order value, then checked against your margin and real shipping cost. Test for at least four weeks before deciding.
Can I offer free shipping on some products but not others?
Yes. Put the excluded products in their own shipping profile with separate rates. Explain the exclusion on those product pages so customers are not surprised at checkout.
Should I use a shipping rate or a discount for free shipping?
For a permanent threshold, price-based rates in your shipping zones are usually simpler and more predictable. Free shipping discounts suit temporary promotions or specific customer groups. Check how either option combines with your other discounts.
How often should I review my free shipping threshold?
At least once a year, and after any carrier rate increase, a significant price change on your products, or a big shift in AOV. Many stores review it quarterly alongside margin reports.
Getting the Details Right
A free shipping threshold touches your shipping profiles, zones, discounts, theme messaging and margin model. When those pieces align, it is one of the cheapest ways to raise order value. Our portfolio shows store builds where we've handled this kind of setup.
If you'd like help working out the right threshold and shipping setup for your store, book a free 1-hour strategy call through our contact page.
Need help with your website?
Get a free 1-hour strategy call with our team. Clear plan, fixed quote, no obligation.
Get in touch
