+150 XP

Calculating true customer acquisition cost

Two numbers on one board slide. Meta Ads Manager reports 500 bookings at $18 cost per booking. The Booking.com invoice for the same quarter shows $86,400 of commission. Someone concludes social is roughly twenty times cheaper and moves the money.

Neither figure is a CAC (Customer Acquisition Cost). The $18 excludes the photography, the agency retainer and every dollar of brand spend that made the audience receptive. The commission line is charged only on stays that happened, while the Meta number counts bookings, a share of which cancelled before arrival. Different denominators, different definitions of cost, same slide.

What follows is the arithmetic that closes the gap: commission, brand spend, agency fees and cancellations loaded into one fully-costed CAC per confirmed stay. The funnel stages and transitions are taken as given from the foundations lesson.

Four places the standard formula breaks

1. Commission is acquisition cost, invoiced after the fact. No campaign ran, but the guest was bought. OTA commission typically sits in the 15 to 25% band of stay value (industry estimate, varies by market, contract and visibility programmes).

2. Rate discounts hide inside the distribution deal. Booking.com's Genius tiers start at 10% off your rate. That discount is money spent to acquire a booking, and it never appears on a marketing budget line, so most CAC models miss it entirely.

3. The denominator drifts. Bookings, confirmed stays, room nights and passengers are four different units. A family of four booking one package is one acquisition and four pax. Pick one unit and hold it across every channel, or the comparison is noise.

4. Platform-reported conversions overlap. Meta and Google both count a booking they touched, and both are paid on the media they are reporting on. Their conversion counts are claims to reconcile against your PMS or booking engine, not ledger entries.

The formula, stated properly

Fully-costed CAC = (media + production + agency fees + commission + rate discounts + allocated brand spend) / confirmed stays in the period

ChannelWhat loads into acquisition cost
OTA (Booking.com)Commission on realised stay value, plus any programme rate discount
Metasearch (Google Hotel Ads)CPC or commission, platform fees, feed and connectivity costs
Paid social (Meta)Media, creative production, agency retainer or percentage-of-spend fee
Direct siteSEO and content resource, booking engine and CRM tooling, brand search defence

Brand spend (TV, radio, sponsorship, out-of-home) sits above all four. Allocate it across total confirmed stays rather than pinning it to one channel, and every channel's CAC rises by the same flat amount.

Worked example: one resort quarter, rebuilt

Meta. Media $9,000, creative production $6,000, agency retainer $4,000, so $19,000 loaded. Ads Manager claims 500 bookings; de-duplicating against Google Hotel Ads claims leaves 470 unique; 22% cancelled, leaving 367 confirmed stays. CAC = $19,000 / 367 = $52.

Google Hotel Ads. CPC spend $12,000, 300 claimed bookings, 20% cancellation, so 240 confirmed stays. CAC = $50.

Booking.com. 800 confirmed stays at $600 average stay value, commission 18% = $86,400. Add the Genius discount: 40% of those stays booked at 10% off, so 320 × $600 × 0.10 = $19,200. Total $105,600 / 800 = $132.

Direct site. SEO and content resource $15,000, tooling $4,000, 300 confirmed stays = $63.

Now the brand line: $30,000 of quarterly TV and radio across 1,707 confirmed stays adds $18 to every channel. Final numbers: Meta $70, metasearch $68, Booking.com $150, direct $81.

The twenty-to-one gap is really about two-to-one, and the "free" direct channel costs $81 a stay. Whether a 2x gap justifies moving budget depends on how often each guest comes back, which the lesson on guests who vanish for years models, and on whether $70 is even high for your segment, which is the benchmarking lesson's question.

Where the number still breaks

The cancellation asymmetry is the one that catches most teams. Commission is charged on realised stays, so OTA CAC arrives already expressed per confirmed stay. Paid media is charged on impressions and clicks, so it pays for cancelled bookings too. Divide media by gross bookings at a 30% cancellation rate and you understate CAC by 43% (1 / 0.7). In free-cancellation leisure markets, gross-to-stayed attrition of a third is unremarkable, and it is heavily seasonal, so a quarter with a soft cancellation window will make your best channel look worse than the quarter before.

Check the commission base in your contract. Whether the percentage applies before or after taxes and city fees moves the figure by several points, which is larger than most of the optimisations teams argue about.

Agency fee structure changes the shape of the curve, not just the level. A percentage-of-spend fee means CAC per stay stays flat as you scale, because the fee grows with the media. A fixed retainer means CAC falls with volume and spikes in a quiet quarter, which is why retainer-based teams look expensive every January.

Package operators face a different arithmetic. Jet2holidays sells flight and hotel together and sells direct, with heavy UK brand advertising, so there is no commission line at all and the brand allocation dominates the calculation. That also makes the unit of account decisive: booking, passenger or holiday. The same spend divided by passengers rather than bookings produces a number roughly three to four times smaller on family product, and nobody notices until two teams present incompatible figures.

The failure mode worth naming: cutting brand spend because the allocation makes every channel look expensive. Every channel line does improve the following quarter. Then brand search volume drops, direct share falls, more demand arrives through OTAs at commission, and blended CAC rises within two or three quarters. The allocated brand cost was the thing holding the cheap channels cheap.

Knowledge check

1. Why is comparing raw ad spend per booking across channels misleading in travel marketing?

2. A hotel's Instagram channel shows a very low cost per booking. What is the most likely explanation the lesson highlights for why this number could be misleading?

3. A resort shifts budget away from OTAs toward paid social because paid social shows a lower CAC. Based on the lesson's reasoning, what is the key risk of this decision?

MULTIPLE CHOICE

4. Select ALL correct answers describing structural features that make CAC calculation unusually difficult in travel and hospitality.

Select all the correct answers.

MULTIPLE CHOICE

5. Select ALL correct answers about why OTA commissions should be treated as part of customer acquisition cost.

Select all the correct answers.

A spreadsheet structure to run this yourself

Channel        | Media/Commission | Loaded costs | Rate discount | Claimed bkgs | Cancel % | Confirmed stays | Brand alloc | True CAC/stay
Meta           | 9000             | 10000        | 0             | 500 (470 net)| 22%      | 367             | 18          | =(B+C+D)/G+H
Google Hotel   | 12000            | 0            | 0             | 300          | 20%      | 240             | 18          | =(B+C+D)/G+H
Booking.com    | 86400            | 0            | 19200         | n/a          | n/a      | 800             | 18          | =(B+C+D)/G+H
Direct site    | 0                | 19000        | 0             | 340          | 12%      | 300             | 18          | =(B+C+D)/G+H

Run it quarterly, per property. The columns matter more than the tool: keep raw media separate from loaded costs, keep the rate discount visible, and never let a claimed booking count enter the denominator without a cancellation haircut. HBS Online's primer on CAC and LTV covers the general framework the module builds on.

Key Takeaways

  • Divide by confirmed stays, never by claimed bookings. At a 30% cancellation rate, the gross-bookings version of the number understates true CAC by 43%.
  • OTA commission is acquisition cost, typically 15 to 25% of stay value (estimate), and the Genius-style rate discount on top of it belongs in the same total.
  • Meta and Google are paid on the media they report on, so reconcile their conversion counts against your own booking records before either enters a denominator.
  • Allocate brand spend across all confirmed stays. It raises every channel's CAC by the same flat amount and stops paid social looking free.
  • Watch the fee structure: percentage-of-spend agency fees hold CAC flat as you scale, fixed retainers make quiet quarters look like a channel failure.

Related articles

Recent articles from the blog that build on this lesson.