← All postsRetention & LTV

Is your welcome discount building customers or bargain hunters?

Welcome codes lift first orders, but research and cohort data show the cost lands 60 to 90 days later. How to test yours, what it really costs, and five alternatives that keep margin.

Is your welcome discount building customers or bargain hunters?
The short version
  • A welcome code is one of the few marketing decisions that changes who becomes your customer, not just how many. It attracts people who were waiting for a deal, and that shows up later in repeat rate.
  • Academic research on customer acquisition found that deeper acquisition discounts produce customers with lower repeat rates. In one dataset, a 35% acquisition discount produced customers worth about half as much as those acquired at full price.
  • The check takes one export: split new customers by whether their first order used a code, then compare 60 and 90-day repeat rate, how often repeat orders also use a code, and 90-day contribution per customer.
  • Codes also leak. Browser extensions and coupon sites spread them to people who were already going to buy, including existing customers. Measure leakage before you judge the offer.
  • The alternatives that usually protect margin best are a gift with purchase, free shipping on the first order, or a discount on the second order. Test them on contribution per visitor over 60 to 90 days, not on pop-up conversion rate.
In this article
  1. What the research says about acquisition discounts
  2. Four ways a welcome code costs more than the discount
  3. The check: does your code build customers or bargain hunters?
  4. When a welcome discount is the right call
  5. Why codes get more expensive every year
  6. Five alternatives worth testing
  7. How to run the test properly
  8. The bigger point: your offer is a filter
  9. Questions founders ask

The pop-up went live on a Monday: "Get 15% off your first order." By Friday, 70% of first orders were using the code, conversion rate on the homepage was up, and the email list was growing faster than it had in a year. The founder sent a screenshot to her co-founder with one word: "Working."

Ninety days later, a different picture. The customers who had used the code were coming back at roughly half the rate of the ones who had paid full price. When they did come back, most of them waited for the next sale. The code had worked brilliantly at the one thing it was measured on. It had also changed the kind of customer the brand was acquiring, and that cost did not show up on any dashboard until a full quarter had passed.

That is the problem with welcome discounts. They are judged on day one and paid for on day ninety.

What the research says about acquisition discounts

This is not just an agency hunch. Marketing researchers have studied it directly. A well-known study by Michael Lewis, published in the Journal of Marketing Research in 2006, looked at customer-level data from a newspaper and an online grocer and asked a simple question: do customers acquired with promotions behave differently?

They do. In both businesses, the deeper the acquisition discount, the lower the repeat-buying rate and the lower the long-term value of the customers it brought in. In one of the datasets, customers acquired with a 35% discount were worth roughly half as much over time as customers acquired without one.

~0.5xLong-term value of customers acquired with a 35% discount, vs full price, in one datasetLewis, Journal of Marketing Research, 2006
60 to 90Days before the cost of a welcome code shows up in your repeat rate
1 exportShopify orders with discount codes is all the analysis needs

The explanation is intuitive once you see it. A discount does two things at once. It persuades some people who would not otherwise have bought. It also selects for people who are more motivated by price than by the product. The first effect lifts your conversion rate. The second quietly changes the mix of your customer base.

Four ways a welcome code costs more than the discount

When founders think about the cost of a code, they think about the margin given away on the first order. That is the smallest of the four costs.

The full cost of a welcome code
CostWhat happensWhere it shows up
Margin on the first order15% off a $60 order costs $9, on every first order, including the ones that would have happened anywayContribution margin per first order
Customer selectionThe code attracts more deal-seekers, who repeat less and wait for sales60 and 90-day repeat rate by cohort
Reference priceThe customer's first price was $51, so $60 now feels expensiveShare of repeat orders that also use a code
Code leakageCoupon sites, browser extensions and group chats spread the code to people already at checkout, including existing customersCode usage by returning customers; code redemptions that never came from your pop-up

Leakage deserves special attention because it is often large and almost never measured. A shared code like WELCOME15 gets picked up by coupon aggregators within days. Browser extensions then automatically try it at checkout for anyone who has them installed, including loyal customers placing their fifth order. Every one of those redemptions is pure margin loss: these people were already buying.

The check: does your code build customers or bargain hunters?

You can answer this with the data you already have. Here is the method.

  1. Pick a cohort. Take every new customer from a three to six month period that ended at least 90 days ago, so everyone has had time to come back.
  2. Split them in two. Group A: first order used a discount code. Group B: first order at full price. If you run several codes, keep the welcome code separate from influencer and sale codes.
  3. Measure four things for each group: repeat rate at 60 and 90 days, the share of repeat orders that also used a code, average order value on repeat orders, and 90-day contribution per customer after product cost, shipping, fees, discounts and returns.
  4. Check the mix. Make sure both groups bought similar products first. If code users mostly bought a cheaper entry product, part of the gap is the product, not the code. Our guide to customer value by first product shows how to control for this.

Here is what the result looked like for the brand from the opening. It is an illustrative composite, but this shape is very common.

Full-price customers kept coming back. Code customers flattened out.

Cumulative share of new customers who placed a second order, by days since first order (illustrative skincare brand)

First order at full priceFirst order with 15% code0%10%20%30%40%37%11%19%7%Day 30Day 60Day 90Day 180

Illustrative composite based on patterns we see in DTC cohorts. Both groups bought similar entry products.

Full-price customers kept coming back. Code customers flattened out. Cumulative share of new customers who placed a second order, by days since first order (illustrative skincare brand)
LabelFirst order at full priceFirst order with 15% code
Day 3011%7%
Day 6021%11%
Day 9028%14%
Day 18037%19%

At day 30, the gap looks small, which is why most brands never notice it. By day 90 it is two to one. By day 180 the full-price cohort has nearly twice the repeat rate, and most of the code cohort's repeat orders landed during sale events.

How to read your own result

  • Similar repeat rates in both groups. Your code is doing its job. It is converting people who behave like everyone else. Keep it, and focus on reducing leakage.
  • Code group repeats less, but at full price when they do. The code is pulling in lighter buyers. Consider a smaller code or a non-price offer.
  • Code group repeats less and mostly with more codes. The code is shaping your customer base around discounts. This is the pattern to fix first, and it is closely tied to discount dependency.

When a welcome discount is the right call

None of this means a welcome code is always wrong. There are situations where it earns its cost, and it is worth being honest about them.

  • Durable or one-time purchases. If your product is a mattress, a blender or a piece of luggage, there is little repeat behaviour to protect. The code's only job is to win the first and probably only sale, and a code that lifts conversion can pay for itself immediately.
  • A brand nobody has heard of yet. With no reviews and no word of mouth, a first-order incentive reduces the risk a stranger is taking. As social proof builds, the code usually becomes less necessary, and that is the moment to test removing it.
  • List building is the real goal. If your email and SMS flows are strong, a subscriber can be worth a lot even before they buy. In that case the offer is paying for a contact, not a sale, and should be judged on revenue per subscriber over 90 days.
  • High-intent paid traffic with a low conversion rate. If you are paying $3 a click and converting at 1%, a small code that moves conversion to 1.4% can lower your acquisition cost by more than the discount costs. Check the repeat rate before making it permanent.

The common thread: the code should be a deliberate tool with a measured job, not a default that every DTC brand copies from every other DTC brand.

Why codes get more expensive every year

Two trends are making shared welcome codes leakier than they were even a few years ago.

First, coupon tools have moved into the checkout itself. Browser extensions automatically search for and test codes on almost every store, and AI shopping assistants increasingly do the same when they help someone buy. A code that was meant for new subscribers ends up being applied by a tool on behalf of someone who never saw your pop-up.

Second, customers have learned the pattern. Many shoppers now know that most DTC brands offer something for an email address, so they sign up with a new address on every order, or abandon the cart and wait for the "you left something behind" email with a better offer. If your abandoned-cart flow includes a discount, you are teaching exactly that behaviour.

The fix for both is the same: unique, single-use codes tied to one email address and to customers with no prior orders, and no automatic discount in the first abandoned-cart email.

Five alternatives worth testing

Removing the welcome offer entirely is rarely the right first move: email capture usually drops. The better move is to change what the offer is. These are the five alternatives we test most often, with the trade-offs.

Welcome offer alternatives compared
OfferTypical cost to youEffect on customer selectionWatch out for
Percentage off first order (10% to 20%)10% to 20% of every first orderPulls in price-motivated buyers; anchors a lower priceLeakage to coupon sites and extensions
Gift with purchaseProduct cost of the gift, often $2 to $5Attracts people interested in the product, not the pricePick a gift that introduces a second product line
Free shipping on first orderYour average shipping cost per orderRemoves the most common checkout objection without lowering priceWorks best when your normal threshold is above the first-order AOV
Discount on the second orderPaid only by customers who come backRewards the behaviour you want: repeatNeeds a good post-purchase email flow to land
Starter kit or sampler at a fair priceLower first-order value, but no discountBrings in triers who explore the rangeNeeds a clear path from kit to full size

The second-order discount is the most underused option on that list. It costs nothing on customers who never come back, and it pushes customers towards the behaviour that actually builds value: the second purchase. It can be sent in the delivery confirmation or a few days after the first order arrives, once the customer has tried the product.

Here is how the five options performed in a 90-day test for the illustrative brand, measured on what really matters: contribution per new customer.

The offer that converted best was not the one that earned most

90-day contribution per new customer by welcome offer (illustrative 4-way split test)

$0$10$20$30$40$24$31$34$3715% off firstorderFree shippingGift withpurchase15% off secondorder

Illustrative. The 15% first-order code had the highest sign-up and first-order conversion rate, and the lowest contribution after 90 days.

The offer that converted best was not the one that earned most. 90-day contribution per new customer by welcome offer (illustrative 4-way split test)
Label90-day contribution per customer
15% off first order$24
Free shipping$31
Gift with purchase$34
15% off second order$37

How to run the test properly

Most welcome-offer tests fail because they are judged on the wrong number. A pop-up with "20% off" will almost always win on sign-ups and first-order conversion. That is not the question.

  1. Split traffic, not time. Use your email platform's form A/B testing to show different offers to different visitors at the same time, rather than running one offer in March and another in April.
  2. Use unique codes for each subscriber, limited to one use and to customers with no previous orders. This removes most leakage and makes the comparison clean.
  3. Decide the success metric before you start: contribution per visitor who saw the form, over 90 days. That captures sign-up rate, conversion rate, order value, discount cost and repeat behaviour in one number.
  4. Wait for the repeat window. Read the first signals at 30 days, make the decision at 90.
Illustrative caseSkincare, about $12K a month in revenue

The 20% welcome code was training discount buyers

What the dashboard said
Most first orders used the 20% code, so the team believed it was working.
What was actually happening
Customers who paid full price on their first order came back at twice the rate of code users over 90 days.Most of the code users' repeat orders arrived during sitewide sales, at a further discount.
Decision
Test Swap the code for a gift with purchase that introduces the second product line, and judge it on 60-day repeat and contribution.

The offer that wins the first order is not always the offer that wins the customer.

You can read the full story in our case study on the welcome code.

The bigger point: your offer is a filter

Every acquisition decision filters who becomes your customer: the channel, the creative, the product in the ad, and the offer. The welcome discount is the one that most brands set once and never revisit, even though it touches almost every first order.

If you only change one thing after reading this, run the cohort split above. It takes an hour, and it tells you whether your welcome offer is building the business or renting it. If you want it done across all your codes, channels and products at once, that is exactly what a Blindspot Snapshot covers.

Questions founders ask

Should a DTC brand offer a welcome discount at all?

Often yes, but as a tested decision, not a default. A welcome offer can lift email capture and first-order conversion meaningfully. Whether it pays depends on what it does to repeat behaviour and margin. Brands with high repeat potential and price-sensitive categories often find a smaller code or a non-price offer performs better over 90 days than a 15% to 20% code.

What is a normal welcome discount percentage?

10% to 15% off the first order is the most common range, with 20% in competitive categories. The right number is the smallest offer that still drives sign-ups, because every extra point of discount is paid on every first order, including the ones that would have happened anyway.

How do I stop discount codes leaking to coupon sites and browser extensions?

Use unique, single-use codes generated per subscriber instead of one shared code, restrict them to customers with no previous orders, and set an expiry. Shopify supports limiting a discount to one use per customer, and most email platforms can generate unique codes for each new subscriber.

Is a gift with purchase better than a percentage discount?

Often, on margin. A gift with a $12 retail value might cost you $3 to $4, while 15% off a $60 order costs $9 every time. It also avoids anchoring the customer on a lower price. The trade-off is that gifts convert slightly less well for very price-driven shoppers, so test both.

How long should a welcome offer test run?

Run the split until each version has enough first orders (at least a few hundred), then wait another 60 to 90 days to read repeat behaviour. Judge the winner on contribution per visitor or per subscriber over that window, not on conversion rate in week one.

Sources

  1. Lewis, M. (2006). Customer Acquisition Promotions and Customer Asset Value. Journal of Marketing Research, 43(2), 195 to 203
  2. Shopify Help Center: Combining discounts
  3. Klaviyo Help Center: Understanding Klaviyo's predictive analytics

Find out where your next dollar should go.

Written report and a founder call. Delivered in 5 to 7 working days.

Start My Snapshot · $297