Conversion tracking for tour operators, measured in completed departures
A tour operator's most important number is the split between direct bookings and OTA bookings, because the same seat earns very differently depending on which one filled it. On top of that, departures have finite capacity, weather cancels trips outright, and the booking can be months ahead of the date — which puts the completed departure a long way from the click that produced it.
Free30 minutesNo obligation
Getting and tracking leads for tour operators
Where a tour operator's bookings come from, and which seats your ads actually filled
A tour or activity operator fills departures from its own booking widget, OTAs such as Viator and GetYourGuide, hotel concierges, walk-ups and the phone. Count a conversion only for a direct online booking with its value and party size, reversed when weather or a minimum headcount cancels the trip, and keep OTA and concierge bookings out of ad credit.
The owner's version: Google Ads shows a few bookings, the FareHarbor or Peek dashboard shows plenty of direct ones with the booking platform listed as the source, and Viator fills the rest at a commission. The booking flow opens in an overlay or iframe served from the vendor's domain, so your site's tags never see the confirmation and the booking platform shows up in Google Analytics as a referral that overwrites the ad. Add a Google Ads tag on the confirmation page next to a purchase imported from Google Analytics and one booking counts twice. Xola's documentation says a button that redirects to its checkout, instead of opening the popup, loses conversion tracking. And a booking made in March for a July departure that then got rained out still sits in Google Ads as revenue.
The ten-minute check: click your own ad, open the booking widget, run a booking up to the payment step and note which domain the checkout lives on. In Google Analytics, look at last month's purchases by source; if the booking platform's domain appears as a referral, ad credit is being overwritten. Then compare direct online bookings in the reservation system with the purchase count in Google Ads for the same month, and list the departures cancelled for weather or low numbers.
Fixed looks like this: one purchase per booking, with value and party size, captured from the vendor's confirmation or webhook and sent server-side against the original click; the booking platform excluded as a referral; OTA and concierge bookings reported as their own channels; and cancellations reversed so revenue matches the departures that ran. A sold-out sunset cruise should also stop buying clicks. Our free audit runs a test booking through your widget and shows where the credit goes missing.
Where the leads come from
| Channel | Role | Note |
|---|---|---|
| Google Search ads | Visitors searching the activity and the destination, often from their hotel | Booking widgets on the vendor's domain need cross-domain or server-side capture, with value and party size. |
| Local Services Ads | Not available | Tour operators aren't on Google's US LSA category list. |
| Business Profile | Reviews, photos and directions to the meeting point | Track profile calls and website clicks on their own; many same-day bookings start here. |
| Meta | Inspiration before the trip and retargeting during it | FareHarbor allows one Meta pixel per dashboard; judge campaigns on direct bookings, not engagement. |
| Viator, GetYourGuide, Tripadvisor | OTA bookings at a commission | These buyers checked out on the OTA; never let their bookings into ad conversion imports. |
| Hotel concierges and resellers | Referrals from front desks and partners | Give each partner its own booking link or code so their bookings aren't credited to search. |
Which calls count
- Count it when
- Count the call when it ends in a booking for a specific departure, or in a private or group tour request with a date.
- Minimum duration
- Many calls ask about weather, parking or the meeting point, so duration is a poor filter. Count calls that become bookings in the reservation system.
- After hours
- Visitors plan tomorrow's activity in the evening, and the online widget should take those bookings. The phone matters for groups and same-day questions during operating hours.
Where each lead should land
- Direct booking from an ad
- Booking in FareHarbor, Peek, Xola or Rezdy with the click ID, value and party size, sent once to Google Ads and Meta.
- OTA booking
- Booking tagged Viator, GetYourGuide or Tripadvisor, reported as OTA revenue and kept out of ad uploads.
- Concierge or partner booking
- Booking with the partner's code or link, credited to that partner.
- Weather or low-numbers cancellation
- Cancelled booking reversed in reporting, so ad revenue matches departures that ran.
Tours and activities · what breaks
What tour operators and activity businesses usually run into
- 01
OTA and direct bookings blended
The same seat at very different margins, and OTA carries no click identifier.
- 02
Bookings counted rather than departures
Weather and minimum-numbers cancellations are real and frequent.
- 03
Departure capacity invisible
A full boat makes further spend waste.
Tours and activities · the fix
What changes — Tours and activities
Completed departures as the conversion
At the direct-booking value, from the reservation system.
Direct and OTA reported separately
Always, because the margin differs.
Capacity by departure in the report
So spend does not chase full trips.
Tours and activities · architecture
The conversion map for tour operators and activity businesses
Five events with a booking-to-departure gap measured in months.
- 1
Availability search
Volume signal, useful for demand shape.
- 2
Direct booking made
The valuable channel, with an identifier.
- 3
OTA booking made
Real revenue at lower margin, no identifier.
- 4
Departure completed
- 5
Cancellation
Weather or minimum numbers. Reversed.
Tours and activities · diagnose
Where tour operators and activity businesses tracking usually breaks
- 01
Long booking-to-departure gaps
Seasonal trips booked months ahead can exceed import windows.
- 02
OTA bookings with no click
Segment them out before measuring coverage.
- 03
Weather cancellations
Not campaign failures and they must reverse.
- 04
Minimum-numbers departures
A trip that does not fill does not run.
Tours and activities · prove
How the work is proven — Tours and activities
Source of truth
The reservation system — departures completed by departure date, by channel, for the same window
- Completed departures reconciled per booking against what each platform reports, direct only.
- OTA bookings identified and reported separately.
- The booking-to-departure gap measured against every import window.
- Cancellations confirmed to reverse.
Tours and activities · free audit
What we check in the free audit
- Long booking-to-departure gaps
- OTA bookings with no click
- Weather cancellations
- Minimum-numbers departures
Checked against
The reservation system — departures completed by departure date, by channel, for the same window
Free30 minutesNo obligation
Tours and activities · when not to buy
What lands in your monthly report — Tours and activities
- Completed departures and direct revenue by campaign, over a closed season.
- Direct versus OTA share, with the margin difference stated.
- Cost per completed departure next to cost per booking.
- Capacity utilisation by departure next to spend.
Tours and activities · what we deliver
The flow we build — Tours and activities
Click identifier captured and persisted
Bookings run months ahead of departure.
Carried into the reservation system
Onto the booking record.
Completed departure fires the conversion
At the booking value with the channel.
Cancellations reversed
Weather and minimum-numbers cancellations are common.
Written guarantee
95%+ tracking accuracy
Measured against The reservation system — departures completed by departure date, by channel, for the same window. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Tours and activities questions, answered
Reported separately, always. They arrive at materially lower margin through a channel that carries no click identifier, so blending them makes direct acquisition look worse and OTA look free — the opposite of the truth.
Because weather and minimum-numbers cancellations are frequent in this business. A booking is a promise; a completed departure is revenue, and the gap between them varies enough by season to change which campaign looks best.
Often not against the original click — that exceeds Google's 90-day window. Optimize on the booking, which happens near the click, and report departure revenue separately.
Report utilisation per departure next to spend. Advertising a departure that is already full is pure waste, and it is invisible in an ads account.
More on Tours and activities
- Google Ads · Tours and activitiesGoogle Ads conversion tracking for tour operators and activity businesses
- Meta · Tours and activitiesMeta Ads conversion tracking for tour operators and activity businesses
- TikTok · Tours and activitiesTikTok Ads conversion tracking for tour operators and activity businesses
RELATED GUIDES
Funnels, reconciliation and tools for tour operators
- Car washConversion tracking for car washes, measured in memberships
- Tattoo studiosConversion tracking for tattoo studios, measured in paid deposits
- Meta · Abandoned cart → recoveredHow to track cart abandonment to recovered sale for Meta Ads
- Google Ads · Checkout → purchaseHow to track checkout to purchase for Google Ads
- Google Ads × Booking SystemHow to reconcile Google Ads against your booking or reservation system
- Molo → Google AdsConnecting Molo to Google Ads
- ROLLERROLLER conversion tracking for attractions and venues
- Auto glassConversion tracking for auto glass, measured in completed jobs
Free · 30 min
Separate your direct margin from OTA
Free30 minutesNo obligation
