Editorial illustration of overlapping cohort retention curves on cream paper with a single orange ribbon highlighted.
The Ecom Bunny

The discount paradox: when your welcome code is silently killing LTV

Two years of cohort data across seven DTC brands shows that customers acquired with a welcome-code have a 31% lower 12-month LTV than full-price acquisitions — and the gap widens.

9 min read

Every welcome popup says the same thing. “Get 15% off your first order.” The popup almost always lifts conversion. The follow-up question almost never gets asked: what kind of customer did we just buy?

31%
LTV gap vs. full-price
2 yr
Cohort window analyzed
7
DTC brands in study

I pulled orders, customers, and discount_codes tables from seven Shopify stores I have long-term read access to. Across roughly 480k customers, I tagged every acquisition by whether the first order used a welcome-style code. Then I let them age for 24 months and looked at repeat purchase rate, average order value, and contribution margin per cohort.

The numbers nobody wants to print

Discount-acquired customers convert faster (good), churn faster (bad), and — the part that surprised me — settle into a structurally lower AOV that persists for the entire window. They don’t “graduate” to full-price behavior over time. They were a different customer from the first order.

We’re not discounting the product. We’re discounting the customer relationship.

The Ecom Bunny

Why the popup feels like it’s working

Because, statistically, it is — for the wrong metric. A welcome popup will reliably lift first-order conversion by 8–14% in my sample. That’s real revenue this quarter. The cost shows up two quarters later, when the cohort hasn’t come back, and it’s mixed in with seasonal noise where nobody can isolate it.

The mis-attribution that makes it worse

Most attribution tools credit the popup’s acquisition source with the first-order revenue and then go quiet. The repeat behavior — or lack of it — lands in a different report, owned by a different team, evaluated against a different KPI. The popup looks like a win in the acquisition dashboard forever.

What to do instead

The cleanest fix I’ve watched work is a value-led trigger: replace the flat percentage with content (a sizing guide, a quiz result, a product-match) and gate the email capture on engagement rather than intent. Same email list growth, very different downstream customer.