I have a confession that will sound strange coming from someone who does this for a living: most independent hoteliers I meet have no idea where their money actually comes from.
They can tell me their occupancy. They can tell me their ADR. Ask them which channel delivers the most take-home revenue per booking and you get a shrug, or worse, a confident answer that turns out to be wrong once we open the books. That gap is exactly why a channel-mix audit is the single most useful afternoon you can spend on your distribution this year.
So let me walk you through how I actually do one. Not the theory. The hands-on, spreadsheet-open, coffee-getting-cold version.
Why “where bookings come from” is a trick question
Here is the trap. Your property management system probably shows you a tidy pie chart: Booking.com 38%, Expedia 14%, direct 22%, walk-in 6%, and so on. It looks like an answer. It is not.
That pie chart tells you volume. It tells you nothing about contribution — the dollars left after you pay to acquire each booking. A channel that delivers 38% of your room nights can deliver far less than 38% of your real profit once commission, payment fees, and servicing cost come out. And a tiny direct channel that looks like a rounding error can be your healthiest revenue per booking by a mile.
So the first rule of a channel-mix audit: never confuse the volume chart with the money chart. We are going to build the money chart.
Volume tells you how busy a channel keeps you. Contribution tells you whether it is worth the room. The whole audit exists to separate those two numbers, because the OTAs are very good at making them look like the same thing.
Step 1: Map every single source (yes, all of them)
Before any math, I build the map. I want every door a guest can walk through, written down. For a typical independent or boutique property, the real list is longer than people expect:
- OTAs — Booking.com, Expedia, Hotels.com, Agoda, regional players. List each one separately. They do not cost the same.
- Direct online — your own booking engine, split if you can between brand searches, paid, and organic.
- Direct voice — phone reservations. These are gold and almost nobody tracks them properly.
- Walk-in — still real, still worth a line.
- Metasearch — Google Hotel Ads, Trivago, Kayak. Sometimes these route to your direct engine, sometimes to an OTA. You need to know which.
- GDS / corporate / travel agent — if you have any negotiated or agency business.
- Wholesale / bed banks — the quiet channel that can be eroding your rate parity without you noticing.
- Groups, events, and direct email/repeat — your loyalty-adjacent business.
The exercise of just listing these honestly already surfaces problems. The number of times a hotelier tells me “we don’t do wholesale” and then we find a bed-bank rate leaking onto a discount site… it is a pattern.
Step 2: Pull the real numbers per channel
Now the data. For each source on the map, I want four things over a clean 12-month window (or trailing 6 if data is messy):
- Room nights and revenue — from the PMS export by source.
- Acquisition cost — commission, paid spend, or both.
- Payment processing cost — card fees, which differ when the OTA collects versus when you do.
- Servicing cost — a rough estimate of staff time. Phone bookings cost labor; OTA bookings cost reconciliation time.
The commission piece is where the OTAs do their damage quietly. Standard OTA commissions run roughly 15 to 25 percent depending on the platform, your market, and whatever “preferred” or “genius”-style program you opted into. That range is the single biggest lever in the entire audit, and it is worth pulling your actual extranet statements rather than trusting the headline rate — the effective rate after promotions and visibility boosts is often a few points higher than the contract says.
Step 3: Calculate true contribution per booking
Here is the formula I run for every channel. It is not complicated, and that is the point — anyone can do it.
Net contribution per booking = ADR for that channel − commission − payment fees − servicing cost. Then multiply by volume to get the channel’s total take-home.
Let me show you what that looks like with illustrative numbers (these are made up to demonstrate the method, not a real property):
| Channel | Gross ADR | Acquisition cost | Payment + servicing | Net per night | Share of net |
|---|---|---|---|---|---|
| Booking.com | $180 | $32 (18%) | $7 | $141 | high volume, thin |
| Expedia | $185 | $42 (23%) | $7 | $136 | thinnest |
| Direct online | $175 | $9 (engine + paid) | $6 | $160 | fattest |
| Direct voice | $190 | $0 | $5 | $185 | best per booking |
| Metasearch to direct | $178 | $20 (bid cost) | $6 | $152 | mid |
Look at what jumps out. The OTA rooms might carry the highest gross ADR on the page and still hand you the least money. Direct voice — the channel everyone underinvests in — quietly tops the table. Once you see your own version of this table, you cannot un-see it. This is the moment the audit earns its keep.
I dig into the brutal arithmetic of that commission gap in my book-direct math breakdown, if you want to sit with the numbers a while longer.
Step 4: Spot the dependence and the leaks
With the money chart built, I look for three things.
Concentration risk. If one OTA is delivering north of, say, 40% of your net contribution, you are exposed. Not because that channel is evil, but because a single platform’s algorithm tweak or commission change can move your whole business. Healthy mix is about resilience as much as margin.
Parity leaks. I check whether your direct rate is actually competitive on metasearch and in the OTA listings. If a wholesale or bed-bank rate is undercutting you, the OTAs win the price-comparison moment and your direct channel never gets a fair shot. This is also why so many guests find an OTA before they find you — I wrote about that whole mechanism in how the OTAs intercept your search.
The “name search” tax. When someone Googles your hotel by name, who shows up first? If it is an OTA ad sitting above your own site, you are paying commission on a guest who was already trying to book you directly. That is the most maddening leak of all, and it has its own fix — see why your hotel ranks below the OTAs for your own name.
Step 5: Build the rebalancing plan
Now we do something with all of this. Rebalancing is not “turn off Booking.com.” That is fantasy, and it is also bad business — the OTAs are demand-generation machines that put you in front of travelers you would never reach alone. The goal is a healthier mix: reduce over-dependence on the thinnest, most concentrated channels and shift incremental demand toward the ones that pay.
Here is the order I tend to work in:
- Protect and grow direct voice. It topped the table for a reason. Train the front desk to convert calls, make the phone number obvious, and stop treating reservations as an interruption.
- Win the name search. Make sure that when someone looks you up, your own booking path is the first and easiest thing they find. This is where book-direct CRO and local search and Google Business Profile work together — the profile captures the intent, the booking flow converts it.
- Use metasearch deliberately. Done right, metasearch routes high-intent travelers straight to your direct engine instead of an OTA. It is a paid channel, so it goes in the audit too, but its job is to defend direct.
- Fix parity. Close the wholesale and bed-bank leaks so your direct rate is never the loser in a side-by-side.
- Grow your owned demand. Email, repeat guests, and increasingly your visibility in AI search. More travelers are asking ChatGPT and friends for hotel recommendations, and if you are invisible there you are leaving a free channel on the table — I broke that down in is your hotel invisible to ChatGPT.
Step 6: Re-run it (because the mix moves)
A channel-mix audit is not a one-time event. Markets shift, OTA programs change their terms, your direct channel grows, a new metasearch player shows up. I run a deep audit once or twice a year and a lighter check every quarter. The compounding effect is real: a few points of net contribution shifted from a thin OTA to your direct channel, repeated across a full year of room nights, is a meaningfully different P&L.
And to be clear about what I am not promising: nobody can guarantee you a specific ranking or a specific number of direct bookings. The OTAs are not going anywhere, and you would not want them to. What an audit gives you is honesty — a true picture of where your money comes from and a deliberate plan to nudge the mix toward the channels that pay you best.
What you actually walk away with
If you do nothing else from this post, do this: open your PMS, export bookings by source, and build the contribution table from Step 3 for your top five channels. Even a rough version will tell you something you did not know. Most hoteliers discover their “best” channel by volume is one of their worst by margin, and that single realization changes how they think about everything from rate strategy to where they spend their marketing dollars.
If you want help building the full map and the rebalancing plan — properly, with the parity leaks and name-search tax included — that is exactly the kind of work I do. Start with a look at our hotel SEO foundation and our 2026 starter guide, and when you are ready to put real numbers on the table, book a call with me and we will run your audit together. I would rather you see your own money chart than take my word for any of this.