Every hotelier reaches a point where raising rates feels like the obvious move. RevPAR is flat, costs are climbing, and someone in a meeting suggests “just charge more.” The problem is that rate increases without the right market conditions behind them tend to backfire fast.
NB: This is an article from Topline Revenue, one of our Expert Partners
Subscribe to our weekly newsletter and stay up to date
Guests notice, OTAs punish you with lower placement, and your competitive set picks up the bookings you just priced yourself out of. The good news is there’s a lot of profit left on the table that has nothing to do with your rate card.
This isn’t about squeezing guests or cutting corners. It’s about running a smarter operation, capturing revenue you’re already positioned to earn, and making sure the business decisions you’re making are actually based on what the data is telling you. Here’s how to do it.

Stop Leaving Ancillary Revenue on the Table
Most hotels think about revenue in one dimension: room nights but guests are spending money before they arrive, during their stay, and sometimes after they leave, and a lot of that spend isn’t being captured anywhere near as effectively as it could be.
The opportunity here is real. Upsells and add-ons, when done right, can meaningfully move the needle on total revenue per guest without touching your published rates at all. The key word there is “done right.” A generic pop-up asking if you want a room upgrade for $40 is not a strategy. It’s a lottery ticket. What actually works is offering the right thing to the right guest at the right moment in their booking journey.
Some of the highest-converting ancillary revenue opportunities hotels consistently under-utilise:
- Room upgrades offered at pre-arrival, not just at check-in
- Early check-in and late check-out, priced and promoted properly rather than given away for free at the front desk
- Curated packages that bundle local experiences, F&B credit, or amenities into the rate
- Parking, pet fees, and resort-style amenity access for properties that have them
