Run the numbers on a $100 order. Twenty percent off hands back $20 of revenue, every cent of it margin. A free gift that retails for $30 might cost you $9 to buy and a dollar to pack. The shopper sees a bigger number and you pay a smaller one.
That gap is the whole argument, and most stores never look at it because discounts are easier to set up.
The shopper is not doing your maths
Nobody at checkout works out that $20 off is worth more to them than a $30 candle you paid $9 for. They see the retail price, because that is the only price they have ever seen. Perceived value runs on your price tag, not your cost of goods.
This is why gift offers hold up in categories with healthy margins and fall apart in ones without. If you sell electronics at nine points, a free anything is expensive. If you sell apparel, candles, supplements, or anything where the retail price is a multiple of the landed cost, a gift buys you far more goodwill per dollar than a discount does.
Discounts do not switch off
The real cost of a discount shows up later. Run 20 percent off for a week and you have told everyone on your list what your product is actually worth. The next full price email lands differently. A chunk of people who would have paid $100 now wait, because waiting worked once.
A free gift does not do that. It reads as a bonus rather than a correction. You gave something extra at $75, and $75 is still the price of the thing they came for. Pull the offer next month and nothing about your pricing has been renegotiated in public.
Gifts also expire cleanly. Stock runs out, the promotion ends, and there is no lingering sense that the old price was a lie.
A gift gives people a reason to add one more thing
This is the part that shows up in the numbers fastest. Put a gift behind a spend threshold and the offer stops being a discount at all. It becomes a target.
A shopper with $58 in the cart and a free gift at $75 has a decision in front of them that a percentage discount never creates. Twenty percent off does not care whether they spend $58 or $85. A threshold does, and so do they. The gap between what is in the cart and what unlocks the reward is the whole mechanic, which is why showing it matters as much as the gift itself. A progress bar that says seventeen dollars away outperforms a banner that says free gift at seventy five dollars, every time.
Set the threshold above your current average order value, but not by much. Twenty to thirty percent above is a reasonable starting point. Set it too high and it reads as unreachable, which is worse than not running the offer.
It moves stock you were going to discount anyway
Every store has product that is not selling. The default answer is to mark it down, which drags the item's perceived value down with it and puts it next to your good stock at a lower price.
Giving it away as a gift does the opposite. The item keeps its price tag, gets into the hands of people who did not choose it, and some of them come back for it. A markdown on the same item teaches people it was overpriced.
When a discount is the better tool
Being honest about this makes the rest of the argument stronger.
- Clearing genuine dead stock. If you need units gone, a discount on those units is direct and it works. A gift moves them one order at a time.
- Thin margins. If a free gift costs a third of your profit on the order, the maths stops working. Run the numbers before assuming gifts are cheaper.
- Price sensitive categories. In markets where people compare on price across a dozen tabs, being cheaper is the offer. A gift will not close that gap.
- Winning back lapsed customers. A discount is blunt and legible. Sometimes blunt is what you need.
Most stores do not fall into those cases for their everyday promotions, but plenty of them run discounts as though they do.
Where to start
One gift, one threshold, set a little above your average order value. Pick something with a real retail price and a cost you are comfortable eating on every qualifying order. Show the progress in the cart so people know what they are working toward. Run it for a fortnight against a normal fortnight and look at average order value, not conversion rate on its own.
If it works you will see it in the basket size before you see it anywhere else.