I want to talk about the least glamorous, most expensive mistake I see independent hoteliers make with paid media: they spend the same amount every month.
Same Google Ads budget in February as in March. Same metasearch bids during a sold-out festival weekend as during a dead Tuesday in the shoulder. And then they wonder why the return looks mediocre averaged across the year. It looks mediocre because they are pouring money on a fire that is already out during peak, and starving the months where an ad genuinely changes whether a room sells.
Pacing is the whole game. So is having a ROAS target that reflects reality instead of the inflated number your ad platform proudly reports. Let me walk through how I actually do this for a boutique property, with the math, because the details are where the money is.
First, kill the flat budget
Hotel demand is not flat, so your budget cannot be flat. I bucket the calendar into three demand states, and every property has its own version of these:
- Peak / compression — high-demand dates where you will fill regardless. Festivals, holidays, that one conference that takes over the city.
- Shoulder — the in-between weeks. Demand exists but is soft. This is where marketing earns its keep.
- Need periods — the genuinely slow stretches. Midweek in the off-season, the gap after a holiday. Empty-room territory.
The instinct most owners have is exactly backwards. They spend heavily in peak because “that’s when people are searching,” and they pull back in slow periods because “nobody’s booking anyway.” Both moves destroy ROAS.
The marginal value of an ad dollar is highest when demand is soft and lowest when you are already compressing. In peak you are often paying to acquire a booking that would have arrived organically. In a need period that same dollar can be the only reason a room sells at all.
So the pacing logic inverts the instinct. Let me show you what that looks like as a starting framework. These are illustrative percentages of an annual paid budget, not a prescription, but they show the shape:
| Demand state | Share of nights | Typical budget posture | Why |
|---|---|---|---|
| Peak / compression | ~25% | Defend brand terms only, low spend | You will fill anyway; protect rate and your name |
| Shoulder | ~45% | Heaviest acquisition spend | Ads move the needle here; best efficiency |
| Need periods | ~30% | Aggressive promotion, lower ROAS target | A booking at thin margin beats an empty room |
Notice that peak gets the smallest slice even though it is your busiest, most lucrative season. That feels wrong until you internalize that you are not buying demand in peak, you are buying insurance against an OTA outbidding you on your own brand name. That is a defensive spend, and it should be small and surgical.
Pacing within a booking window, not just within a month
Here is the part most pacing advice skips. Hotel demand has a second dimension: the booking window. Guests for a peak date start searching months out; guests for a need-period Tuesday book three days before arrival.
If you pace purely by calendar month, you will overspend on peak dates four months early (when you should be barely defending) and underspend on need-period dates that are still wide open with 10 days to go (when you should be hammering the gas).
So I pace against the pace report, not the calendar. Every week I look at on-the-books for each future date relative to where it should be, and I move spend toward the dates that are pacing behind. A simple version of the rule:
- A date pacing ahead of forecast → reduce or pause acquisition spend. You are winning; stop paying for it.
- A date pacing on track → hold.
- A date pacing behind with the window closing → escalate spend and consider a rate or offer lever alongside it.
This is exactly how revenue managers think about rate, and paid media should be wired into the same brain. If your ads and your revenue management run in separate silos, you are leaving money on the table in both directions. I get into the channel-mix side of this in our piece on how OTAs steal search, because the same compression dates are when OTAs are most aggressive against you.
Now the part everyone gets wrong: your ROAS number is a lie
When Google Ads or your metasearch dashboard shows you a 9x return, it is almost always overstating reality, for three reasons. If you set budgets off that number, you will systematically overspend.
Reason one: cancellations
Platforms count the booking the moment it happens. They do not know — and do not care — that a chunk of those bookings will cancel before arrival. If your direct cancellation rate is 20 percent, then a reported 9x is really closer to 7.2x in realized revenue. Higher-cancellation segments (flexible rates, far-out bookings) inflate the gap further.
I always rebuild ROAS on realized, stayed revenue, not booked revenue. The formula I use:
Real ROAS = (Booked revenue × (1 − cancellation rate) − variable cost of the stay) ÷ ad spend
That variable cost of the stay term matters and gets ignored constantly. A booked room is not pure profit. Housekeeping, amenities, payment processing, OTA-equivalent costs if it came through a commissionable path — strip those out so you are measuring contribution, not top-line.
Reason two: attribution double-counting
Your brand-term paid search and your organic listing and your metasearch entry can all claim credit for the same guest. If you are running paid on your own hotel name and also ranking organically for it, the paid channel is frequently being credited for a booking you would have gotten for free. Pause brand paid for two weeks in a non-peak window and watch how much of that “lost” volume simply shifts to organic. That delta is your real incremental brand-paid value, and it is usually smaller than the dashboard implies. This is tied directly to why your hotel ranks below OTAs for your own name — if you fix the organic side, you need less defensive paid spend.
Reason three: lifetime value cuts the other way
The first two reasons make your reported ROAS too generous. This one makes it too stingy. A direct guest you acquire today is not worth one stay — they are worth their repeat visits, their direct rebookings (zero acquisition cost the second time), and the OTA commission you never pay on those future stays. If a meaningful share of your guests return, your true return on a first acquisition is higher than the single-stay number.
Cancellations and double-counted attribution push your real ROAS down. Repeat-guest lifetime value pushes it back up. A defensible target reconciles all three — most owners model none of them and just trust the dashboard.
Building a ROAS target you can actually pace against
I do not start with a target ROAS and hope. I back into it from the economics of the property. Here is the sequence, with illustrative numbers so you can see the mechanics:
- Start with average direct booking value. Say it is 600 dollars (three nights at 200).
- Strip variable cost to get contribution. If variable cost runs 35 percent, contribution is 390 dollars.
- Haircut for cancellations. At an 18 percent cancellation rate, expected realized contribution per booking is about 320 dollars.
- Add a conservative LTV uplift. If 25 percent of guests return once with near-zero reacquisition cost, you can credit a modest uplift — say 15 percent — bringing effective value to roughly 368 dollars. Keep this conservative; do not build a budget on optimistic repeat assumptions.
- Decide what you are willing to pay for that booking given the demand state.
In a shoulder period I might be willing to spend 60 dollars to net a booking worth ~368, which is a healthy realized ROAS in the 6x range on the booking value. In a need period I will happily spend 120 dollars for the same booking — a ~3x target — because the realistic alternative is an unsold room earning zero. In peak, I am barely spending at all, so ROAS there should look enormous because it is almost entirely brand defense on guests who were already coming.
That is the key insight: a single annual ROAS target is meaningless. You want a different target per demand state, and the need-period target should be deliberately low. A low ROAS on a room that would otherwise be empty is still pure incremental contribution.
How I split the budget across channels by season
Pacing is not only about how much, it is about where. The channel mix shifts with demand too:
- Brand search — always on, but tiny in peak (pure defense) and slightly larger in shoulder/need when you want to catch high-intent searchers comparing you to OTAs. Our book-direct CRO work matters most here, because winning the click is wasted if the booking engine then leaks the guest.
- Metasearch (Google Hotel Ads, Trivago, etc.) — this is your direct-booking battleground against the OTAs. I lean into it hardest in shoulder and need periods. There is a full breakdown in our guide to metasearch for independent hotels, and it is the single highest-leverage paid lever most independents underuse.
- Non-brand and prospecting — only worth real money in shoulder, where there is soft demand to capture and time in the booking window to nurture it. I kill most of this in peak and in last-minute need windows.
Every direct booking you pull through these channels is a booking you did not hand to an OTA at a 15 to 25 percent commission. Paid media will not let you escape the OTAs — nothing does, and you should not want to lose that distribution entirely — but a smart paced spend genuinely improves the mix and claws back margin. I ran the commission arithmetic in the book-direct math post if you want to see exactly how much a recovered direct booking is worth.
A realistic operating cadence
So what does running this actually look like week to week? Here is the rhythm I keep:
- Weekly: pull the pace report, compare on-the-books to forecast by future date, and shift budget toward dates pacing behind with closing windows. Reconcile reported ROAS down for cancellations.
- Monthly: rebuild realized ROAS on stayed revenue, not booked. Check it against your per-demand-state targets and rebalance the channel split.
- Quarterly: revisit your variable cost, cancellation rate, and repeat-guest assumptions. These drift, and a stale target quietly misprices every budget decision.
And a word on expectations, because I will not sell you a fantasy: paid media is a lever you control day to day, but it does not produce overnight transformation. Metasearch and brand efficiency improve over weeks as you tune bids and clean up your booking funnel. Nobody can guarantee you a specific ROAS or a number-one anything — what we can do is stop the obvious leaks, pace spend to where it actually moves bookings, and measure on money that truly arrives. Done consistently, that is what maximizes your odds of a return you can actually bank.
The takeaway
Flat budgets and dashboard ROAS are the two silent killers. Bucket your calendar into peak, shoulder, and need periods; spend least where you compress and most where ads change the outcome; pace against your booking window, not the wall calendar; and build a per-demand-state ROAS target off realized revenue net of cancellations, with a conservative nod to lifetime value. Do that and your paid program stops being a flat tax and starts being a precision instrument.
If you want a second set of eyes on your current pacing and a real ROAS model built off your actual numbers, book a free intro call and we will pull it apart together. You can also see how this fits the bigger picture on our paid and book-direct CRO services page.