Stefan RiemeyerGoogle Ads Freelancer

Discount promotions: what is left after ad spend

A 20% discount moves break-even ROAS and the extra volume you need a long way. With a calculation table, a full P&L and a check for pull-forward.

Stefan Riemeyer/Updated 1 November 2026/7 min read

Without promotion 1,000 orders, ROAS 5 €32,000 With a 20% discount 2,100 orders, ROAS 6 €18,000 −€14,000 Worked example: margin after advertising and the dip

Here a 20% discount costs half the contribution margin

In my assessment, discount promotions pay off less often than the promotional revenue suggests, because the price falls while costs stay put. Cost of goods and shipping labels do not go down with it. The discount therefore comes almost entirely out of contribution margin, and that is how I calculate here.

A worked example with round, invented figures: a product costs €100 net, variable costs are €60, which leaves €40. With a 20% discount, the price is €80 and contribution margin €20. Revenue per order falls by a fifth, contribution margin by half. Break-even ROAS, that is price divided by contribution margin, jumps from 2.5 to 4.0. A campaign with ROAS 3 earns €6.67 per order without the discount and loses just as much with it, even though the account shows the same figure.

All values here are net. Platforms often receive the gross value including VAT, sometimes including shipping too. Check this before comparing, because account ROAS and break-even have to be on the same basis.

With ad spend, twice the volume becomes three times

The usual calculation goes: half the contribution margin, so twice the volume. That only holds for orders that cost nothing in advertising. On the advertised order, ad spend eats into both sides, and the gap widens:

Required volume factor = contribution margin after advertising without promotion ÷ contribution margin after advertising with promotion

In the example, ROAS 5 without a promotion means €20 of ad spend per order, leaving €20. Suppose the discount lifts the conversion rate far enough for ROAS to rise to 6: the order then costs €13.33 in advertising, and of the €20, €6.67 remains. The factor is 3. If ROAS stays at 5 despite the discount, €4 per order remains and the factor is 5. You only get back to a factor of 2 at ROAS 8.

Without promotion: €100, ROAS 5 €60 €20 €20 Variable costs Advertising Left 20% discount: €80, ROAS 6 €60 13.33 €6.67 €20 ÷ €6.67 = three times the volume
Worked example per order: variable costs stay the same, and what is left shrinks to a third.

This is how a 20% discount moves the threshold depending on margin, in each case at a net price of €100:

Margin without discount Break-even ROAS without discount Break-even ROAS with discount Volume factor without advertising Volume factor with advertising (ROAS 5, promotion 6)
30% 3.33 8.0 3.0 none, every order loses money
40% 2.5 4.0 2.0 3.0
50% 2.0 2.67 1.67 1.8
60% 1.67 2.0 1.5 1.5

The table transfers quickly to your own range: use margin tiers instead of the average margin. At these ROAS values, a flat discount cannot be carried by volume in a product group with a 30% margin if that group continues to be advertised. Other discount depths are covered in Black Week preparation.

The promotion as a whole pays three bills

Break-even ROAS only tells you whether the ad-funded order covers its costs. Only the full calculation shows whether the promotion pays off, because a flat discount costs margin on every order, including those that would have come anyway. Add to that the ad spend on the additional orders and the dip that follows.

Suppose a shop would get 1,000 orders in the promotion week without a discount, 400 of them through advertising at ROAS 5. That is €40,000 of contribution margin minus €8,000 of advertising. With a 20% discount, it doubles the ad budget to €16,000, ROAS rises to 6, advertising brings 1,200 orders, and orders without advertising rise from 600 to 900. In the following weeks, 200 orders are missing that would otherwise have come without advertising and at full price.

Item Effect Remaining
Without promotion, after advertising €32,000
Discount on 1,000 orders that came anyway (€20 each) −€20,000 €12,000
1,100 additional orders (€20 each) +€22,000 €34,000
Additional ad spend −€8,000 €26,000
Dip: 200 pulled-forward orders missing (€40 each) −€8,000 €18,000

Orders have more than doubled, revenue for the week is €168,000 instead of €100,000, ROAS has risen, and the shop is €14,000 worse off. In the revenue report, this promotion looks like a success. The volume needed can be calculated in advance:

Required orders = (result without promotion + ad spend for the promotion + loss in the aftermath) ÷ contribution margin per order with discount

Here that is (32,000 + 16,000 + 8,000) ÷ 20 = 2,800 orders, assuming a dip of the same size. Put this number next to what you honestly expect your promotion to achieve before you set the discount.

Pull-forward only shows in the aftermath and by customer group

You do not see the dip in the promotion week. For purchases brought forward, the authors of field experiments with a mail-order retailer expect this pattern and find evidence for it: first more demand, then a decline, later a return to the original level. There, first-time customers bought more later on after deeper discounts, established customers bought less, and short-term metrics overstated the gain among established customers. The effect was still measurable up to two years later.

These were catalogue buyers of durable goods in the US, so I take the direction from it, not the magnitude. The same applies to the analysis of all promotions run by the US drugstore chain CVS in 2003: around 45% of the gross lift was genuinely incremental, and more than half of the promotions were not profitable. I know of no robust figures for online shops in the DACH region (Germany, Austria and Switzerland), so the only option is your own check:

  1. Set the window. Evaluate promotion plus aftermath, over at least one typical purchase interval of your customers. After Black Week, Christmas trading easily masks a dip, so a comparison with the previous year without a discount, or with a different one, counts for more than a look at December.
  2. Split the shop data. Orders and contribution margin after discount, separately for existing and new customers, taken from the shop system rather than the ad account.
  3. Compare existing customers with a control group. The cleanest option is a random group that does not receive the promotion code by email. With a public sale price, this remains an approximation. If the group with the code buys more during the promotion and less afterwards, and its contribution margin over the whole window is not higher, you have given margin away.
  4. Track new customers. Compare their repeat purchase rate after six and twelve months with new customers acquired in other months. I would not rely on the finding for first-time customers above: a CRM provider reported in 2016 that Black Friday shoppers had a lower customer value at 64% of its retailers than customers acquired at other times.

If the figure from step 3 is negative, next year I would exclude existing customers from the discount, as far as the offer allows, and check what that means for the campaigns.

What I would settle before the start

I consider the discount itself the most expensive lever, so it is examined first and the account second.

  • Baseline: the same days without a discount, not a normal week. In my assessment, demand without a discount can fall below its normal level during Black Week, in which case the baseline figure is smaller.
  • Range: product groups without an achievable factor in the table stay out, or run in the promotion without advertising.
  • Target in the account: the target ROAS has to match the new break-even, otherwise the bid strategy steers towards the new loss by the old yardstick. A seasonality adjustment does not solve this, because it concerns the expected conversion rate. According to Google, it is intended for short events of 1 to 7 days and only worth using when you expect major changes in conversion rate, because Smart Bidding already takes seasonal effects into account.
  • Price display: if you announce a general price reduction to consumers in Germany, you must state the lowest total price of the 30 days before the reduction. If you discounted shortly before, you are advertising from a lower starting point.

Old stock only counts at its residual value

For old stock, the €60 is wrong. Goods that would otherwise be written off are calculated at their residual value, and then even a deep discount at a low ROAS can be the better deal. With tight capacity the opposite applies: if you cannot deliver or source the extra volume, the required factor is out of reach, and every discount gives margin away.

A new customer target changes the assessment if repeat purchasing is proven. If the promotion in the example brings 500 additional new customers, €28 of later contribution margin per customer closes the gap of €14,000. You can check this figure against your own customer history and compare it with what a new customer may cost. Without that evidence, the new customer argument remains a hope.

All amounts here are assumptions. Only your previous year's data, or a test on a small part of the range, can tell you whether your promotion achieves the volume it needs.

Sources

  1. ROAS Calculator: Break-Even ROAS & Target ROAS for Ecommerce, Admetrics
  2. Discount Profit Calculator: What a Discount Really Keeps, Admetrics
  3. Practice Prize Report: Quantifying and Improving Promotion Effectiveness at CVS, Marketing Science
  4. Long-Run Effects of Promotion Depth on New versus Established Customers, Marketing Science
  5. How to unlock the true value of Black Friday shoppers, InternetRetailing
  6. About seasonality adjustments, Google Ads Help
  7. Section 11 PAngV, additional price disclosure requirement for price reductions, German Federal Ministry of Justice (in German)
Stefan Riemeyer

Stefan RiemeyerIndependent Google Ads specialist for e-commerce in the DACH region. I work on every account I manage myself.

Request a free audit

Read next