DiscountForge
Guide

Free shipping thresholds on Shopify: discount, shipping rate, or both?

Published August 25, 2026 · 8 min read

“Free shipping over $50” is the highest-leverage promotion most stores run — and Shopify gives you two genuinely different ways to build it: a free shipping discount and a $0 conditional shipping rate. They look identical at checkout on a good day. They fail differently on a bad one. This guide covers which tool fits which job, the setting almost everyone misreads, and the one rule about shipping discounts that has no workaround.

The 30-second version

  • Two tools, not one. A free shipping discount is a promotion: it has a title, dates, usage limits, and combination settings. A $0 conditional shipping rate is store plumbing: permanent, per shipping zone, invisible as a “deal”.
  • Shipping discounts never combine with each other. A free-shipping promotion and a $5-off-shipping code can’t both apply — this is the one pairing Shopify forbids outright, with no setting to change it.
  • The “exclude shipping rates over” field caps the rate, not the order. It stops free shipping from swallowing your $80 express option; it has nothing to do with how much the customer spent.
  • Thresholds are currency-sensitive on Markets stores — “over $50” trips at a different real basket size per region depending on how it’s built.
  • A threshold nobody sees doesn’t raise order value. The money is in the “you’re $12 away” message, not in the discount itself.

Discount vs. $0 rate: which one is your job?

Free shipping discount$0 conditional shipping rate
Lives inDiscounts (automatic or code)Shipping settings, per zone
TriggerMinimum purchase amount or minimum quantity of itemsOrder price (or weight) condition on the rate
Can be time-boxedYes — start and end datesNo — it’s live until you delete it
Can target customersYes — specific customers, segments, or marketsNo — everyone shipping to the zone
Shows asA named discount in cart and checkoutA $0 shipping option, no discount label
Interacts with other discountsYes — combination rules applyNo — it isn’t a discount at all

The rule of thumb: if free shipping over $X is your store’s permanent policy, build it as a $0 conditional rate — it can’t collide with promotions, because it isn’t one. If it’s a campaign — a weekend, a segment, a market, a code in an email — build it as a discount, because only discounts have dates, eligibility, and usage limits.

Running both at once is legitimate (policy rate + occasional promo code for a lower threshold), but then the checkout shows a $0 option rather than a “discount applied” moment, and shoppers who expected to “use” their code can be confused about whether it worked.

Four behaviours that generate the tickets

1. “Free shipping plus my shipping code doesn’t work”

Shipping discounts never combine with other shipping discounts. Not with any setting, not on any plan. A free-shipping automatic discount and a $5-off-shipping code on the same cart means one of them silently loses. Design shipping promotions so only one is ever meant to win at a time; if you need the full combination matrix, it’s in our discount combinations guide.

2. “Free shipping killed my express option”

A free shipping discount applies to the shipping rates the customer can choose — including, by default, your expensive ones. The fix is the setting people misread: exclude shipping rates over a certain amount. That number is compared against the shipping rate’s price, not the order total. Set it just above your standard rate and express stays paid while standard goes free. Read it as an order threshold and you’ll either wonder why it does nothing or accidentally give away overnight shipping on big orders.

3. “The threshold is wrong in euros”

On a Shopify Markets store, a threshold entered in your store currency meets carts in the shopper’s presentment currency. Depending on how the discount or rate is built, “ over $50” can trip at a meaningfully different real basket size per region — and nothing errors, the totals are just not what your banner promised in one market. If you advertise a round number per market (“free over €50”), test one cart at that exact value in that currency before the campaign.

4. “We have the threshold but order value didn’t move”

The discount mechanism is the cheap half. The behaviour change comes from telling the shopper how close they are — “you’re $12 away from free shipping” on the product page and in the cart, updating as they add items. A threshold that only reveals itself at checkout rewards orders that already qualified and changes nothing else. If you measure one thing after launching, measure the share of orders landing just above the threshold; that bump is the promotion working.

Setup checklist

  1. Decide policy or campaign — that picks rate vs. discount for you.
  2. Pick the threshold from your order data: just above your current median order value is the classic placement — reachable with one added item.
  3. Cap the rates it applies to (discounts: the exclude-over setting) so express survives.
  4. Decide combinations deliberately: should the free-shipping promo stack with your product discounts? Both sides must opt in, or the better one silently wins.
  5. Test three carts: just under, exactly at, and just over the threshold — at checkout, not the cart page — plus one cart per currency if you sell internationally.
  6. Show the gap on the product page and cart, and confirm the message and the checkout agree about where the threshold is.
How DiscountForge handles this: free-shipping thresholds are one of the rule templates, with the threshold evaluated against the cart in the shopper’s presentment currency, combination flags exposed per rule, and a storefront widget that shows the “spend $15 more for free shipping” progress bar on the product page — the half of the mechanic that actually moves order value. The simulator runs a sample cart through the rule and shows why it did or didn’t fire before anything goes live.

FAQ

Can I offer free shipping over $X without an app?

Yes, both native tools do it: a free shipping discount with a minimum purchase amount, or a $0 shipping rate with a price condition in each zone. An app earns its keep on the parts around the mechanic — the progress bar, per-market thresholds, and seeing why a given cart did or didn’t qualify.

Automatic discount or discount code?

Automatic applies by itself and shows in cart and checkout — right for storewide thresholds. Codes are for targeting: email campaigns, win-backs, segments. Remember only one shipping discount can apply either way.

Why isn’t my free shipping showing at checkout?

Check in order: does the cart actually meet the minimum (in the shopper’s currency)? Is the discount within its active dates and eligibility? Is the chosen shipping rate above your exclude-over cap? And is another shipping discount on the cart winning the never-combine rule?

Does free shipping stack with my other discounts?

With product and order discounts it can — if both sides opt into each other’s class in their combination settings. With other shipping discounts, never.

Should the threshold include or exclude discounts?

The threshold is evaluated against the discounted subtotal the customer is actually paying. If a 20% off sale is running, a cart can fall back under the free-shipping line after the product discount applies — test the combination you’ll actually run, not the halves separately.

Make the threshold visible

DiscountForge builds free-shipping thresholds, tiered and volume pricing, Buy X Get Y, and customer-tag pricing as rules on Shopify Functions, with a product-page progress bar and a simulator that shows exactly why a rule fired or didn’t on any sample cart. The Free plan runs three active rules on a live store.