The Promo Trap: How Discounts Quietly Destroy Restaurant Margin (And the Smarter Way to Run Them)
Most restaurant promotions look like they worked — revenue went up, traffic spiked, the LTO trended on social. Underneath, the same campaigns are often margin-negative once you account for cannibalization, channel mix shift and habit formation. This post unpacks the four hidden costs of a typical restaurant promo and lays out a margin-first promo design playbook.

"The promo worked. Revenue is up."
Almost every restaurant marketing deck in the last decade ends with that sentence. Revenue during the promo window is higher than the comparable period before it. The CMO claims a win. The CFO usually sighs. They are both right.
Revenue is not the question. Contribution margin per cover is the question — and across the hundreds of restaurant promotions our team has analyzed, the gap between "revenue went up" and "the company made more money" is the single largest hidden cost in casual and fast-casual dining today.
This post is not anti-promotion. Promotions are an essential lever — for traffic, for trial, for defending share against an aggressive neighbor. The problem is that most operators are still designing promos using the metrics that worked when their entire revenue base was dine-in, their loyalty program was a paper card, and "channel mix" meant lunch versus dinner. Those days are over, and the promo math has not caught up.
The four hidden costs of the average restaurant promo
When a promo "works" on the dashboard but flat-lines on the P&L, one of these four costs is usually eating it.
Cost 1: Self-cannibalization
Most discounts are bought by guests who would have visited anyway. A 25%-off bowl on Tuesday sells well — but a meaningful share of those bowls would have sold at full price. Every guest who was going to buy at $14 and instead bought at $10.50 is a $3.50 self-inflicted wound.
Industry-wide, the share of "incremental" buyers in a typical broad discount sits between 18% and 35%. The remaining 65-82% of redemptions are self-cannibalization. If your post-promo math does not net out the cannibalized revenue, you are scoring a coupon as a marketing win when it is really a margin transfer from your P&L to your most loyal guests.
Cost 2: Channel cannibalization
Promotions almost always pull mix toward whichever channel runs the cheapest CAC. For most operators in 2026, that is third-party delivery. A "free delivery" or "$5 off your next order" promo pulls high-margin dine-in traffic onto the lowest-margin channel you operate.
The headline numbers look great — orders are up. The P&L shows a margin-mix shift of 4-9 points in the wrong direction. By the time the finance team flags it, the next promo is already in market.
Cost 3: Habit formation
This is the cost almost nobody models. A guest who pays full price for two months and then sees your promo pricing for one month learns one thing: the real price is the promo price. Their next full-price visit feels like an overpay even though nothing on the menu has changed.
The data backs this up. Guests acquired during deep-discount promos have lifetime values 20-40% lower than guests acquired through full-price trial. The promo bought them; the promo also taught them what they are willing to pay forever after.
Cost 4: Operational drag
A successful promo creates a peak. Peaks have a labor cost (extra staff scheduled), a service cost (longer waits, lower review scores), and a recovery cost (the post-peak lull that often follows a promotion as guests "spend their visit early"). None of these show up next to the revenue line on the campaign report. All of them land on the next month's P&L.

A promo is a contract with your future guest. Most are written without anyone reading the fine print.
Why the metrics keep lying
The reason most promo post-mortems show a win when the underlying economics show a loss is that the wrong baseline is being used. The standard report compares promo-week revenue to prior-week revenue, with maybe a year-over-year overlay. Both comparisons quietly bake in the assumption that the prior week was the right baseline — when in fact:
- The prior week may have been seasonally light (so the promo looks better than it was).
- The year-over-year period included a different competitive landscape.
- Some of the "incremental" traffic was actually pulled forward from the following week.
A more honest measurement frames the question as: over a 90-day window centered on the promo, did contribution margin per cover increase versus the matched 90-day window in a control set of stores or zip codes? That is a harder report to build, and it is the only one worth trusting.
A promo design playbook that protects margin
If the goal is to run promotions that actually move the P&L in the right direction, the design constraints are different from what most marketing teams use. Five principles, in priority order.
1. Discount the loss leader, not the bestseller
The classic mistake is putting the bestseller on promo because it is what guests already love. That maximizes self-cannibalization — you are giving a discount to people who would have paid full price.
The smarter move is to discount an adjacent item with high margin and low standalone demand. Bundle it with the bestseller, and now the bestseller carries full margin while the adjacent item builds trial.
2. Constrain the window, not the audience
A two-hour off-peak promo for everyone outperforms an all-day promo restricted to your loyalty list, almost every time. Restricting by time reaches incremental traffic (the people who can shift their visit) without leaking margin to your regulars (who cannot easily shift theirs). Restricting by audience does the opposite.
3. Engineer the channel
If you do not specify the channel, the cheapest channel will absorb the promo. Run dine-in promos as dine-in. Run pickup promos as pickup. If you must run on third-party, make the discount conditional on items the marketplace under-orders so you are not subsidizing the already-dominant SKU.
4. Cap the redemption per guest
Unlimited-use promo codes are a habit-formation engine. Cap them at one or two per guest per window. The guests you want — true incremental visitors — only need one. The guests who will build a habit need three or four. Capping at two protects the first group from the second.
5. Pre-commit to the kill criteria
Before the promo launches, write down the contribution-margin-per-cover number that defines "we end this early." Send it to the finance team. The discipline of pre-committing kill criteria catches more bad promos than any post-mortem.

The most useful promo question is not "did it work?" but "compared to what?"
Where modern tooling earns its keep
The reason most operators do not measure promos honestly is not philosophical — it is practical. Building the matched-market control, deconstructing the channel mix shift, and modeling self-cannibalization at the item level used to require a dedicated analytics team.
The current generation of restaurant intelligence tooling — including the work we are building at Forkast — collapses that workflow. Three things specifically:
- Auto-matched control sets. Systems can now hold out comparable stores or zip codes automatically before a promo launches, giving you a clean control without manual setup.
- Cannibalization decomposition. Item-level decomposition of "who would have ordered this anyway" versus "who is genuinely new" is the kind of bookkeeping that ML is well-suited to.
- Forward-looking margin forecasts. Instead of waiting 60 days for finance to close the books on a campaign, modern systems forecast contribution margin per cover within 7-10 days of the promo window closing.
None of this replaces marketing judgment. It does mean the marketing team and the finance team finally argue from the same numbers — which, in our experience, is half the battle.
Three honest questions before you launch your next promo
If you do nothing else from this post, ask these three before signing off on the next campaign:
- What share of redemptions do we expect to be incremental, not cannibalized? If the team does not have an answer with even a rough range, the promo is not designed yet.
- Which channel will the promo pull mix toward, and is that the channel we want growing? If the answer is "we are not sure" or "it is delivery and no," redesign.
- What is the contribution-margin-per-cover number that ends the promo early? If there is no kill criterion, there is no discipline.
Three questions. Five minutes. They will catch most of the promotions that look like wins on the dashboard and losses on the P&L.
The takeaway
Discounting is not the problem. Discounting without measuring the right thing is the problem. Restaurants that treat promos as a margin instrument — not a traffic instrument — spend less on promotions, run them less often, and earn more from the ones they do run.
The traps are well-known and predictable: self-cannibalization, channel mix shift, habit formation, and operational drag. The fixes are also well-known: discount adjacent items, constrain the window not the audience, engineer the channel, cap redemptions, pre-commit to kill criteria.
What changed in the last two years is the tooling. Honest promo measurement, which used to be the privilege of the largest national chains, is now within reach of any operator with clean POS data and the willingness to ask the harder question. Did revenue go up — or did the company actually make more money? Those are very different questions, and only one of them matters.