If you cannot see which ad, keyword, or post produced a booking, every marketing decision is a guess. Conversion tracking is what turns "I think Google is working" into "Google produced these bookings worth this much last month." It is also what automated bidding feeds on: Google and Meta can only find more people like your bookers if they are told who booked.
This guide was first written in 2022. A lot has changed since then: Google's old Universal Analytics stopped processing data on July 1, 2023, Facebook's parent company is now Meta, and enhanced conversions and server-side tracking are now standard practice. Here is the current setup, in order.
Step 1: Decide what counts as a conversion
Pick one primary conversion: a completed booking, with its value. Not a visit to the booking page, not a click on "Book Now", not a form view. Those can be tracked as secondary signals, but if you tell Google that a booking-page visit is a conversion, it will happily buy you people who look at your calendar and leave.
Secondary actions worth tracking:
- Phone calls from ads and from your website.
- Corporate or party inquiry form submissions.
- Gift card purchases (as their own conversion, with value).
Step 2: Set up GA4 properly
GA4 is the only Google Analytics now. The essentials:
- 1One GA4 property with a web data stream for your website. Install the tag on every page, either directly or through Google Tag Manager.
- 2A purchase event when a booking completes, with the booking value and currency. GA4's recommended events include a purchase event, and its event reference lists value and currency as its parameters; use those names so reports and integrations understand them.
- 3Mark it as a key event. Google Analytics now calls important events key events; mark the purchase event as a key event so it shows up in reports and can be imported into Google Ads.
Step 3: Fix the booking widget problem
This is where escape room tracking often breaks. Your booking software often runs on its own domain or inside an iframe. Without extra setup, GA4 sees a visitor arrive from Google Ads, then "leave" to the booking domain, and the booking gets credited to a referral from your booking vendor instead of to the ad.
The fix depends on your platform:
- Cross-domain measurement. If the booking flow is on another domain you control or can tag, set up GA4 cross-domain measurement. It passes a "_gl" parameter between domains so the visitor keeps the same ID.
- Native integrations. Many booking platforms send GA4 events for you. FareHarbor has a GA4 setup guide, Bookeo documents its GA4 and Google Ads integration, and Resova works through Google Tag Manager. Follow your vendor's current guide rather than a generic tutorial.
- Unwanted referrals. Add your booking vendor's domain to GA4's list of unwanted referrals so it never steals credit.
Our booking software guide lists the tracking questions to ask before you choose a platform.
Step 4: Send bookings to Google Ads
You have two options:
- 1Import the GA4 key event into Google Ads. Link GA4 and Google Ads, then import the purchase key event as a conversion action. Simple, and it keeps one source of truth.
- 2Use the Google Ads conversion tag directly on the booking confirmation step, passing the booking value.
Use one or the other as your primary booking conversion, not both, or you will count each booking twice.
Then turn on enhanced conversions. It sends a hashed version (SHA256) of first-party data such as the customer's email with the conversion, which helps Google match bookings to ad clicks when cookies are missing.
Step 5: Track phone calls
Some groups will always call, especially for parties and corporate events. Add call assets to your search campaigns so people can tap to call from the ad, and set up call conversions so qualifying calls count. On your website, track clicks on your phone number as a secondary action.
Step 6: Track Meta too
If you run Meta Ads (Facebook and Instagram), install the Meta Pixel and send a Purchase event with value on booking completion. Add the Conversions API, which sends the same events from your server as well as the browser; Meta deduplicates events it receives both ways. The Meta Ads playbook covers the campaign side.
Step 7: Test before you trust it
- 1Make a real test booking (refund it afterwards) after clicking one of your own ads or a link with UTM tags.
- 2Watch GA4's Realtime report: you should see the purchase event with a value.
- 3In Google Ads, check the conversion action status and, a few hours later, the conversion itself.
- 4In Meta Events Manager, use Test Events to confirm the Purchase event arrives.
- 5Repeat on a phone. Mobile booking flows break in their own ways.
If the purchase event arrives without a value, or the booking is credited to your booking vendor's domain, go back to Step 3.
Step 8: Read the data monthly
- Cost per booking by campaign in Google Ads and Meta.
- Bookings by source in GA4 (Traffic acquisition, filtered to the purchase key event).
- Booking value by campaign so you can compare campaigns on revenue, not only on count.
Common mistakes
- 1Counting booking-page views as conversions.
- 2Two primary booking conversions in Google Ads (tag plus GA4 import) counting every booking twice.
- 3Booking vendor showing up as the top referral source in GA4.
- 4No value on the purchase event.
- 5Phone bookings not counted at all.
- 6Never testing after a website or booking software change.
The bottom line
Tracking is not glamorous, but it is the foundation every other improvement stands on: the budget guide, the Google Ads fixes, and automated bidding all assume bookings are measured. If you want it set up and tested for you, see our conversion tracking service.
Explore our escape room marketing services, check our case studies, or get a free PPC audit.
Back to all articles


