How to Set Up Promo Codes and Discounts Without Losing Margin
Practice4 minInnovialabs editorial team
In short
A discount pays off only if extra sales cover the lost margin: calculate the break-even point upfront, restrict stacking and usage, and issue codes in a way that keeps them off coupon sites.
The core principle
Every discount reduces the margin on an order. A promotion pays off only if it brings enough additional sales or serves another goal: clearing stock, acquiring a new customer, winning back a lapsed one. So before launch, answer three questions: what is the goal, what does the discount cost and what uplift is needed to break even.
Discount types
| Type | How it works | When it fits |
|---|---|---|
| Percentage | 10% off an order or category | Broad promotions, seasonal sales |
| Fixed amount | A set sum off the order total | Acquiring new customers, raising order value |
| Free shipping | The store covers delivery | When delivery cost is the main barrier |
| Bundle | A set costs less than its items separately | More items per order |
| Gift with purchase | A free item when a condition is met | Promoting new products, clearing stock |
A fixed discount with a minimum order value is often safer than a percentage: you know the maximum loss per order. A gift costs the store its cost price, not its retail price, which makes it cheaper than a discount of the same face value.
Stacking rules
Without rules, shoppers will combine a promo code, a sale price and loyalty points, and the margin turns negative.
- Decide whether promo codes stack with already reduced prices.
- Allow one promo code per order.
- Define the order of application: item discounts first, then cart discounts, then loyalty points.
- Set a maximum total discount per order or item.
- Exclude low-margin categories.
Usage limits
- A total redemption cap and a promotion budget.
- A per-customer limit (by account, phone number or card).
- An expiry date and time.
- A minimum order value.
- First order only, for acquisition codes.
Enforce limits on the server at checkout, not only in the interface.
Leakage to coupon sites
A generic code like SUMMER20 quickly ends up on coupon aggregators. Then the discount goes to people who would have bought anyway.
- Issue unique single-use codes for emails, partners and influencers.
- Tie a code to an account or phone number.
- Use separate codes per channel to see where orders come from.
- Watch for abnormal usage spikes and disable a leaked code.
- Consider whether the promo code field needs to be prominent: it encourages shoppers to leave and search for a code.
How to calculate break-even uplift
You need your gross margin (gross profit as a share of price) and the discount size. For a percentage discount:
Required sales uplift = discount / (margin - discount)
Illustrative example: with a 40% margin and a 10% discount, you must sell 0.10 / (0.40 − 0.10) ≈ 33% more units to keep gross profit unchanged. With a 20% discount and the same margin, it is already 100%. If the discount equals or exceeds the margin, no sales volume will restore profit.
Account for hidden effects too:
- Cannibalization: some customers simply moved a planned purchase to the promo days.
- Discount conditioning: customers start waiting for sales.
- Extra costs: promotion ads, load on warehouse and delivery.
- Positive effects: new customers and their repeat purchases.
How to measure the result
- Compare gross profit, not revenue, for the promo period against a similar period without it.
- Where possible, keep a control group that does not get the code.
- Track how many new customers come back for a second purchase.