Free Gift Threshold: Pick a Spend Level
How to pick a free gift threshold from your own order data: read your order value spread, price the gift, and set a spend level that pays for itself.
A free gift threshold is the cart value at which the gift appears. Most stores pick it by feel: a round number a little above what customers usually spend. The number matters more than the gift, because the threshold decides two things at once. It decides how many shoppers get a gift they would have earned anyway, which is pure cost, and how many shoppers add one more item to get there, which is the only reason to run the offer. This guide shows how to find your free gift threshold from your own order export, with a worked table that compares three candidate spend levels.
Why the threshold matters more than the gift
Say your gift costs 2 dollars to you, landed. Set the threshold below most of your orders and the gift becomes a 2 dollar discount on nearly every order. Set it far above and almost nobody reaches it, so the banner is decoration. The useful range is the stretch just above where many orders already sit, close enough that a shopper can reach it by adding one item.
For the gift itself, the cost you care about is landed cost, not the retail price on the shelf. That distinction, and the other basics of this kind of offer, are covered in What Is a Free Gift With Purchase?. This page assumes you already have a gift in mind and need the number.
Export your orders and find where order values cluster
You do not need an industry benchmark. Your own orders tell you more than any average.
Shopify's Help Center describes exporting orders from the Orders page: choose the orders, pick a CSV format, and export. Larger exports, and exports by date, are emailed to you and the store owner instead of downloading. The same page defines the columns you need:
| Column | What Shopify says it is |
|---|---|
| Subtotal | The order's subtotal before shipping and taxes |
| Discount Amount | The amount of the discount applied to the order |
| Shipping | The total cost of shipping for the order |
| Taxes | The amount of taxes charged on the order |
| Total | The total cost of the order |
Two cautions from that page. The Discount Code column lists only discounts entered as codes and manual draft-order discounts, not automatic discounts, so rely on Discount Amount to see whether an order was discounted. And the page does not spell out whether Subtotal is measured before or after the discount, so open one exported order next to the same order in the admin and compare the numbers before you build anything on the column.
Export the last 90 days. Then sort or chart the Subtotal column into 10 dollar buckets, such as 20 to 29.99, 30 to 39.99 and so on, and count orders in each bucket. You are looking for two shapes:
- A tall pile of orders in one bucket, then a thin tail above it. The threshold goes just above the pile.
- A flat spread with no pile. Then no single threshold will move many shoppers, and you may prefer tiers.
Shopify's sales report defines average order value as gross sales (excluding adjustments) minus discounts (excluding adjustments), divided by the number of orders. That is one number. The bucket count is the shape behind it, and the shape is what you price against.
The formula
Let G be the landed cost of the gift, m the contribution margin on added spend (what is left of each extra dollar after product cost, payment fees and pick-and-pack), and g the typical gap between a cart and the threshold for the shoppers who top up.
Every order that already reaches the threshold, call their number Q, gets a gift for free. Each shopper who tops up adds m × g in contribution and also gets a gift, so the net gain per top-up is m × g − G. The offer breaks even when the top-ups pay for the subsidy to everyone else:
top-ups needed = Q × G ÷ (m × g − G)
This only works when m × g is larger than G, which means g must be larger than G ÷ m. If the gift costs 2 dollars and your contribution margin is 45 percent, the gap must be bigger than about 4.44 dollars. A threshold that asks for a smaller top-up than that loses money on every shopper it moves.
A worked example: three thresholds, one gift
All numbers here are assumptions to show the method, not benchmarks. Assume a store with 1,000 orders in the period, and this order spread:
| Order subtotal | Orders |
|---|---|
| Under 40 dollars | 380 |
| 40 to 59.99 dollars | 270 |
| 60 to 79.99 dollars | 190 |
| 80 to 99.99 dollars | 90 |
| 100 dollars and up | 70 |
Assume a gift landed cost of 2 dollars, a 45 percent contribution margin on added spend and an average top-up gap of 12 dollars. Then m × g = 5.40 dollars, and each top-up nets 3.40 dollars after its own gift.
| Threshold | Orders already above it (Q) | Subsidy: Q × 2 dollars | Top-ups needed to break even | Orders below the threshold | Share of those that must top up |
|---|---|---|---|---|---|
| 40 dollars | 620 | 1,240 dollars | 365 | 380 | 96 percent |
| 60 dollars | 350 | 700 dollars | 206 | 650 | 32 percent |
| 80 dollars | 160 | 320 dollars | 95 | 840 | 11 percent |
The 40 dollar threshold fails on paper: almost every shopper below it would have to top up. The 60 dollar threshold needs about one in three of the orders below it to add roughly 12 dollars, which is a stretch for an offer on its own. The 80 dollar threshold needs about one in nine, which is a realistic target for a visible banner, but only if enough carts sit within a reach of 80. That is what the bucket count is for. If your 60 to 79.99 pile is large, 80 works. If your orders cluster at 20 to 30 dollars, a 12 dollar gap from 80 is far beyond the shopper and none of this holds.
The table is also a prompt to question the assumptions. A cheaper gift lowers every subsidy number. A higher margin raises m × g. Change one input at a time and watch which threshold moves from impossible to plausible.
Before or after shipping and tax
Tell the shopper what counts. Shopify's Help Center says the minimum purchase amount for a Buy X get Y discount counts product prices only, and that shipping costs and taxes are never included. If you build the gift with that discount type, a banner that says "spend 80 dollars" is read against product prices, not the cart total with shipping. Write the banner that way: "Spend 80 dollars on products". Under the FTC's guide on the word "free" (16 CFR 251.1), the conditions of a "Free" offer should be set out clearly and conspicuously at the outset, so the spend level and what it excludes belong in the banner, not in a footnote. This is not legal advice.
The same guide says a purchaser has a right to believe the merchant will not directly and immediately recover the cost of the free item by marking up the price of the article that must be purchased. If the threshold launches alongside a quiet price increase on the products people add to reach it, the offer is no longer free in the way the guide means. Keep prices where they were.
Build it and move it after launch
Put the offer on a fixed schedule so the cost is bounded, then review it weekly. The Spend X, get a gift template in Freebies Engine by Log Studio Lab is described as "Shoppers who reach a cart value get a gift added automatically." Set the threshold from the table, the gift and a stock cap, then check three numbers at the end of week one:
- The share of orders that reached the threshold, against your before-launch count (Q ÷ orders).
- The count of orders in the 10 dollar bucket just below the threshold. If it shrank, shoppers are topping up.
- Gift units out, against your cap.
Moving the threshold is cheap, but do it on purpose. Raise it when more than the planned share of orders qualifies without any top-up. Lower it when the bucket just beneath is empty and nobody is moving. Change one input at a time, and note the date so your next export compares like with like. For the shipping version of the same method, read Free Shipping Threshold: The Formula, and to test any discount against its break-even volume use Break-Even Discount: Extra Volume You Need. Plan requirements are on the pricing page.
Sources
- Shopify Help Center: Exporting orders (accessed October 10, 2026)
- Shopify Help Center: Sales report (accessed October 10, 2026)
- Shopify Help Center: Buy X get Y discounts (accessed October 10, 2026)
- eCFR: 16 CFR Part 251, Guide concerning use of the word "Free" and similar representations (accessed October 10, 2026)