— Measurement
Which ads drive your tour bookings? Tracking FareHarbor and OTA sales
When bookings happen on FareHarbor or Viator, your ads lose sight of the sale. How to connect GA4, Google Ads and Meta to the booking, in three levels.
Your ads can't see your tour bookings because the booking happens somewhere else. The visitor clicks your ad, lands on your site, clicks "Book now", and pays on FareHarbor or an OTA. Your pixel saw the click but never saw the sale, so Google and Meta optimise for clicks instead of bookings.
The fix doesn't require changing how you take bookings. It's a measurement layer on top of what you already use, and it comes in three levels.
Why does the sale disappear?
Tracking pixels only see pages on the domains where they're installed. When a visitor moves from yourwinery.com to a booking engine on another domain, three things break:
- The session breaks. GA4 treats the booking engine visit as a new visitor, often labelled as referral traffic from your own site.
- The ad click ID gets lost. The
gclid(Google) andfbclid(Meta) that tie a sale to an ad stay behind on your site. - The ad platform never hears about the sale. Google Ads and Meta see traffic, but no purchases. Their bidding algorithms then look for more clicks, not more guests.
This matters most once you're spending on ads. Smart Bidding and Meta's Advantage+ campaigns learn from the conversions you send them. If you send none, they optimise on the wrong signal.
Level 1: track the click that leaves your site
This works on every booking system, with no access to the booking platform. Fire an event every time someone clicks a booking button: begin_checkout in GA4, InitiateCheckout on Meta.
It's not a sale, but it's a strong intent signal and it's ready the same day. It tells you which campaigns send people to book, and it gives the algorithms something better than a page view to learn from.
Level 2: let the booking engine report the sale
Most modern booking engines can send the real purchase to your tracking tools, but only if your IDs are entered inside the booking platform.
On FareHarbor, that means:
- In the FareHarbor Dashboard, enter your GA4 Measurement ID, your Google Ads conversion ID and label, and your Meta Pixel ID.
- Make sure the Book buttons on your site use FareHarbor's Lightframe links, not a plain link to the booking page. Cross-domain tracking depends on it.
- In GA4, add FareHarbor's domains under Admin > Data Streams > Configure your domains.
- Once purchases flow, mark
purchaseas a key event in GA4 and import it into Google Ads.
Mews and Cloudbeds work the same way through a Google Tag Manager container ID entered in their booking engine settings.
The practical catch is access. The person running your ads usually has the website and the ad accounts, not the booking platform. The whole unlock is ten minutes in one settings screen: either you paste the IDs your marketer sends, or you give them temporary access to that screen.
Level 3: import bookings you can't tag
Some bookings will never pass through your pixel: OTA sales, phone bookings, emails. For those, you can upload conversions afterwards.
Export the bookings (or collect the confirmation emails), hash the guest's email and phone, and upload them as offline conversions to Google Ads and through Meta's Conversions API. The platforms match them to the people who saw or clicked your ads. Nothing leaves your hands unhashed.
It's more work to set up, but it's the only way to count revenue from bookings that happen on someone else's checkout.
What about Viator and GetYourGuide?
Be realistic. Your ads shouldn't send traffic to an OTA listing, because you pay commission on a guest your ad already paid for. Operators commonly report OTA commissions in the 20 to 30% range. If a visitor from your ad books through an OTA anyway, Level 1 shows you the click and Level 3 can recover the booking. Otherwise, the OTA keeps the data.
The goal isn't to leave the OTAs. They bring guests who would never find you. The goal is to know which bookings your own ads create, so your budget follows guests and not clicks.
Where to start
If you're running ads today with no booking data in them, start with Level 1 this week and ask for the ten minutes in your booking platform next. Most setups I audit are one settings screen away from seeing real bookings.
If you want me to check yours, I run paid media for wineries and wine tourism and every engagement starts with a free account audit. If your ads also run in the US, read Meta's alcohol ad rules for wineries first.
FAQ
Why don't my Google Ads or Meta Ads show tour bookings?
Because the booking happens on another domain, like FareHarbor or an OTA. Your website pixel sees the click on 'Book now' but never sees the confirmed sale, so the ad platform can't connect the booking to the ad.
Can FareHarbor send bookings to Google Analytics 4 and Meta?
Yes. FareHarbor's Dashboard has built-in tracking integrations for GA4, Google Ads and the Meta Pixel. Your tracking IDs have to be entered inside FareHarbor, and the Book buttons on your site need to use FareHarbor's Lightframe links for cross-domain tracking to work.
Can I track bookings that come through Viator or GetYourGuide?
Not with a pixel. The checkout belongs to the OTA and you can't add your tags to it. The practical options are tracking the click that sends people there, or importing bookings afterwards as offline conversions.
What is cross-domain tracking in GA4?
It's a GA4 setting that keeps one visitor as one session when they move from your site to your booking engine's domain. Without it, the booking looks like it came from a new visitor with no ad behind it.