Knowing what a promotion cost you
Most promotions are judged on the number that flatters them. This article is about computing the number that does not.
The three numbers
| Number | Is | Comes from |
|---|---|---|
| Redemptions | How many orders the promotion touched | The promotion's counter |
| Discount given | What you handed over, in money | The sum of the recorded discounts |
| Incremental revenue | The revenue that would not have happened otherwise | An estimate, always |
Only the first two are facts. The third is the one that decides whether to run it again, and it is an estimate however you compute it — so compute it the same way every time, and be honest that it is one.
Marketing › Promotions shows the first two per promotion, and Marketing › Campaigns aggregates them. Neither can produce the third for you, because the platform does not know what the buyer would have done.
Attributing revenue honestly
Three methods, in ascending order of honesty and effort.
Total revenue of orders that redeemed. The flattering one, and near-useless. A customer who orders €4,000 of hose every month and used a 5 % code this month did not generate €4,000 of incremental revenue. They generated a €200 cost.
Uplift against the same customers' baseline. For each account that redeemed, compare the campaign period against their own preceding twelve-week average, seasonally adjusted where your business is seasonal. Sum the differences. This is workable with the data you already have and is honest enough to make decisions with.
Uplift against a holdout. Exclude a random 10 % of the target segment from the campaign. Compare the two groups over the same period. This is the only method that actually measures causation, it costs you the revenue the holdout might have produced, and it is worth doing once a year on your largest recurring campaign to calibrate how wrong method two is.
Then the arithmetic that matters:
Contribution = (incremental revenue × gross margin %) − discount given
A campaign that produced €80,000 of incremental revenue at 22 % margin and cost €24,000 in discount contributed −€6,400. It looked like a success in every report that stopped at the first number.
The redemptions that cost you most
Split redemptions by who made them, because they are not equal:
| Redeeming account | Verdict |
|---|---|
| New customer, first order | The best outcome. The discount bought a relationship |
| Existing customer, order clearly larger than usual | Working as intended |
| Existing customer, order the same size as usual | Pure cost. They were going to order anyway |
| Contract customer | The leak. See below |
| One account consuming a large share of the budget | Check the per-organization redemption limit |
The third row is usually the largest by count, and it is the one to attack — tighter targeting, higher thresholds, or a segment condition that excludes customers whose ordering pattern is already stable.
Promotions that cannibalise contract margin
The specific version of that leak, and it deserves its own report.
Filter the campaign's redemptions by whether the buyer resolved on a contract price list. If contract customers appear at all, each of those redemptions discounted an already-negotiated price. Multiply the discount given on those orders by nothing at all — there is no upside to net it against, because those customers were not the campaign's audience.
Two fixes, and you need both:
- Retrospective: exclude those price lists from the promotion's scope now.
- Structural: make open and default lists only the default scope for every new promotion, so the decision to include contract customers is one somebody makes on purpose. See Promotions vs. contract prices.
Discount depth against win rate
The most useful long-run report in this area, and it takes a quarter to build: group orders by the total discount percentage they carried, and look at order frequency and average value per band.
Most B2B companies find the curve is flat between about 5 % and 15 % — the deeper discounts bought nothing that the shallower ones did not. That flat stretch is money, it has a size, and it is the same leak that shows up in quote discount bands. See Reading the quote pipeline and, for the strategic framing, Raise order value.
Reporting hygiene
- Count an order once. An order redeeming three promotions is one order, not three, however tempting the sum of redemptions looks.
- Exclude cancelled orders, and decide what a return does to a redemption.
- Watch the order-count effect. A volume incentive that turns four small monthly orders into two large ones raises order value and reduces order count. That is consolidation and it is a good outcome — label it in the dashboard before somebody reports it as a decline. See What counts as an order.
- Use one currency. A multi-market campaign summed across currencies at today's rate is a number that changes every time you open it — Currency and time in reports.
Next
- Common promotion problems — when the numbers look impossible.
- Reports and exports — pulling this into your own analysis.