The discount that doesn't cheapen you: smart use of promo codes
11 min read
You post a story on Instagram on Monday: "This week, β20% on everything!" By Wednesday your calendar is full and you think you've nailed it. But when you look at the names more closely, most of them are people you've never seen β they came for the percentage, not for you. Next month they're gone: off to the salon down the road that posted its own β20% that week.
And then the part that really stings. Your Marija, who's been coming for four years and paid full price on Saturday, saw that same story. And thought: "so I could've waited and paid less." She said nothing to you. She just paused for a second the next time you mentioned the price.
The discount didn't bring clients β it brought deal-hunters. And along the way it taught your most loyal regulars that the price list you spent years building is really just a suggestion, not a price.
That doesn't mean discounts are bad. Used well, they fill empty slots and wake up dormant clients. Used badly, they cheapen your work faster than you can build its value. The difference isn't in the percentage β it's in who gets it, when and why. This article is about where to draw that line.
Why a discount cheapens your work so easily
A discount isn't just less money in the till β it's a message. And the message "β20% on everything" sends goes roughly like this: the real price was inflated, so feel free to wait for the next chance to pay less.
Once a client learns that, they behave accordingly. They stop booking at full price and start waiting for the sale. You've effectively trained your own client base to buy only at a discount β and then you wonder why the calendar only fills up when there's an offer on.
The second problem is the people a discount attracts. A client who comes for β20% will leave the moment someone else offers β25%. They're not yours, they never were β loyal to the percentage, not to you. Winning someone like that is far more expensive than it looks, because they never become a regular, and they've taken a slot that could have gone to someone who would have stayed.
And third, the quietest cost of all: the clients who are already loyal to you. The ones who pay full price every time, without haggling, and then watch someone off the street get the exact same thing cheaper. They'll say nothing. They'll just swallow the price a little harder next time β and they're precisely the people you can least afford to lose.
When a discount makes sense β four situations
If "everyone gets β20%, always" is the worst possible move, there are situations where a discount is a smart tool. They all share one thing: they aim at a specific goal rather than throwing a percentage into thin air.
- Filling quiet slots. Tuesday at 2 p.m. sits empty every week. A slot that stays empty never comes back β that time is gone. A small discount that fills it is pure profit, because the alternative isn't full price, it's zero. We covered how to find and fill gaps like that in our guide to schedule gaps.
- Reactivating dormant clients. A client who's been away far longer than usual might just need a little nudge to come back. Here the discount isn't a reward for leaving, it's a gesture β small and personal, aimed at a specific person, not the whole world.
- A first visit. A new client has no reason to try you rather than the salon next door. A discount on the first appointment lowers that barrier. But only on the condition that the second visit is paid at full price β otherwise you've paid to bring in yet another deal-hunter.
- A referral reward. "Recommend a friend and you both get a code for your next appointment." This discount pays off because it brings you a client through someone you already trust β referred clients stay longer and haggle less.
The common thread: the discount goes to a specific group, for a reason, in limited numbers. Never to the whole world, never permanently.
Five rules for a smart discount
Once you do decide on a discount, five rules separate an offer that builds from one that tears down:
- A deadline. A discount with no deadline isn't an offer, it's a new price. "Valid until the end of the month" forces a decision; "valid always" kills your full price. The deadline is what keeps a discount special.
- A limited number. "The first ten bookings" or "Tuesdays in September only". A limit creates value and stops the offer from eating a whole month's takings.
- A targeted group. New clients, dormant ones, those who refer a friend β precisely defined. A discount that literally everyone gets targets no one.
- One use only. A code that's redeemed once, not every time. Otherwise you haven't given a discount, you've permanently cut the price for that person.
- Clear communication. Say exactly what applies, until when and for whom. A vague discount creates misunderstandings at the front desk β and a misunderstanding about price is the worst kind.
Notice that not one of these rules is about the size of the percentage. Because the problem isn't whether the discount is 10 or 20 per cent β it's whether it's limited and targeted, or scattered and permanent.
Promo code vs "a discount for everyone": why the code is smarter
There's a big difference between a blanket announcement of "β20% this week" and a promo code like "AUTUMN15".
A blanket discount is invisible. You announce it, some people use it, some don't β and at the end of the month you have no idea whether the offer brought you new clients or you simply gave money off to people who would have come anyway. No trace, no measure, nothing to learn from.
A promo code is measurable. Each code is tied to a specific campaign: "FIRST15" goes to new clients, "BACK10" into messages to dormant ones, "REFERRAL" to those who bring a friend. When you look at the end of the month at how many times each code was used, you know exactly which message worked and which was money down the drain. Next time you repeat what works and drop the rest.
A code is also targeted and limited by its very nature. It doesn't hang publicly in the window for absolutely everyone to see β you send it to precisely the group it's meant for. You can easily give it a deadline and a redemption limit, so it doesn't leak beyond what you intended.
In short: a blanket discount is a hope, a promo code is an experiment you can measure.
The maths: the same β15%, two completely different stories
Take a β¬40 service and the same discount β β15% β in two situations. Same number, completely different outcome.
Situation A: a quiet Tuesday at 2 p.m. That slot sits empty almost every week. You give β15% to fill it: the client pays β¬34 instead of β¬40. You've "lost" β¬6 to the discount β except you haven't, because the alternative wasn't β¬40, it was an empty slot and zero euros. Instead of nothing, there's β¬34 in the till. If you fill four quiet slots a week that way, that's β¬34 Γ 4 Γ 4 weeks = β¬544 a month that otherwise wouldn't have existed at all. The discount bought you takings out of time that was going to waste anyway.
Situation B: Saturday at 10 a.m., a slot that's always full. That slot would book at full price with no discount whatsoever β people fight over it. You put β15% on it: the client pays β¬34 instead of β¬40, and you've simply given away that β¬6. Nobody needed that discount in order to book. If you do that on ten Saturday slots a month, that's β¬6 Γ 10 = β¬60 a month thrown away, or β¬720 a year handed to people who'd have paid full price.
Same percentage, same service. In the first case the discount is a tool that creates takings; in the second it's a hole your money leaks through. That's why "a discount on everything" never makes sense β because "everything" always includes those Saturday slots that don't need a discount at all.
What a promo code looks like in practice
The whole point of a promo code collapses if you can't measure it β and measuring on paper means manually tallying who mentioned which offer, which nobody does consistently.
In Appointa you create a promo code once: you set the percentage (or amount), the deadline and the redemption limit. The client enters it when booking on your booking page, the discount applies itself, and the appointment lands in the calendar with the price already worked out. There's nothing to calculate at the front desk. (The actual payment stays in the salon, through your usual channels β Appointa manages the appointment and the price, it doesn't take the money on your behalf.)
Most importantly: you see how many times each code was used. "FIRST15" redeemed twelve times, "BACK10" three times β the number tells you which campaign pulls its weight and which doesn't. Next month you back what works.
And while the promo code fills quiet slots and measures your campaigns, the rest of the job runs itself: the booking page takes reservations around the clock, the confirmation and the reminder go out automatically by e-mail and push, and β with the SMS add-on enabled β the reminder also reaches clients without the app by SMS. The client file keeps a record of who came in on which code, so next time you target dormant clients by name, not at random.
When a discount isn't the answer (the price is)
One last, uncomfortable truth: if you have to keep running discounts to keep your calendar full, the problem might not be a lack of offers β it might be the price.
A salon that survives only on sales often has a base service that's too cheap. A discount doesn't cure the illness here, it just masks the symptom: you fill the calendar working for half price and wonder why nothing's left at the end of the month.
If your slots are constantly full and people don't blink at the price, you don't need a discount at all β more likely you need a higher base price. We covered how to raise it without losing clients in a separate guide. A discount is a tool for a specific goal at a specific moment, not a standing harvest to keep the calendar full. Use it that way and it builds. Let it become a habit and it tears down.
A discount that fills empty slots without emptying the till? In Appointa you create a promo code with a deadline, a redemption limit and a targeted group, the client enters it when booking on your booking page, and the reports show you exactly how many times it was used β so you know which offer works and which is money down the drain. Try the demo for your industry β free, no card required. And the Starter plan is free β up to 30 appointments a month.
Frequently asked questions
How big a discount should I offer for a first visit?
Enough to lower the barrier, not so much that it cheapens the service β in practice, 10 to 15 per cent is plenty to get a new client to decide to try you. The key isn't the size of the percentage, it's that it's clearly one-off: the discount applies to the first appointment, the second is paid at full price. If a new client expects a reduction the second time too, you haven't gained a regular, you've gained a subscriber to your sales.
How do I stop clients from only waiting for sales instead of booking at full price?
By making sure the discount is never predictable or permanent. The moment clients learn that the first of every month brings β20%, they stop booking between sales. So keep the discount rare, tied to a specific occasion (a quiet slot, a reactivation, a referral) and limited by deadline and number. A promo code helps here because it goes to a precisely targeted group rather than hanging publicly as a standing offer everyone sees and starts to wait for.
Is a discount worth it for a salon at all?
It's worth it when it fills time that would otherwise go to waste or wins back a client you'd otherwise lose β then the alternative is zero, so every euro taken is pure profit. It's not worth it when you put it on slots that would fill without it, because then you're simply giving money away. The rule is simple: a discount on an empty slot is profit, a discount on a full one is a cost.