Let me tell you about the single most wasted square footage in your entire booking funnel.
It is the confirmation page. That screen a guest sees right after they hit “Book Now.” You know the one. It says “Thank you for your reservation, here is your confirmation number,” maybe there is a little checkmark animation, and then the guest closes the tab and moves on with their life.
I have audited a lot of independent hotel booking engines, and roughly nine out of ten of them treat this page as a dead end. A receipt. A digital handshake and goodbye. And every single time I see it, I think about how much money is quietly evaporating on that screen.
Here is the thing that took me embarrassingly long to internalize when I started doing this work: the moment right after someone buys is the single highest-intent moment in the entire relationship. They have already decided. They have already entered a credit card. The hard part, convincing a stranger to trust you with their money, is done. And most hotels respond to that moment by saying “okay bye.”
Why the confirmation page is psychological gold
There is a reason ecommerce brands have obsessed over the post-purchase moment for years, and hotels are weirdly late to the party.
When a guest completes a booking, a few things are true all at once:
- They have committed. The decision fatigue is over. They are no longer comparing you to three other properties in seventeen browser tabs.
- Their card is warm. Adding a $19 breakfast or a $40 upgrade does not require re-entering payment details if your engine is set up right. The friction that kills most upsells is already gone.
- They are in “trip planning” mode. They just imagined themselves at your hotel. Their brain is already there. This is the exact moment they are receptive to “want to make it even better?”
Compare that to trying to upsell at check-in, when the guest is tired, holding luggage, and there is a line behind them. Or via a pre-arrival email they will probably never open. The confirmation page catches them at peak enthusiasm, and it does it for free, because they are already on it.
The confirmation page is the only point in your funnel where the guest has zero risk left to overcome. They already trusted you. Every other touchpoint is asking for trust. This one only has to ask for a little more value.
What actually sells on the confirmation screen
Not everything works here. I have seen hotels slap a generic “check out our spa” banner on the page and wonder why nobody clicks. The offers that convert are the ones that feel like a natural extension of the trip the guest just booked. Here is roughly how I tier them.
Tier 1: Room upgrades
This is the easiest money and it should be your first move. The guest booked a standard king. Show them, right there, what the next room category up looks like, with a real photo and a clear price difference. “Upgrade to a Garden View Suite for $45/night?” The math is obvious to them and the marginal cost to you is close to nothing because that nicer room was likely sitting empty anyway.
The key is framing it as a small delta, not the full nightly rate. “$45 more” reads very differently than “$295/night.”
Tier 2: High-margin add-ons
These are the operational add-ons that cost you little and that guests genuinely value:
- Early check-in / late checkout
- Breakfast package
- Parking (huge in markets where it is scarce)
- A bottle of wine or a welcome amenity in the room on arrival
- Pet fee / pet package if you are pet-friendly
Tier 3: Experiences and local partnerships
This is where it gets fun, and where independents have a real edge over the chains. A spa credit. A guided sunrise kayak tour. A reservation at the restaurant down the street you have a partnership with. A picnic basket for the couple who booked the anniversary package. These do not always carry huge margins on their own, but they deepen the relationship and make the stay memorable, which is its own form of marketing.
Here is how I think about prioritizing them:
| Offer type | Margin to you | Guest appeal | Where to place it |
|---|---|---|---|
| Room upgrade | High | High | Top of page, first thing they see |
| Breakfast / parking | High | Medium-high | Second slot, simple toggle |
| Early check-in | Very high | High | Quick yes/no, low price |
| Local experience | Variable | High (for the right guest) | Lower on page, more visual |
| Spa / dining | Medium | High | Segment by booking type if you can |
The rules I follow so it does not feel gross
There is a real failure mode here, and it is turning your lovely confirmation page into a used-car-lot of pop-ups. Do that and you torch the goodwill you just earned. So I work within a few hard constraints.
One or two offers, not ten. The paradox of choice is real. If you show a guest a buffet of fifteen add-ons, they freeze and pick nothing. Lead with the single most relevant offer (usually the upgrade), maybe one supporting add-on, and stop.
Make it absurdly easy to skip. The “no thanks, my reservation is confirmed” path has to be obvious and guilt-free. If a guest feels trapped or tricked, you have lost more than the upsell. You have dented the experience before they even arrive.
Relevance beats volume, every time. A guest who booked a two-night romantic package should not see a “kids eat free” promo. If your engine lets you segment offers by rate plan, room type, or length of stay, use it. The closer the offer maps to why they booked, the higher it converts.
Confirm the booking first, visibly. The confirmation number and details come first, prominent and reassuring. The upsell is secondary, below or beside it. Never make a guest hunt for proof their reservation went through. That anxiety kills the mood for any offer.
The confirmation page should feel like a concierge leaning over and saying “great choice, can I make it even better?” It should never feel like a checkout aisle ambush. Get that tone right and guests thank you for it.
A quick illustrative example
Let me make this concrete with a hypothetical, and I want to be clear these are illustrative numbers, not a case study I am claiming as real.
Say a 30-room boutique property takes 300 direct bookings a month through its own site. Imagine they add a single confirmation-page upgrade offer at $40, and just 8% of those bookers say yes. That is 24 upgrades, or roughly $960 a month, around $11,500 a year, from one offer on a page that was previously doing nothing but saying thank you. Add a breakfast toggle that a slice of guests accept and the number climbs again.
I am not promising you those exact figures. Your conversion rate depends on your guests, your offers, and your pricing. The point is the upside is real and it is sitting on a page you already own and already pay nothing extra to use.
Why this matters for your channel mix
Here is the part that connects to everything else I bang on about. Every dollar of confirmation-page upsell revenue lands on a direct booking, because OTAs do not give you that page. Expedia and Booking.com control the post-purchase moment for the bookings they send you, and they are not handing your upgrade revenue back.
OTA commissions typically run in the 15 to 25% range, so the direct channel already earns you more per booking before you add a cent of upsell. Stack high-margin upsells on top and the per-guest value of a direct booking pulls even further ahead of an OTA booking. That gap is exactly what lets you justify a direct-booking perk or a small loyalty discount and still come out ahead, which is how you win back more direct business over time and move your mix in a healthier direction. I dug into that commission math in detail over in the book-direct math post, and the bigger structural picture lives in how OTAs steal search.
This is also why the confirmation page is a CRO project, not a design afterthought. It belongs in the same conversation as your booking engine flow, your rate parity, and your direct-booking incentives. It is the last, highest-leverage step of the funnel, and most hotels leave it on the table.
How to actually implement this
You do not need to boil the ocean. Here is the order I would tackle it in.
- Look at your booking engine’s existing capabilities first. Many modern engines (the ones worth using) already support post-booking offers or add-ons natively. Turn them on before you go shopping for new software.
- Start with one offer: the room upgrade. Real photo, clear price delta, one-tap accept. Ship it, measure it, then layer on a second offer.
- Wire up payment so it is one click. The whole advantage is the warm card. If accepting an upsell forces the guest to re-enter their details, your take rate craters.
- Segment by booking type as soon as you can. Romantic package gets dinner and wine. Family booking gets the bigger room and parking. Business traveler gets early check-in and fast wifi.
- Measure take rate per offer and prune ruthlessly. Anything nobody accepts is just clutter pushing your winners down the page. Kill it.
If your booking engine genuinely cannot do any of this, even a well-designed confirmation page with one relevant offer and a simple payment link beats the dead-end receipt you have now. The tactic matters more than the tooling when you are starting out.
This work sits squarely inside what I do under book-direct CRO, and it pairs naturally with the broader direct-booking and conversion thinking that turns lookers into bookers. If you want the upstream visibility piece, the hotel SEO foundation and the 2026 starter guide are where I would point you next.
The bottom line
Your confirmation page is not a receipt. It is the last, warmest, highest-intent moment you get with a guest before they arrive, and most independents are wasting it on a checkmark and a goodbye.
You do not need a guarantee or a magic tool. You need one relevant offer, a one-click yes, and the discipline not to overdo it. Do that, and a page that earned you exactly nothing starts quietly paying for itself, on every single direct booking, forever.
If you want me to look at your actual booking flow and find where the upsell money is leaking, book a call and we will map it together, or read more about how I approach book-direct CRO first.