Skip to main content
Google Ads · HotelsGoogle Ads × Hotels

Google Ads conversion tracking for hotels

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. What Google Ads adds on top of that is a mechanical requirement: gclid, gbraid and wbraid have to reach the record that holds the money, because Google Ads can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in hotels, and what Google Ads specifically needs to accept it.

Free30 minutesNo obligation

Specific to Google Ads × Hotels

Google Ads for hotels: gclid into the booking engine, net of cancels

Track a hotel's Google Ads bookings as a purchase-type conversion action uploaded from the property management system against the gclid, gbraid or wbraid captured before the guest crossed to the booking engine. Send room revenue as the value, then retract or restate cancelled reservations with Google's conversion adjustments so bidding learns from net revenue.

Google is usually a hotel's largest paid source of direct bookings, and a big share of it is brand search: people typing the property's name after spotting it on an OTA. That traffic converts well and would often have booked anyway, so split brand from non-brand before reading any cost per booking. If you also run Hotel Ads or a hotel-feed campaign, check whether your booking engine reports those conversions itself as an integration partner, or the same reservation can land in two conversion actions.

The gclid has to leave your site with the guest. Most booking engines accept parameters on the deep link, but some drop them on their first redirect. Test with a real ad click and then open the engine's reservation export to see whether the identifier arrived. If it never does, store it on your side against a session and join on the confirmation number the engine hands back.

Cancellations are where Google is easier than most platforms. It accepts conversion adjustments, so a cancelled reservation can be retracted and a shortened stay restated to the lower value, provided the original upload carried an order ID you can reference. Lead time is not a problem either: the conversion is the booking date, not the arrival, so a summer stay booked in March still sits inside the import window. Count every conversion, because one guest can hold two separate reservations.

Google Ads · Hotels · what breaks

Why Google Ads under-reports for hotels

  1. 01

    Bookings credited to the booking engine

    As a self-referral, not to the campaign.

  2. 02

    Cancellations never reversed

    And hotel cancellation rates are high.

  3. 03

    OTA and direct blended

    Making direct performance impossible to judge.

  4. 04

    Gclid, gbraid and wbraid never reaches the record

    Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.

Google Ads · Hotels · the fix

What working looks like — Google Ads · 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.

Google Ads · Hotels · architecture

How Google Ads and hotels actually connect

  1. 1

    The conversion in hotels

    Search, availability check, booking, stay, cancellation. Booking value should be net of cancellation, which means the cancellation has to be an event.

  2. 2

    Google Ads needs a click to match

    A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.

  3. 3

    The identifier: gclid, gbraid and wbraid

    Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.

  4. 4

    Where it gets sent from

    your property management system's reservation records.

  5. 5

    Deduplication and window

    There's no shared event ID mechanism like Meta's. What matters instead is the counting setting on each conversion action — 'one' for lead-type conversions so a repeat submitter doesn't count three times, 'every' for ecommerce where a second purchase is a second sale. This is the single most common misconfiguration we find in Google Ads accounts. Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.

Google Ads · Hotels · events

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.

Date searchBrowser-side. Strong intent signal for retargeting.
Availability checkedBrowser-side or engine-side, depending on what's exposed.
Booking confirmedServer-side from the property system, with room revenue as the value.
CancellationServer-side reversal. Not optional in hospitality.
Stay completedServer-side. The truest conversion, if you can wait for it.

Google Ads · Hotels · diagnose

Diagnostic order — Google Ads · Hotels

  1. 01

    Count records carrying gclid, gbraid and wbraid

  2. 02

    The domain hop to the booking engine

    Session splits, the campaign loses credit, and your own site becomes your top referrer.

  3. 03

    Cancellations never reversed

    Reported revenue overstates by whatever your cancellation rate is.

  4. 04

    Engine confirmation pages that can't be tagged

    Some engines allow nothing, which forces the property-system path.

  5. 05

    Read the match rate on the upload, not the success message

    A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.

Google Ads · Hotels · prove

How it gets proven — Google Ads · 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.
  • The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.

Google Ads · Hotels · free audit

What we check in the free audit

  • Count records carrying gclid, gbraid and wbraid
  • The domain hop to the booking engine
  • Cancellations never reversed
  • Engine confirmation pages that can't be tagged
  • Read the match rate on the upload, not the success message

Checked against

your property management system's reservation records

Get my free conversion tracking audit

Free30 minutesNo obligation

Google Ads · Hotels · when not to buy

When you don't need this — Google Ads · Hotels

  • If Google Ads already reports conversions that reconcile against your property management system's reservation records within a few percent, this is working and there is nothing to buy.
  • Measure identifier coverage yourself first — pull your last hundred records and count how many carry gclid, gbraid and wbraid.
  • If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.

Google Ads · Hotels · what we deliver

What gets built — Google Ads · 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.

  • Dispatch via Google's offline conversion import

    Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.

Written guarantee

95%+ tracking accuracy

Measured against your property management system's reservation records. Miss it and we keep working at no cost.

Get my free conversion tracking audit

From $400 · See packages

FAQ

Google Ads · Hotels questions, answered

Yes. Give each source its own conversion action, and confirm whether your booking engine already reports Hotel Ads bookings so a reservation is not counted twice.

Free · 30 min

Get Google Ads reporting what hotels actually earn

Free30 minutesNo obligation