You are about to add a discount code for the next order to your post-purchase flow, because too many new customers never make a second purchase after their first purchase. The code will get used, and the dashboard will look good. Whether it actually created any second orders is a different question, and most stores never check.
Key takeaways
-
A second order discount pays off only if it creates second purchases that would not have happened without it. Redemptions tell you nothing about that.
-
Test it with a hold-out group: split first-time buyers at random, give only one half the code, and compare second-order rate and profit per buyer after a fixed window.
-
Many redemptions come from customers who were going to reorder anyway. On those orders the discount is pure cost.
-
Timing, the right next product and a sample often do the same job without cutting price.
-
If you keep a discount, send it only to first-time buyers who are already late for their second order, not to everyone.
What is a second order discount?
A second order discount is a targeted offer sent after a customer's first purchase to bring them back for a second one. It usually arrives as a code in the post-purchase emails, often with a time limit and sometimes a minimum order threshold. Stores also use them as promotional offers, volume offers on a larger pack or loyalty incentives, and some ask for a few preferences with the offer to fill in the customer profile.
The aim is to bridge the gap between the first and second purchase, the hardest step in the customer lifecycle. Once someone has bought twice, a habit and some brand trust start to form, and later orders come more easily. A customer who has made a second purchase is far more likely to make a third, and customers who come back tend to spend more over time than one-time buyers.
Does a second order discount actually work?
Sometimes. It works when the group that gets the code places noticeably more second orders than an identical group that does not, and the extra orders earn more than the discount costs across all the orders it touched.
The catch is that you cannot see this from redemptions. A customer who uses the code on day 20 might have reordered on day 20 at full price. For replenishable products such as coffee, supplements, pet food or skincare, a good share of first-time buyers come back on their own once the product runs out. A blanket code pays all of these repeat buyers to do what they were already going to do.
Customer acquisition already cost you money on the first order, and keeping an existing customer usually costs less than finding a new one. That is why the second order matters: repeat revenue is what pays back the first. But a code that only discounts orders you would have got anyway means losing money twice, and it does nothing for customer lifetime value. Customers also respond better to a timely offer: a modest one that arrives when the product is running out does more than a large one sent the day after delivery. The only way to know which case you are in is a test on your own customers.
Why redemptions of discount codes are the wrong number
Redemptions count everyone who used the code. Incremental second orders count only the customers the code actually moved. The difference is the actual cost: the part you paid for and got nothing.
Most brands judge a code on total revenue from discounted orders, which looks healthy even when the code created no new behavior at all. What you need instead is a comparison between two groups of first-time buyers who differ only in whether they got the code.
How do I test a second order discount without losing money?
Split new first-time buyers at random into an offer group and a hold-out group, send both the same follow-up messages except for the code, and compare second-order rate and profit per buyer after a fixed window.
Build the test cohort. Take all first-time customers acquired in a set period, for example one month. Assign each customer to a group at random, by customer id, as soon as the order confirmation goes out.
Keep everything else identical. Same emails, same send days, same product recommendations. The only difference is the code. Start the sequence for both groups within a few days of the first order, while the purchase is fresh.
Pick the window from your own data. Use your typical time from first to second order, plus a margin. If most repeat customers reorder coffee within five or six weeks, a 60-day window is reasonable. The replenishment email timing guide shows how to find that gap per product.
Compare per buyer, not per order. For each group, measure these key metrics:
-
Repeat purchase rate: the share of first-time buyers who placed a second purchase in the window.
-
Contribution margin per first-time buyer: gross profit after the discount.
-
How many second orders were placed with the code and how many at full price.
Worked example: 150 redemptions, 20 extra second orders
An illustration with round numbers, not a benchmark.
A store acquires 1,000 first-time buyers in a month and splits them at random: 500 get a 10% code for their second order, 500 get the same emails without it. The window is 60 days.
| Offer group (500) | Hold-out group (500) | |
|---|---|---|
| Second orders placed | 190 | 170 |
| Second-order rate | 38% | 34% |
| Second orders using the code | 150 | 0 |
| Second orders at full price | 40 | 170 |
The report on the code says 150 redemptions. The hold-out group says 170 of these customers reorder without any code, so without it the offer group would have produced about 170 second orders as well. The code created about 20 extra second orders, not 150. Roughly 130 of the redemptions went to customers who would have come back anyway.
Now the profit, with an average order of $50 and a 40% gross margin, so $20 of gross profit per order before any discount. The 10% code costs $5 on each order that uses it.
| Offer group | Hold-out group | |
|---|---|---|
| Gross profit before discount (orders × $20) | $3,800 | $3,400 |
| Discount cost (150 × $5) | $750 | $0 |
| Gross profit after discount | $3,050 | $3,400 |
| Per first-time buyer | $6.10 | $6.80 |
The 20 extra orders brought in $400 of gross profit. The code cost $750, because it was paid on all 150 redeemed orders, not just on the 20 it created. The offer group placed more orders and made $350 less. At 150 redemptions, the code would need about 38 extra second orders ($750 divided by $20) just to break even.
One more check: a gap of 4 points on 500 customers per group is small enough that chance alone could produce it. Before you act on a result this close, run the test for a second month, or read it as "no clear effect".

Discount dependence: how codes erode customer lifetime value
Discount dependence is when a group of customers mostly buys with a code and rarely at full price. A standing second order discount can create it, because it can train customers from their first week that waiting pays. A first-order discount can lift conversion on the first sale, but deep discounts on the first sale make dependence more likely.
You can check for it in an order export:
-
For each customer, compute the share of their orders that carried a discount.
-
Group customers by that share, for example none, some, most.
-
Compare these customer cohorts on repeat purchase rate and whether their later orders ever happen at full price.
The warning sign is a group that used a code on the first and second order and only comes back for a third purchase when there is a sale or a new code. If most of your loyal customers buy at full price, a small targeted incentive is unlikely to hurt. If a large part of your repeat business already runs on codes, adding another one makes it worse.
What can encourage repeat purchases instead of a discount?
Timing and relevance usually do more than price. Often the customer was simply not reminded at the right moment, or did not know what to buy next.
-
Time the reminder to the product. Send the reorder message just before the typical customer runs out, based on the median days from first to second order for that product.
-
Suggest complementary products. Recommend the products that customers who started with the same item most often bought second, so the next purchase is an obvious one. The products that drive repeat purchases article shows how to find those pairs.
-
Add a sample. A small sample of the likely next product in the first parcel costs less than a discount on every reorder and builds brand loyalty without cutting price.
-
Offer free shipping on the refill. If shipping cost is a known reason for not reordering, free shipping removes that specific reason and can carry more perceived value than a small discount.
-
Help them use the product. A short usage email after delivery is part of a good customer experience and makes sure the first product actually gets used up, which is what makes a reorder necessary.
These shape the post-purchase experience and belong in the post-purchase email flow for every new buyer. Emails built around what the customer actually bought tend to earn more than generic ones. A discount, if any, comes later and only for some.
Who should get a second order discount, and who should not?
Only first-time buyers who are already late for their second order. Customers who are on track, or who already reordered at full price, should not get one.
In replenishable categories most second purchases happen within the first few months, and the chance of one falls the longer a customer waits. Define "late" from your own customer data: for each first product, take the typical number of days to a second order and call a buyer late once they are well past it with no reorder. The lapsed customer definition article covers how to set that threshold per product.
Candidates for the code:
-
First-time buyers past their product's typical reorder window with no second order.
-
One-time buyers whose first product rarely leads to a second order on its own.
Keep the code away from:
-
Existing customers who already placed a second order at full price.
-
Customers still inside their normal reorder window.
-
Customers who mostly buy with codes already, or who open multiple accounts to reuse a welcome code.
Even within the late group, keep a hold-out. An RFM segmentation helps separate customers who are slipping from customers who were never going to return.
How do I measure the second order from my own export?
You need an order export with order id, customer id or email, order date, discount code or discount amount, and order total. Product id helps.
-
Sort by customer, then by order date.
-
Tag each customer's initial purchase and, if it exists, their second.
-
Compute the days between first and second order for every repeat customer.
-
For a monthly cohort of first-time buyers, count how many placed a second order within your window and divide by the cohort size. That is your second-order rate.
-
Split the second orders into discounted and full price.
Run this for a few recent cohorts before you change anything. It shows your starting purchase rate across the customer base and how much of it already depends on codes, so the hold-out test has a baseline. If you would rather not build it by hand, Affinsy reads the same export, returns the reorder window for each product, and exports customer lists you can use to build the test cohort.
Next steps
-
Pull your order export and compute the second-order rate for the last three monthly cohorts, split by discounted and full-price second orders.
-
Replace any blanket second order code with timing, the next product and a sample for all new buyers.
-
If you want to keep a discount, restrict it to late first-time buyers and set up a random hold-out before the first send.
-
Judge the discount strategy on second-order rate and profit per first-time buyer, never on redemptions or the revenue impact on discounted orders alone. That is what makes it a retention strategy.
If you would rather have the reorder windows and the lists of first-time buyers who are past them worked out from your own orders, the 48-hour analysis delivers them.
FAQ
How big should a second order discount be?
As small as still changes behavior, and only a hold-out test tells you that. There is no universal optimal discount range. Test two different discounts, percentage discounts or a fixed amount, against the same hold-out. Deep discounts can lower customer lifetime value by attracting buyers who only return for the next deal. Work out how many extra second orders a discount needs to break even at the expected redemptions. If that looks unrealistic, it is too large or too broad.
What discount limits prevent discount abuse?
Tie the code to the reorder window of the first product, give it a short expiry, and make it single use for one customer, which also keeps it out of the hold-out group. A code that never expires, or that anyone can share, stops being a nudge and becomes a standing price cut. If the code can combine with other promotions, check the order in which your platform applies them, or the margin loss compounds.
Should I discount the second order for subscription products?
If your business model is subscription, the better question is when to offer it. A customer who has reordered once at a steady interval is a better subscription candidate than a first-time buyer, and a better place for any price incentive.
Can I use bonus points or a loyalty program instead?
You can. Loyalty program members often reorder more readily, partly because earned points create a sense of ownership, and early access to new products is another option that does not cut price. Offering bonus points has the same problem as a code, though: points paid to customers who would have reordered anyway are still a cost. Test them with a hold-out in exactly the same way, since a loyalty program can improve retention but only a hold-out shows how much of that it caused. A referral program serves a different goal, new customers, and pairs better with first-order offers.