Most hoteliers I talk to have a channel-mix goal that sounds exactly like this: “I want more direct bookings.” That is it. That is the whole strategy. And I get why, because the OTA commission line on the P&L stings every single month and “more direct” feels like the obvious fix.
But “more direct” is not a target. It is a mood. You cannot measure it, you cannot hold anyone accountable to it, and worst of all, it can quietly lead you to make worse decisions, like spending two dollars in ad spend to win a direct booking that only saved you one dollar in commission. You felt productive. You lost money. The mix looked “healthier” on a pie chart and your bank account did not agree.
So in this post I want to walk you through the method I actually use with independent and boutique properties: setting per-channel production targets based on net contribution and demand season, not occupancy and not gross ADR. By the end you will have concrete mix percentages to aim at instead of a vibe.
Why occupancy and ADR lie to you about channel value
Here is the trap. Two bookings come in for the same room, same night, same rate of 200 dollars.
- Booking A comes through a major OTA.
- Booking B comes through your website.
On your occupancy report they are identical. On your ADR report they are identical. If you are optimizing for “heads in beds” you treat them as twins. But they are not twins, they are barely cousins, because what lands in your bank account is wildly different once you strip out the cost of acquiring each one.
OTA commissions generally run around 15 to 25 percent of the booking value. So that 200 dollar OTA booking might hand back only 150 to 170 dollars before you have paid for a single clean towel. The direct booking keeps far more of that 200, minus your payment processing and whatever marketing you spent to earn it.
That gap is the entire game. And it is invisible if you are only looking at occupancy and ADR.
A room night is not worth its rate. It is worth its rate minus the cost of the channel that delivered it. Two bookings at the same ADR can have a 30 to 40 dollar swing in what they actually contribute. Manage the mix on contribution, and the right channel decisions stop being arguments.
Step one: calculate net contribution per channel
Before you can set targets, you need to know what each channel is genuinely worth to you. I call this net contribution per room night, and you build it channel by channel. Start from the rate and subtract everything it costs to acquire and process that specific booking.
Here is the rough skeleton for each channel:
Net contribution = ADR − channel commission − payment fees − direct acquisition cost − variable servicing cost
Let me make that concrete with an illustrative example. These numbers are hypothetical, made up purely to show the shape of the math, not real benchmarks:
| Channel | ADR | Commission / fees | Acquisition cost | Net contribution |
|---|---|---|---|---|
| Direct (brand search) | $200 | $6 (payment) | $4 | $190 |
| Direct (paid ad) | $200 | $6 (payment) | $35 | $159 |
| OTA | $200 | $40 (20%) | $0 | $160 |
| Metasearch to direct | $200 | $6 (payment) | $22 | $172 |
| Corporate / negotiated | $175 | $5 (payment) | $2 | $168 |
Look at what that table reveals. A direct booking from your own brand search is the king at 190. But a direct booking you had to buy with a 35 dollar ad click drops to 159, which is actually below the OTA at 160 in this scenario. That is the nuance “more direct” completely misses. Not all direct is created equal, and some direct can cost you more than the OTA you were trying to avoid.
This is also why I push so hard on owning your branded search and your local presence, because that “free” direct from people typing your hotel name is the highest-contribution business you have. If you are getting outranked for your own name, you are leaking your best channel. I wrote a whole breakdown on why your hotel ranks below OTAs for your own name if that is happening to you, and the fix usually starts with your Google Business Profile.
Step two: rank channels by contribution, then by scalability
Once you have a net contribution number for each channel, rank them. But contribution alone is not enough, because the highest-contribution channel might also be the hardest to scale.
Brand-search direct is gorgeous at 190 a night, but you can only get as much of it as there is demand for your name. You cannot magic up more people Googling “your hotel” than already exist. So you score each channel on two axes:
- Contribution per room night (how much each booking is worth net).
- Headroom (how much more volume you can realistically pull from it before it gets expensive or runs dry).
A channel that is high contribution and has headroom is where you press the gas. A channel that is high contribution but capped, you protect and defend but cannot grow infinitely. A channel that is low contribution but has endless volume, like the OTAs, becomes your release valve, not your enemy.
The OTAs are not the villain in your story. They are an expensive but reliable demand source. The mistake is letting them deliver business you could have won more profitably yourself, especially repeat guests and people already searching your name.
I want to be really clear here, because there is a lot of bad advice floating around: you are not going to fully escape the OTAs, and you should not try to. They put your property in front of travelers who have never heard of you, in markets and languages you cannot reach alone. The goal is to reduce your dependence on them and win back the bookings that should have been direct, so your mix gets healthier and your margin improves. That is a very different thing from “firing Booking dot com,” which is a fantasy that ends with empty rooms.
Step three: overlay demand season (this is where it gets good)
Here is the part almost nobody does, and it is the difference between a static pie chart and a real strategy.
The right channel mix flips depending on demand. The same OTA booking that is barely worth taking in your peak season can be genuinely valuable in your soft season. Let me explain why.
High-demand season: defend margin, push high-contribution channels
When you are going to sell out anyway, every OTA booking you take is a room you could have sold direct at full contribution. In peak periods the OTA is not bringing you incremental demand, it is just intercepting demand that was already coming. So in high season your targets should tilt hard toward your highest-contribution channels:
- Cap OTA allocation deliberately (reduce availability, not rate parity games that get you in trouble).
- Push direct and brand channels as hard as you can.
- Defend rate. Do not discount direct to “compete” with yourself.
In peak season I might target something like 55 to 65 percent direct and corporate, with OTAs squeezed to a supporting role, because the demand is there and you do not need to buy it.
Low-demand season: chase volume, OTA commission earns its keep
Now flip it. In your slow season the math inverts. An empty room contributes exactly zero. An OTA booking at 160 net contribution is infinitely better than the 190-contribution direct booking that never showed up. In soft periods the OTA’s reach and their marketing budget become an asset, because they are filling rooms you genuinely could not fill on your own.
So in low season your targets loosen:
- Accept more OTA volume. The commission is the cost of filling the room, and a filled room beats an empty one every time.
- Keep your direct and acquisition spend efficient. Do not pay 35 dollars in ads to win business when soft demand makes every dollar precious.
- Lean on metasearch, which often sits in a sweet spot of decent contribution and incremental volume. I dig into that in metasearch for independent hotels.
In a soft period I might be totally happy with the OTA share climbing to 40 percent or more, because the alternative is a dark hallway.
Same hotel, same OTA, opposite verdict. In peak season that OTA booking cannibalizes a direct sale you would have made anyway, so you cap it. In low season it fills a room that would have gone empty, so you welcome it. A channel-mix target that ignores season is wrong half the year.
Step four: write down concrete targets per season
Now you turn all of this into actual percentages someone can be held to. Here is the format I hand properties. The numbers below are illustrative, you will set yours based on your own contribution math and your market:
| Channel | Peak target | Shoulder target | Low target |
|---|---|---|---|
| Direct (organic / brand) | 35% | 30% | 25% |
| Direct (paid) | 10% | 12% | 8% |
| Corporate / group | 18% | 15% | 12% |
| Metasearch | 12% | 13% | 15% |
| OTA | 25% | 30% | 40% |
Three things make this work where “more direct” failed:
- It is measurable. At month end you compare actual production to target by channel and you know instantly where you drifted.
- It is seasonal. You are not fighting the OTAs in November when you need them.
- It is contribution-aware. Every target traces back to net contribution per room night, so you are optimizing the number that actually hits your bank account.
The cheap mistakes this method kills
Once you manage by contribution and season, a bunch of expensive habits just die on their own:
- Overspending on paid direct in peak season. If brand-search direct is already filling the room at 190, paying 35 a click to win the same guest is lighting money on fire. The model exposes it.
- Panic-discounting direct to “beat” OTA rates. You end up undercutting your best channel to win business you already had. Contribution math shows you that a slightly lower OTA rate with their commission can still net you more than a discounted direct rate.
- Treating all direct as victory. A direct booking that cost you 40 in acquisition is not automatically better than an OTA booking. Sometimes it is worse.
If you want the raw arithmetic on what each direct booking actually saves you versus an OTA, I broke it all the way down in the book-direct math on OTA commission cost. And if your whole problem is that OTAs are intercepting demand that should be yours, this is worth reading on how OTAs steal search.
Where SEO and AEO fit into all of this
You might be wondering why an SEO person is this deep in revenue math. Here is the connection: the entire reason this method works is that your highest-contribution channel, organic and brand-driven direct, is the one search and AI visibility actually grow.
Every point of branded-search direct you win back is a 190-contribution room instead of a 160 OTA room. That is what good hotel SEO is quietly doing to your P&L. And as more travelers plan trips through AI assistants, being the hotel that gets recommended in ChatGPT and the like becomes the same fight in a new arena, which is what AEO and GEO work is about. (If you have never checked whether you even show up there, start with is your hotel invisible to ChatGPT.)
None of it guarantees a number. Nobody honest can promise you a ranking or a fixed direct percentage. What it does is maximize the odds that your cheapest, highest-margin channel keeps growing, so your seasonal mix targets are actually achievable instead of aspirational.
Your homework this week
You do not need a fancy revenue system to start. Open a spreadsheet and do three things:
- Build your net contribution per channel. Pull last year’s data, strip out commissions, fees, and acquisition cost. Get a real number per channel.
- Split your year into peak, shoulder, and low. You already know your seasons in your gut, now put dates on them.
- Write a mix target for each channel in each season. Make it specific. Make it measurable. Tape it above your desk.
That single exercise will do more for your margin than any “we should get more direct” meeting you have ever had.
If you want a second set of eyes on your contribution math, or you want to attack the part of the mix that SEO and AI visibility can actually grow, that is exactly what we do. Book a call and we will pressure-test your channel-mix targets together, or start with our book-direct CRO work if your direct channel is the piece that needs the most help. Your mix should be a strategy, not a mood, and getting there is more straightforward than it feels right now.