Most promotions start with a number: 15% off, 20% off, whatever worked last time. That skips the more important decision, which is the frame. The same rupee of margin given away as a percentage, as a bundle price, or as a free gift changes what the customer buys, what they think the product is worth, and what you keep.
"A percentage discount lowers the price of what they were already going to buy. A bundle changes what they put in the basket. Those are different jobs, and most promotions only do the first."
— Dhruvit Shah, Co-Founder — Performance Marketing & Growth Strategy
What does each offer frame actually do?
They work through different mechanisms, which is why they shouldn't be treated as interchangeable.
- Percentage discount lowers the price of the same basket. It's simple and widely understood, and it tends to lower margin on every unit, including sales you'd have made anyway.
- Bundle raises the number of items per order at a price that looks better per unit. It can lift order value, but only if the items belong together.
- Free gift keeps the headline price intact and adds perceived value. It protects the reference price, but the gift has a real cost and can attract buyers who only want the gift.
Shopify supports each of these natively: discount types include amount off and buy X get Y, as covered in Shopify's buy X get Y documentation. The tooling isn't the constraint. The frame is.
How do they differ on margin and order value?
Percentage discounts hit margin hardest because they apply to the whole basket. A bundle can protect margin if it pairs a high-margin item with a lower-margin one, or moves slower stock, since the discount is concentrated on the bundle rather than spread across everything. A free gift's cost is fixed per order, which makes it the easiest to model.
The direction, not the magnitude, is what we can state with confidence. The exact lift depends on your catalogue, price points, and traffic, so test it rather than borrow a number.

When does each frame backfire?
Percentage discounts backfire when they train customers to wait. If a code is always available, the full price becomes fiction, and your most loyal buyers pay least. The same effect shows up in the free shipping threshold logic: the threshold should pull baskets up, not merely give away shipping.
Bundles backfire when the items don't belong together. A bundle of unrelated products reads as clearing stock, and the customer who wanted one item sees only a higher total. They also add decision load, which can lower conversion on the product page.
Free gifts backfire when the gift is the reason for the purchase. If the gift is more attractive than the product, you've subsidised a customer who may never buy again. A gift should reinforce the main product, such as a sample, accessory, or refill.
How do you pick the frame?
Match the frame to the problem:
- Low basket size → a bundle or tiered gift that rewards adding an item.
- Slow stock or an unsold variant → a bundle that includes it.
- First-purchase hesitation → a free sample or small gift that lowers risk without cutting the price.
- Price-sensitive repeat buyers → a loyalty reward, not a sitewide code.
- Cart abandonment → address friction first; the cart abandonment guide covers why discounting is rarely the root cause.
Decide the job before the number Write down whether the offer is meant to raise order value, move stock, or win a first order. Pick the frame that does that job, then size the incentive to the margin you can spare on that product.
How do you test it properly?
Run one frame against another on comparable traffic, and measure contribution margin per session, not just conversion rate or revenue. An offer that lifts conversion and lowers margin per order can be a net loss. Also look at what the buyer does next: second-order rate, and return rate where the bundle bundled items they didn't want. Shopify's discount combination rules matter here, because stacking a bundle with a code can discount the same item twice, and you'll want to know that before the invoice shows it.
Finally, tie the result back to value over time. A frame that attracts one-time bargain hunters is worse than a smaller one that brings buyers back, which is what customer lifetime value measures.
Related guides
- Free Shipping Thresholds: Setting the Number Instead of Guessing It
- How to Reduce Cart Abandonment by 30% (Without Discounting)
- Post-Purchase Upsells for Shopify: Turning One Sale Into Two Without Discounting
- Customer Lifetime Value: The Metric That Should Drive Every Marketing Decision
The best offer is the one that does a specific job at a margin you can defend, and that you'd be comfortable running again. If you want help modelling bundles, gifts, and discounts against your own contribution margin, our Shopify and CRO team can build and test them with you.
Want a free marketing audit?
We'll review your tracking, ad accounts, and funnel — and show you exactly where the gaps are.
Get Your Free Audit →