On this page
Tanqory Discounts checks each code or automatic discount against its dates, usage caps and minimums in the cart, at checkout and on draft orders.
Kinds of discount code
A code does one of four things. Each costs you in a different way. The examples use one product that sells for $40 and has a $24 landed cost, the same product as in gross margin:
| Kind | Example | Discount on the example | Left after the discount |
|---|---|---|---|
| Percentage off | 20% off, one $40 item | $8.00 | $8.00 gross profit |
| Fixed amount off | $10 off orders of $80 or more, two items | $10.00 | $22.00 gross profit |
| Free shipping | One $40 item, a $6.00 label you pay | $6.00 | $10.00 after the label |
| Buy X get Y | Buy one, second at 50% off, two items | $20.00 | $12.00 gross profit |
A percentage grows with the cart: two units at 20% off cost $16. A fixed amount stays the same, so its share falls as the order grows: $10 is 12.5% of an $80 order and 8.3% of a $120 order. Free shipping costs you the label, which the buyer never sees. Buy X get Y is a percentage on part of the cart: here $20 off $80, or 25% of the order.
For the full table of what each discount level does to margin, and how many more sales it takes to make up for it, see how discounts cut margin.
Conditions you can set
The conditions decide who gets the discount and how often. Each one narrows the offer, and each narrowing costs some orders:
- Minimum order. A minimum amount or quantity. "$10 off orders of $80 or more" pulls orders toward $80 and raises average order value. Set too high, few buyers reach it.
- Products. Limit the code to products or collections with room in their margin. A code on a product with a 20% margin and 20% off leaves no gross profit at all.
- Customer eligibility. All customers, a segment such as first-time buyers, named customers, or one country or market. A narrow audience means fewer orders that would have happened anyway, and fewer orders in total.
- Usage limits. A cap on total uses, one use per customer, or both. A cap stops the cost at a known number; it also stops the offer for buyers who arrive late.
- Start and end dates. An end date limits how long a leaked code can be used. Give the time zone when you announce it ("ends Sunday 11:59 PM Pacific") so buyers in other places know when it stops.
"Once per customer" is not the same as a single-use code. A shared code limited to once per customer can still be used once by every stranger who finds it.
Combining discounts
Each discount has a rule for what it combines with: other product discounts, order discounts and shipping discounts. If you allow two to combine, check the total they give together, not each one alone.
Take a cart of two $40 items ($48 of landed cost) with a 20% product code and a $10 order code, both allowed to combine. The 20% comes off first: $80 becomes $64, then $10 off makes $54. Gross profit is $54 − $48 = $6, against $32 at full price. If a free shipping offer also combines and the label costs $6, the order leaves nothing. The order in which discounts are applied changes the total: $10 off first and then 20% off gives $56, so check how your checkout applies them before you allow both.
Codes, automatic discounts and leakage
An automatic discount applies itself when the cart qualifies; nobody types anything. A code applies only when the buyer enters it. The difference decides who gets the discount:
- Automatic. Every qualifying cart gets it, including buyers who would have paid full price. Nobody leaves checkout to look for a code, and nothing can leak.
- Code. Only buyers who have the code get it, so you can send it to one audience, such as an email list or an abandoned cart email, and count its uses by channel. A code box at checkout also tells every buyer that codes exist, and some leave to search for one.
A public code leaks. Buyers post it on coupon and deal sites, and browser extensions try known codes at checkout. The people who use a leaked code were already at checkout with goods in the cart, so the discount goes almost entirely on orders that would have happened anyway.
The answer is a single-use code: a different code for each recipient, valid for one order. If it is posted, one person can use it, once. Add an end date and, where you can, an eligibility rule (first order only, or a named customer), so that a code passed on to someone else does not apply. Single-use codes cost more work: you generate a list, send each code to one person, and support buyers whose code was already used.
How to measure a discount code
The number a discount report gives is redemptions: how many orders used the code. A redemption is not the same as an order the code brought in. Some buyers would have bought at full price and used the code because they had it. The code made money only on the orders that would not have happened without it.
For a code of 20% off the $40 product, each redemption gives away $8. On an order that would have happened anyway, that $8 is lost. On a new order, the buyer pays $32 and you keep $8 of gross profit you would not otherwise have had. Per 100 redemptions:
| Orders that would have happened anyway | New orders | Discount lost on orders that would have happened | Gross profit from new orders | Change in gross profit |
|---|---|---|---|---|
| 0 | 100 | $0 | $800 | +$800 |
| 50 | 50 | $400 | $400 | $0 |
| 70 | 30 | $560 | $240 | −$320 |
| 90 | 10 | $720 | $80 | −$640 |
The share of redemptions that must be new orders to break even is the discount per unit ÷ gross profit per unit at full price: $8 ÷ $16 = 50% here. At 10% off it is $4 ÷ $16 = 25%. A deeper discount needs more of its orders to be new.
To find the new orders, hold out a group. Send the code to 9,000 people on your list and nothing to 1,000 chosen at random. If the 9,000 place 270 orders (3.0%) and the 1,000 place 20 (2.0%), the 9,000 would have placed about 180 orders without the code. The code added 270 − 180 = 90 orders, a third of its 270 redemptions, below the 50% this code needs. Twenty orders is a small number, and a few orders either way moves the result, so repeat the test before you rely on it.
In Tanqory, the discounts list shows how often each discount was used, the average discount and the total discount given, and you can export your discounts as a CSV file; compare times used with your holdout group to find the orders a code added.
Read the code's orders beside conversion rate and full-price sales in the same weeks. If full-price orders fell while the code ran, buyers moved to the discount rather than arriving because of it. For a first-order code, compare how often those buyers return with buyers who paid full price, since a customer who came for a discount may wait for the next one.
Refunds on a discounted order
Refund what the buyer paid for the item, not its list price. An item bought at 20% off a $40 price is refunded at $32.
An order discount is spread across the items, in proportion to their prices, before you work out a partial refund. Take two $40 items with "$10 off orders of $80 or more": the buyer paid $70, and each item carries $5 of the discount. When one item comes back, the order is $40 and no longer meets the minimum. There are two fair rules:
| Rule | Refund for the returned item | What the kept item cost the buyer |
|---|---|---|
| Keep the discount: refund what was paid for the item | $35 | $35 |
| Take back the discount the kept item no longer qualifies for | $30 | $40 |
Choose one, write it in your return policy and use it every time. The same question comes up with buy X get Y, when the buyer returns the item that earned the discount and keeps the discounted one.
Free shipping has nothing to refund, because the buyer paid nothing for it. The label you paid stays your cost, and a return label adds to it. When you measure a code, subtract its refunded orders: a code whose orders come back costs the discount, both labels and the handling.
Questions
What is the difference between a discount code and an automatic discount?
A discount code applies only when the buyer types it at checkout. An automatic discount applies itself to every cart that meets its conditions. Codes let you target one audience and count uses by channel, but they can leak; automatic discounts cannot leak, but they also go to buyers who would have paid full price.
Can a customer use two discount codes on one order?
Only if both discounts are set to combine with each other. Each discount says whether it combines with product, order and shipping discounts. Before you allow it, add up what the two give together on a typical cart and check that some gross profit is left.
How do I stop my discount code from appearing on coupon sites?
You cannot stop people from posting a shared code. Use single-use codes, one per recipient and valid for one order, so a posted code works only once. Add an end date and an eligibility rule such as first order only, so that a code passed on to someone else does not apply.
How do I know if a discount code worked?
Count the orders it added, not how many times it was used. Send the code to part of your list and hold back a random group; the difference in orders between the two groups is what the code added. Then check that those new orders brought more gross profit than the discount cost on the orders that would have happened anyway.
What happens to the discount when a customer returns part of an order?
Refund what the buyer paid for the returned item, with any order discount spread across the items by price. If the return takes the order below the code's minimum, you either keep the discount or take back the part the kept items no longer qualify for. Pick one rule and state it in your return policy.