Run a 20% discount in a business with a 15% net margin and every promoted order loses money. Worse, the busier the promo makes you, the deeper the hole gets. Kitchens run hot, couriers run late, and the month closes in the red. Promotions can grow profit, but only when they follow four rules most restaurants skip.
Rule 1: fence every deal
A fence is a condition that keeps the discount away from orders that would have happened anyway: Tuesday only, app only, first order only, tickets over $35, lapsed customers only. An unfenced "20% off everything" mostly subsidizes your Friday regulars, so you pay full discount on revenue you already had. A fenced deal goes after the order you wouldn't have gotten otherwise, like the Tuesday that was going to be dead or the customer who was about to cook at home. Fencing by customer segment is what segment-based campaigns exist for.
Rule 2: price the promo off contribution margin, not revenue
Your menu says $30, but the number that matters for this decision is the $4.50 or so left after food, labor, packaging, and delivery. To you, that $3.00 discount is 67% of the order's profit, not the modest 10% it looks like on the menu. So set a floor and work from there: no promotion gives away more than half the contribution margin of the orders it touches, unless it's an acquisition cost for brand-new customers. Write that one sentence down and it kills most bad promos before they launch.
Rule 3: give away high-margin items, not percentages
Free garlic bread on orders over $30 costs you the food cost of the bread, maybe $0.90, and the customer walks away with a $6 menu item. A 10% discount on that same order costs you $3.00 and feels smaller to them. Drinks, sides, and desserts running 75–85% margins make the best promo currency: high perceived value, low real cost. It's the same reason cashback beats discounts. A 10% cashback costs about $1.80 once you account for a 60% redemption rate, and it pulls a second order, whereas the $3.00 discount only cheapens the one already in the basket.
Dots ties every campaign to the orders it produced — margin included, guesswork excluded.
Rule 4: measure incremental orders, not redemptions
"500 coupons redeemed" tells you nothing useful on its own, since it could just as easily mean 500 discounts handed to people already standing in line. What you actually want to know is how many orders happened because of the promo. A workable way to approximate it: in your reports, take the orders from the promo period, compare them against the same weekday averaged over the previous four weeks, and subtract. Say Tuesday normally does 60 orders and your promo Tuesday did 95 at $1.20 of real cost each. You bought 35 extra orders for $114 total, cheaper than any ad channel you'll ever touch. If that promo Tuesday came in at 63 orders, kill it.
Run the same test on marketplace "promo weeks." The platform announces the campaign, takes the credit, then sends you the bill: you fund the discount on top of the 25–30% commission, and the buyers it brings in are deal-chasers loyal to the discount rather than to you. A few of those weeks do pencil out as pure new-customer acquisition, but only if you run the incremental-order math afterward instead of admiring the volume chart.
Five promos that pass all four rules
Start with your worst day. An app-only Tuesday bundle of two mains plus a high-margin side, priced to still clear 40% contribution, fills the dead day with volume you can fence and measure.
Free delivery over $38 when your average ticket is $30 nudges customers to add a dessert or a drink to reach the line. You trade a $3 delivery subsidy for $8 or more of mostly high-margin add-ons.
Take 20% off the first app order. It's a genuine loss-leader, so price it as acquisition and allow it exactly once per customer. You're buying an install and a channel, not just one order.
Send 15% off only to customers who've been inactive for 60 days or more. That one is incremental almost by definition, because nearly every order it generates would not have happened otherwise.
Announce a limited item by push at 17:00 with no discount attached at all. Scarcity plus a reason to open the app moves food at full margin, which is about the best promo economics you can get.
Let the machine run the calendar
Coming up with ideas was never the hard part. Running a fenced, measured promo calendar every single week, while also running a restaurant, is. That's the job we handed to Marcy, our marketing AI assistant: she picks the segments, writes the campaigns, schedules the sends, and reports the margin impact, and she's now generating $5,000+ a month in traceable revenue for restaurants on the platform. Human or AI, whoever runs yours works the same system: every promo fenced, priced off contribution, and judged on incremental orders.
Before your next promo, write down three things: its fence, its real cost per order, and the baseline it has to beat. Skip any of the three and you haven't built a promotion, just a donation with better branding.
Campaign tools, customer segments, and margin-aware analytics in one platform — live in about two weeks.