Conversion tracking for hotels, built around the direct booking
Every direct booking a hotel wins is revenue that didn't go to an OTA, which makes direct-booking attribution one of the highest-value measurement problems in hospitality — and the booking engine almost always sits on a domain the hotel doesn't control. The guest leaves your site mid-journey, the session splits, and the booking gets credited to your own homepage as a referral. Add hospitality's cancellation rates and the reported revenue figure is doubly wrong.
Free30 minutesNo obligation
Getting and tracking leads for independent hotels
Why the booking engine says full and Google Ads says almost nothing
An independent hotel's paid demand ends in four places: the direct booking engine, a phone reservation, an OTA such as Booking.com or Expedia, and group or wedding inquiries. Ads see only part of the first. Count a direct reservation by arrival date and net of cancellations, record phone bookings with their source in the property system, and keep OTA reservations out of anything you call an ad conversion.
The symptom general managers describe: the weekend is sold out, GA4 credits most reservations to 'Direct' or to your own booking-engine domain, and Google Ads shows a handful. What is happening is that the guest leaves your site for a booking engine on another domain, Cloudbeds, ThinkReservations, ResNexus, innRoad or Little Hotelier, and the session and click ID often don't follow. Each engine breaks differently: Cloudbeds asks you to pick its direct GA4 integration or GTM, not both, or bookings double-fire; ThinkReservations doesn't work with GTM at all and sends tax-exclusive revenue to GA4 while Meta receives tax-inclusive totals; Mews and SiteMinder send guests through a payment domain and back. Meanwhile the couple who called to book the inn's suite, and the group block that started as an email, never touch a tag.
That costs you in the comparison that matters most: direct versus OTA. If the ads look weak because their bookings are credited to 'Direct', the brand campaign that protects your name from OTAs bidding on it gets cut, and the commission you pay rises. If cancellations are never reversed, the opposite happens and a campaign that fills refundable rates looks better than it is. The ten-minute check: pick last month's reservations in the property system, filter to direct web bookings, and compare the count and revenue with what Google Ads and GA4 report for the same dates. Then open a test booking from an ad and see whether the click ID survives onto the confirmation page.
Fixed looks like: cross-domain measurement set up for your specific engine, one purchase event per confirmation number with a consistent revenue definition, cancellations deducted, phone and group bookings recorded with their source in the property system, and a monthly report of direct revenue by channel next to OTA commission. The free audit starts by tracing one real booking from ad click to confirmation, then reconciling a month against the property system.
Where the leads come from
| Channel | Role | Note |
|---|---|---|
| Local Services Ads | Not available for hotels | Lodging isn't on Google's US Local Services Ads category list; hotel visibility on Google runs through the hotel listing, Search ads and the Business Profile. |
| Google Search ads | Brand protection against OTAs and searches for the town, the event weekend or the type of stay | Bid on the direct booking with revenue from the booking engine, deduplicated by confirmation number. |
| Business Profile and hotel listing | Where travelers compare your rate with the OTAs, read reviews and call | Put UTMs on the website link so profile bookings aren't lumped into organic, and track its calls apart from the main reservation line. |
| Meta | Retargeting past guests and visitors, and packages for slow weeks | Measured against booking-engine reservations with value; watch the tax-inclusive versus tax-exclusive mismatch some engines create. |
| Nextdoor | Locals booking rooms for visiting family or a staycation | Minor; track it only if you run local offers there. |
| Booking.com, Expedia, Tripadvisor | Commissioned reservations and the reviews travelers read | These bookings arrive through the channel manager with no click ID. Report them apart, never as ad conversions. |
Which calls count
- Count it when
- Count the call when a caller gives arrival dates and books, or asks to hold, a room or a group block. Guests calling about an existing stay, late check-out or lost items are not leads.
- Minimum duration
- Duration is a weak test here; a booking call and a directions call can last the same time. Use the reservation created in the property system as the conversion.
- After hours
- Front desk or night audit staff answer at many hotels; a small inn or B&B often doesn't. Point after-hours callers to the booking engine rather than a voicemail that empties the next morning.
Where each lead should land
- Booking engine reservation from an ad
- Reservation in the property system with confirmation number, revenue and the source captured by cross-domain measurement, reversed if cancelled.
- Phone reservation
- Reservation keyed by the front desk with a source field, matched to tracked calls by number and time.
- OTA reservation
- Reservation from the channel manager tagged with the OTA, reported with its commission, never uploaded as an ad conversion.
- Group, wedding or event inquiry
- Lead in the sales or event system such as Tripleseat with the source, followed to the signed contract and room block.
Hotels · what breaks
What hotels usually run into
- 01
Bookings credited to the booking engine
As a self-referral, not to the campaign.
- 02
Cancellations never reversed
And hotel cancellation rates are high.
- 03
OTA and direct blended
Making direct performance impossible to judge.
Hotels · the fix
What changes — Hotels
Direct bookings attributed to campaigns
Not to your own domain.
Cancellations reversed
So reported revenue is net.
OTA and direct cleanly separated
Two channels, two stories.
Hotels · architecture
The conversion map for hotels
Five stages, one domain boundary in the middle, and a cancellation rate that makes net revenue the only honest number.
- 1
Date search
Browser-side. Strong intent signal for retargeting.
- 2
Availability checked
Browser-side or engine-side, depending on what's exposed.
- 3
Booking confirmed
Server-side from the property system, with room revenue as the value.
- 4
Cancellation
Server-side reversal. Not optional in hospitality.
- 5
Stay completed
The truest conversion, if you can wait for it.
Hotels · diagnose
Where hotels tracking usually breaks
- 01
The domain hop to the booking engine
Session splits, the campaign loses credit, and your own site becomes your top referrer.
- 02
Cancellations never reversed
Reported revenue overstates by whatever your cancellation rate is.
- 03
Engine confirmation pages that can't be tagged
Some engines allow nothing, which forces the property-system path.
- 04
OTA bookings counted as direct
Making direct performance look better than it is.
Hotels · prove
How the work is proven — Hotels
Source of truth
your property management system's reservation records
- Identifiers confirmed surviving the hop into the booking engine, or the fallback path verified.
- Self-referral revenue reduced to near zero.
- A real cancellation tested and confirmed reversing.
- Reservations reconciled against the property system for a closed month.
Hotels · free audit
What we check in the free audit
- The domain hop to the booking engine
- Cancellations never reversed
- Engine confirmation pages that can't be tagged
- OTA bookings counted as direct
Checked against
your property management system's reservation records
Free30 minutesNo obligation
Hotels · when not to buy
What lands in your monthly report — Hotels
One page a month, in language you can put in front of a general manager.
- Direct bookings, room nights and net revenue for the month, by channel.
- Cancellation rate by channel — it varies, and it matters.
- Direct versus OTA, separated.
- Cost per net booking, after cancellations.
Hotels · what we deliver
The flow we build — Hotels
Cross-domain linking into the booking engine
Where the engine supports it.
Referral exclusions set
So your own domain stops being a source.
Property management system as the source of truth
Reservations, not confirmation pages.
Cancellation webhook wired as a reversal
Essential in this vertical.
Written guarantee
95%+ tracking accuracy
Measured against your property management system's reservation records. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Hotels questions, answered
Yes. The conversion comes from the property system's reservation record, with the click ID captured before the guest left your site.
Because the booking engine saw a guest arrive from your site with no prior session. That's the standard cross-domain symptom.
In hospitality, definitely. Cancellation rates are high enough that gross booking revenue systematically overstates what your campaigns produced.
No — the OTA owns that journey. Keep them in a separate channel so your direct performance stays readable.
More on Hotels
- Google Ads · HotelsGoogle Ads conversion tracking for hotels
- Meta · HotelsMeta Ads conversion tracking for hotels
- TikTok · HotelsTikTok Ads conversion tracking for hotels
RELATED GUIDES
Funnels, reconciliation and tools for hotels
- Auto glassConversion tracking for auto glass, measured in completed jobs
- Car washConversion tracking for car washes, measured in memberships
- Google Ads · Abandoned cart → recoveredHow to track cart abandonment to recovered sale for Google Ads
- Meta · Checkout → purchaseHow to track checkout to purchase for Meta Ads
- Meta × Booking SystemHow to reconcile Meta Ads against your booking or reservation system
- Mews → Google AdsConnecting Mews to Google Ads
- Hospitable (Direct)Hospitable Direct: tracking the booking, not just the visit
- Window tintingConversion tracking for window tinting, measured in completed jobs
Free · 30 min
Attribute direct bookings, net of cancellations
Free30 minutesNo obligation
