Customer retention in ecommerce: when they only buy on sale
Retention in ecommerce is whether a first buyer becomes a second buyer at a contribution you can defend. It is not an email template. It is not a points programme. It is not a definition of the word “retention.”
The symptom operators actually feel is narrower: customers only buy on sale. That can be true. It can also be a story you tell because sale weeks are the only weeks the dashboard looks alive. Fashion and beauty make different versions of the same problem. Beauty has a replenishment clock. Fashion often has to earn an entirely different second order.
This piece covers why the second purchase matters more than first-order revenue, how sale-only behaviour shows up, and why first products and channels decide who repeats. The missing part is which of your first SKUs and channels create repeaters, and whether the discount was incremental.
Why the second purchase matters more than first-order revenue
First-order revenue is easy to buy. You can discount /products/linen-shirt, raise ROAS on a tile, and call it a customer. The P&L cares whether that person buys again without the same tax, and whether the first order even contributed.
A second order does three jobs:
- it spreads CAC across more contribution
- it tells you the first product was a relationship, not a transaction
- it is usually cheaper to obtain than another cold click, if you did not train a discount reflex
“Good retention” is not a universal repeat-purchase rate. A beauty hero SKU with a real empty date should repeat more often than a fashion occasion piece. Comparing those two store-level percentages is how brands conclude they are “bad at loyalty” when they are looking at assortment.
Start with two honest rates, even in a simple export:
- second-order rate within a window you can defend (90 days is more honest than “ever” for many brands)
- contribution on order two vs order one (if order two only happens at 30% off, you did not retain a customer. You retained a deal)
If you only watch revenue from returning customers in the ESP, you will mix true repeaters with people who came back because you mailed 25% off to the whole file.
Beauty replenishment has a clock
Many beauty products get used up. That is a physical fact, not a CRM strategy.
A moisturiser, cleanser or serum bought on /products/vitamin-c-serum has a plausible repurchase window. If you know roughly how many weeks the unit lasts in real use, you can see whether you are reminding, discounting too early, or missing the window entirely.
Replenishment does not mean:
- every beauty buyer wants a subscription
- kits and gift-with-purchase will refill
- colour cosmetics behave like skincare
Shade and “I wanted to try it once” behaviour break the clock. A foundation that does not match will not replenish no matter how good the flow is. A kit that never leads to the hero SKU is a first-order trick.
If you sell a daily driver, measure days-to-second-order on that SKU before you buy another retention app. If the second order is a different, discounted novelty, you do not have replenishment. You have a catalogue that can still acquire.
When the second beauty purchase “needs” another discount, ask whether you are beating a genuine pause (they still have product) or paying them to stay in a habit you created. Pulling week-ten demand into week eight with 20% off can look like retention in the month and like training in the quarter.
Fashion: getting a second order at all
Fashion retention is often a second-product problem. Nobody uses up a coat on a 60-day cycle.
The second order has to be a reason: a new drop they trust, a fit they now believe, a category they did not try, a replenishment of a basic you actually stock. Size and returns sit on both orders. A customer who returned the first dress is not “in the retention programme.” They are in a fit conversation.
Useful splits:
- second-order rate after a full-price first order vs a sale first order
- second-order rate after a basic (the white shirt, the everyday jean) vs a drop piece
- time-to-second-order by season, not by a SaaS-shaped 30-day window
If the only fashion customers who return are the ones who arrived on /collections/ during 30% off, you may not have a retention problem in the email sense. You may have a price architecture and first-product problem.
Loyalty points do not fix that. They can decorate it. A useful route is to prioritise first products that historically create a second full-price order, and to stop spending as if every first order were that product.
Customers only buy on sale
This is the section the headline promised.
Sale-only buying is a pattern you can see in orders. It is not a personality flaw in the customer. Typical shapes:
You trained the file. If the reliable email is a discount, the reliable visit is a discount visit. People who would have bought in week three wait until the code lands in week four. Revenue moves. Contribution and incrementality get worse.
You acquired discounters. Cold paid on a first-order 15–20% off selects for people who respond to 15–20% off. Their second order, if it exists, waits for the next code. Retention metrics then look like a Klaviyo problem. The leak was the first offer.
Your full-price reason is weak. In fashion, that can be drop fatigue, fit doubt, or a catalogue that only feels exciting on markdown. In beauty, that can be a hero SKU that is never in stock at full price, or a kit culture that makes the “real” price feel like a fiction.
The sale is doing merchandising. End-of-line, size curves and seasonal clearance are real. Some “they only buy on sale” volume is inventory work you should not moralise. Separate clearance SKUs from hero SKUs before you conclude the brand is addicted.
How to tell the difference without a full method. Look at repeat rate and contribution for customers whose first order was full price vs offer. Then look at whether sale weeks pull forward orders that would have happened (same customers, earlier) or add customers who never appear in a full-price month.
If full-price first-order customers still only return on sale, you have a second-order offer problem. If only sale-acquired customers return, you have an acquisition filter problem. Those are different builds.
Do not “fix retention” by mailing the sale earlier. That automates the habit. Test a non-discount reason on a segment that has already bought the hero SKU. Replenishment timing. Fit. A new shade. A restock. Measure whether anyone buys. That is a testable case, not a brand lecture.
First products that create repeaters
The first SKU is a filter.
In beauty, the daily driver and the “try a kit” bundle create different next orders. In fashion, the entry tee and the occasion dress create different next orders. Store-level retention averages them into one disappointment.
Even a crude export can show:
- which
/products/URLs appear most often as a customer’s first item - the second-order rate for those URLs
- whether that second order is discounted
You will usually find a short list that creates repeaters and a long tail that does not. Acquisition should not treat them as equal. Media that scales the tail will scale one-time revenue and a retention complaint.
This is also where channel belongs. Email-acquired and branded-search customers often look “loyal” because they were already closer. Cold paid on a sale SKU will look disloyal. Mixing them into one retention rate is how leadership teams buy a loyalty app.
Retention is not an email template
Flows matter. Abandoned /cart, post-purchase, replenishment windows, win-back. They are real surfaces. They are not the definition of retention.
A well-written flow on top of a first product that never repeats is automation of a leak. A points programme on top of a file that only moves when 30% off is in the subject line is a second discount currency.
Order of operations:
- measure second-order rate and contribution by first product and first channel
- decide which first products you are willing to keep buying traffic against
- then improve the messages and the site experience that sit on the path to order two
Step 3 can include email, SMS, on-site merchandising, subscriptions where they earn their place, and service that makes fit or shade less of a gamble. Step 3 cannot rescue step 1 if you skip it.
Churn-style SaaS language (“reduce churn 10%”) is a poor fit here. Ecommerce customers do not churn from a seat. They stop having a reason at full price. Give them a reason, or stop paying as if they will invent one.
Discount incremental vs pulling demand forward
A sale can create a customer you would not have had. A sale can also borrow next month’s order at a worse margin.
Incrementality on retention looks like:
- did this code create a second order that would not have happened in the window?
- or did it move a replenishment or a planned drop purchase earlier, cheaper?
Beauty replenishment is where pulling-forward is easiest to see: the bottle was going to empty anyway. Fashion drops are where it is easiest to hide: they might not have bought the next style at full price, so the discount looks “incremental” and still trains the file.
You will not settle this from a blog rule. You need a holdout, a pause, or at least a comparison of customers who did not get the code. The full test design is consulting work. The literacy point is: repeat revenue on a discount is not proof of retention.
What's missing
Retention is a second-order and contribution problem. “They only buy on sale” has a few distinct causes. First products matter more than a flow. This page cannot tell you which of your SKUs and channels create repeaters, or whether last month’s sale was incremental. That is their orders, not a blog rule.
Related: What is a good CAC, LTV:CAC, and payback period?
If you want that investigation, Explore an opportunity with TwoKai.