Your Discounts Are Buying ROAS, Not Customers

Discounting raises ROAS while shrinking margin. That is the short answer. The longer answer is why most fashion and D2C brands miss it until it has already reshaped how their customers buy.

Why discounts inflate ROAS

ROAS is a ratio. Lower the price side of that ratio and the number improves, even if the actual number of new customers stays flat. A lower price needs less persuasion to convert, so campaigns running during a sale period will almost always outperform campaigns running at full price on this one metric.

The problem is that ROAS was never designed to tell you whether the sale created new demand or simply made an easier sale to people who already intended to buy. Most dashboards cannot make that distinction on their own. They report the ratio and stop there.

What it costs beyond the obvious margin hit

The immediate cost is visible. Margin per order drops during the promotional window. That part founders usually already track.

The cost that goes unnoticed is behavioral. Every discount cycle teaches a portion of your audience that full price is negotiable if they wait long enough. Over several cycles, this shifts a segment of your customer base from full-price buyers to sale-window buyers. Their lifetime value looks similar in raw revenue, but the margin backing that revenue keeps thinning.

This matters most for brands running frequent or recurring promotional calendars, which is common in fashion and accessories where seasonal and flash sales are close together. The more frequent the cycle, the faster this behavioral shift compounds, and the harder it becomes to run a full-price campaign without a visible drop in response.

There is a second, quieter effect. Once a large enough share of your audience is sale-conditioned, your organic and paid full-price campaigns start looking weaker by comparison, not because the offer changed but because the audience has been trained to wait. Teams sometimes read this as a creative or targeting problem when it is actually a pricing behavior problem building up over months.

The check that actually tells you something

Pull ROAS on discounted campaigns against non-discounted campaigns over the same window. This alone will usually show the discounted campaigns ahead, which is expected and not yet useful.

The number that matters is contribution margin per order, not revenue, compared across both sets. If discounted campaigns win on ROAS but lose on margin per order, the account is optimizing for the wrong number, and scaling it further will scale a margin problem, not a growth one.

A second useful comparison is repeat purchase rate segmented by acquisition channel: customers acquired during a discount period versus customers acquired at full price. If the discount-acquired segment shows meaningfully lower full-price repeat behavior, that is a direct signal of the training effect described above, not just a one-time margin cost.

What this does not mean

This is not an argument against discounting as a tool. Sales can clear inventory, test price elasticity, or bring in a first order from a hesitant buyer. The argument is against running discounts as a default growth lever without tracking whether they create incremental revenue or simply subsidize revenue that would have shown up anyway, at a lower margin.

Brands that use discounting well tend to ring-fence it. They run it with a clear purpose, a defined end date, and a review of contribution margin afterward, rather than letting it become the default state of the ad account.

FAQ

Does a high ROAS on a sale campaign mean it's working?

Not necessarily. It often means the discount lowered the bar for conversion, not that new demand was created. Check contribution margin per order before calling it a win.

How do you separate real lift from discount-driven ROAS?

Compare contribution margin per order across discounted and non-discounted campaigns in the same period, and check repeat purchase behavior of customers acquired in each.

Is discounting always bad for a D2C brand?

No. The risk is running it as a default lever without measuring whether it creates incremental revenue or just cheaper versions of sales you would have gotten anyway.