A discount code for direct bookings: when it works and when you are just giving money away
Ten percent off for booking direct sounds obvious when you pay 15 to 18 percent commission. But a code that always applies, to everyone, mostly costs you money on guests who would have booked direct anyway. Here is how to work out what you can give away, and to whom.
Share on LinkedIn
You pay 15 to 18 percent commission on every booking that arrives through a large platform. On your own website you pay none of that. So the conclusion looks obvious: put "10% off when you book direct" on the site and you still come out ahead.
That reasoning is only half right. A discount code is not free marketing β it is a real cost, and you also pay it to guests who would have booked direct anyway. The question is not whether to run a code, but who gets it, when, and how much you can actually afford.
First: a code is not the same as a lower price
This is where a lot of owners trip up. If you publish a public room rate on your own site that is lower than on the platforms, you run into rate parity β the contractual principle that your public rate should be the same everywhere. In Belgium and the Netherlands the strictest form of it (where even your own website may not be cheaper) is no longer enforceable, but it stays sensitive ground. We covered it in detail in rate parity explained.
A closed discount code sits in a different category. The public price on your site stays identical to the one on the platforms. Only someone who knows the code β a returning guest, someone on your mailing list, someone holding your flyer β pays less. Your public rate is untouched. That is exactly why hotels have been doing it this way for twenty years: it is the safest way to reward direct bookings without lowering your published price.
The calculation you actually need to make
What a platform booking costs you is not just the commission. Add the payment cost (a virtual credit card or your own payment provider takes another percentage), plus the fact that on part of those bookings you have less control over cancellations.
Say your net loss on a platform booking sits around 17 percent. On paper, every euro of discount below that 17 percent is profit β but only with a guest who would otherwise have booked through the platform. With a guest who already had your number and was going to call you anyway, that discount is a 100 percent loss.
That is why the average effect of a code sitting permanently and visibly on your homepage is often disappointing: it mostly reaches the second group. Run the numbers on your own channel data β see calculating net revenue per booking channel.
Four situations where a code earns its keep
1. In your departure email. The guest is about to leave, is happy, and has not planned a second stay yet. A code named something like SEEYOUSOON, valid for twelve months, is at its strongest here β you are buying a repeat booking that might never have happened, or that would have come through the platform.
2. With a guest you first met on a platform. Someone coming back for a second time does not need the platform any more. Say so explicitly at check-out. One sentence is enough: "next time just email us directly and we will do something better for you."
3. In dead periods. A code valid only Sunday to Thursday, or only in November and January, lowers your margin exactly where the room would otherwise have stayed empty. That is not money given away, that is revenue that did not exist.
4. With local partners. The wine bar around the corner, the bike rental, the wedding venue in the village: each of them can have their own code. You immediately know who sends you which guests, and that is far more useful than an anonymous homepage code.
When you are simply giving money away
- A permanent code everyone can see. If it sits on your homepage, it is not a code any more, it is your price. Lower your rate deliberately instead β or do not do it at all.
- Discounts in your absolute peak weekends. If July or the local festival sells out anyway, every percent of discount is pure margin lost and buys you nothing.
- Codes without an end date. A code that drifts around a forum or a coupon site for three years surfaces at the worst possible moments. Always set an expiry.
- Codes that stack on your early-bird or length-of-stay discount. Without a clear exclusion you are discounting the same booking twice.
How to set one up properly
A workable code always has four boundaries: an expiry date, a minimum stay, a list of excluded dates (holidays, events, high season), and a rule about stacking. On top of that, pick a code a human can say out loud on the phone β WELCOMEBACK works, X7F-2291 does not.
In BedFlow PMS you create such a code inside your own booking engine, with those boundaries built in, and afterwards you can see per code how many bookings and how much revenue it produced. That last part is the point: without measurement, a year later you still will not know whether that ten percent brought anything in or just shaved your margin. What the platform itself costs is on our pricing page.
An alternative that often beats a discount
A discount costs you cash. Adding value costs you margin β and that is usually a good deal less.
Late check-out until 2pm costs you nothing if the room is not being re-let that day. A bottle of local beer or a regional product in the room costs you a few euros and feels more personal than ten percent. Breakfast included instead of 15 euros per person costs you the purchase price, not the sale price.
And the difference that matters most: someone who gets a discount remembers the amount. Someone who gets a bottle of cava and a handwritten note remembers the house.
Want to see what booking direct really earns you? BedFlow PMS is free to try for 30 days at bedflow.eu β calendar, booking engine with discount codes, and revenue per channel in one overview. No credit card required.
30-day free trial, no credit card. We migrate your MyTourist or other PMS data with you.