Guides

How to Run Café Promotions Without Losing Your Margin

By The Tany Team 7 min read

Almost every café runs promotions, and almost every café measures them the wrong way. The day feels busy, the queue is out the door, the staff are slammed — so the promotion worked, right? Not necessarily. A promotion that increases traffic but shrinks profit is a worse day disguised as a better one.

This guide gives you the one piece of math that separates a real promotional win from an expensive illusion, the offer types that actually work for a café, and a practical set of rules so your next promotion adds profit instead of quietly subtracting it.

The only promotion math that matters

A discount is not free traffic. It is margin you give away on every sale, including the sales you would have made anyway. To come out ahead, the extra volume has to more than cover that giveaway. Here is the break-even formula:

Required volume increase = discount ÷ (gross margin − discount)

Both numbers are percentages of the selling price. Gross margin is the share of the price left after the cost of goods (beans, milk, cup, lid). Café drinks are famously high-margin, which is good news — but it also means owners underestimate how much volume a discount really needs.

Worked through a few cases for a 75% gross-margin drink (a $5 latte costing about $1.25 to make):

Discount offeredRequired volume increase just to break even
10% off~15% more units
20% off~36% more units
30% off~67% more units
50% off (≈ BOGO)~200% more units

And the same discounts on a lower-margin food item at 50% margin:

Discount offeredRequired volume increase to break even
10% off~25% more units
20% off~67% more units
30% off~150% more units

These figures are illustrative — calculate with your own cost of goods. The pattern is the point: deeper discounts and thinner margins both demand dramatically more volume.

Two lessons fall straight out of the table:

  1. Deep discounts are brutal. A 30%-off offer on a normal drink needs two-thirds more volume just to not lose money. To actually profit, it needs even more.
  2. Discount your high-margin items, not your low-margin ones. A promotion on food (lower margin) needs far more lift than the same promotion on espresso drinks.

Why “it felt busy” is a trap

Run a 20%-off morning and you will very likely sell more units. But most of those units are sales you would have made anyway — your 8am regulars do not need a discount to show up. So you have handed margin to people who were already coming, and the incremental customers you gained have to cover not just their own discount but everyone else’s too.

This is why you must measure a promotion against the counterfactual — what you would have sold without it — not against zero. The tool for that is already in your hands: your Square sales reports. Compare net sales and units during the promo window to a normal comparable period, and watch net sales, not gross. If gross sales rose but net sales (after the discounts) did not, the promotion cost you money no matter how busy it felt.

BOGO: acquisition, not a reward

Buy-one-get-one is the most misunderstood café offer. A BOGO is effectively a 50% discount spread across two items, which from the table above needs an enormous volume lift to pay for itself on margin alone. It only makes sense when one of two things is true:

  • It brings a genuinely new customer (the second drink goes to a friend who has never been in, who may come back at full price), or
  • It moves a slow item you would otherwise waste (day-old pastry, an over-stocked seasonal syrup).

What BOGO should not be is a reward to your existing regulars, because there you are simply halving sales you already had. As a rule: BOGO is an acquisition tool, loyalty rewards are a retention tool, and confusing the two is how cafés lose money being generous.

The five rules of a profitable café promotion

1. Target your troughs, not your peaks

Run offers during slow hours and slow days. At peak, a discount mostly gives away margin on sales you would have made anyway. During the 2–4pm lull, your rent and staff are already paid for, so an incremental sale is nearly all contribution. Your Sales-by-Time report shows you exactly where those troughs are.

2. Discount the high-margin stuff

Promote espresso drinks, brewed coffee, and add-ons before food and retail. The math rewards you for it, and a discounted drink is the perfect anchor to attach a full-price pastry — which is really an average-order-value play wearing a promotion’s clothes.

3. Cap it — by time, quantity, or audience

An uncapped offer is an open-ended liability. Box every promotion in:

  • Time: “today only,” “2–4pm,” “this week.”
  • Quantity: “first 50 customers,” “while supplies last.”
  • Audience: members only, lapsed customers only, first-time app users only.

A capped offer creates urgency and limits the downside.

4. Prefer adding value over cutting price

A free upsize, a free extra shot, or a bonus loyalty-point multiplier often drives the same behaviour as a discount while costing you far less, because you are giving away your cheapest input (a little more milk or a few points), not your price. “Double points today” can fill an afternoon for almost nothing — and it builds the loyalty habit instead of the discount habit. That is part of why a loyalty program earns its keep where blanket discounts do not.

5. Don’t train customers to wait

The fastest way to wreck your full-price business is a predictable discount. If every Tuesday is 20% off, your regulars learn to buy on Tuesday. Keep promotions occasional, surprising, and tied to behaviour — a one-day push, a birthday reward, a win-back offer for someone who has drifted away — so you drive action without permanently lowering what people expect to pay.

How to run and measure offers on Square

Square gives you the mechanics for free: automatic discounts and coded discounts at checkout, plus Square Marketing and Square Loyalty for sending offers to customer segments. That covers the basics — a happy-hour discount, a coupon code, a points promotion.

Where built-in tools get thin is precise targeting and direct delivery. “20% off for everyone” is easy; “a push notification only to customers who have not visited in 30 days, redeemable today only” is the kind of capped, behaviour-based offer that actually protects your margin — and it needs a channel that knows who your customers are and can reach them directly.

That is the gap a branded app closes. With customers captured automatically at order-ahead and a push channel you own, you can fire a tightly-targeted, time-boxed offer at exactly the segment and exactly the slow window your reports flagged — without broadcasting a discount to people who would have paid full price. Tany builds that for independent cafés on Square: a branded iOS and Android app with self-running loyalty, push notifications, and web ordering, live in about a day for $99 CAD/month per location.

The takeaway

A promotion is not a marketing decision; it is a margin decision wearing a marketing costume. Before you run one, do the three-line check:

  1. What’s my real margin on the discounted item?
  2. How much extra volume do I need just to break even (discount ÷ (margin − discount))?
  3. Is this offer hitting a slow window, capped, and aimed at people who wouldn’t have paid full price anyway?

Get those three right and a promotion does what it should — fills capacity you already pay for and brings people back — instead of giving away the margin that keeps the lights on.

Sources

Frequently asked questions

How much extra do I need to sell to break even on a discount?
Use this formula: required volume increase = discount percentage ÷ (gross margin percentage − discount percentage). For a 75% margin drink discounted 20%, that is 0.20 ÷ (0.75 − 0.20) = about 36% more units just to break even. The deeper the discount or the lower the margin, the larger the volume jump you need to avoid losing money.
Are BOGO (buy-one-get-one) offers profitable for a café?
BOGO is effectively a 50% discount across the two items, so it only works on high-margin products and ideally when it brings in a second customer who would not have come otherwise. If a regular who would have bought one drink anyway now gets a second free, you have simply halved that sale. BOGO works best as acquisition, not as a reward to existing regulars.
When is the best time to run a café promotion?
During your slow hours and slow days, not your peak. A discount at 8am rush mostly gives away margin on sales you would have made at full price. The same discount at 2pm fills capacity you have already paid for — staff and rent are fixed — so the incremental sale is far more likely to be genuinely profitable.
How do I avoid training customers to wait for discounts?
Make offers time-boxed, occasional, and tied to behaviour rather than the calendar. A predictable weekly discount teaches regulars to stop paying full price. A surprise loyalty reward, a one-day push notification, or a win-back offer for lapsed customers drives action without permanently lowering what people expect to pay.
Can I run targeted promotions on Square?
Yes. Square supports automatic and coded discounts at checkout, and Square Marketing and Square Loyalty let you send offers to customer segments. For deeper targeting — like a push notification to everyone who has not visited in 30 days — a branded app with its own loyalty and push gives you more control over who sees an offer and when.