Booking and Form Conversion Tracking Setup for Google Ads, GA4 and Meta, $199

Booking and Form Conversion Tracking Setup for Google Ads, GA4 and Meta, $199

Most Google Ads accounts that send traffic to a booking page are optimising for the wrong thing. The campaign counts clicks, or page views, or a thank you page that half the visitors never see, while the meetings themselves go uncounted. Google then learns to find people who click, not people who book.

The fix is the same four steps every time: catch the booking where it happens, send it to GA4 as a key event, import that into Google Ads as a conversion, mirror it to Meta. Each of the four tools does step one differently, and that difference is where people lose an afternoon. I have written the free walkthrough for each, and this page is for the people who would rather have it done.

Done with you, same day

Booking and form conversion tracking, $199

One tool, wired to GA4, Google Ads and Meta on a screen share with your accounts open. Tested with a live booking before we hang up.

Book the setup

Not sure this is the problem

Ask first

Thirty minutes, free, to look at what the account is optimising on. If the $199 is the wrong product I will say so.

Book a call

The booking tracking path that the setup builds: the booking tool fires its own event or posts a message to the host page, a listener pushes it to the dataLayer, Tag Manager sends it to GA4 as a key event and to the Meta pixel with an event ID, and Google Ads imports the GA4 key event as a conversion action

What gets set up

One booking tool or form. Calendly, Cal.com, HubSpot meetings or Tally. The event is caught at the source, not on a redirect page: Calendly’s Google Analytics integration, Cal.com’s bookingSuccessful embed event, the meetingBookSucceeded message from HubSpot, the Tally.FormSubmitted message from Tally.

From there the path is the same. A dataLayer push with the event and, where the tool provides it, the event type or form name as a parameter. A Tag Manager trigger. A GA4 event tag, marked as a key event. A Google Ads conversion action imported from that key event, set as primary if bookings are what the campaigns should learn from. A Meta pixel tag firing Schedule or Lead with an event ID, so a server side copy through the Conversions API can be added later without double counting.

You get a short note afterwards listing every tag, trigger and conversion by name, so the next person who opens the container knows what is there and why.

What it fixes

Three things, in the order they show up in accounts.

Campaigns optimising on clicks or page views. Google Ads is bidding for the cheapest click to the booking page, which is not the same person as the one who books. Once the booking is the conversion, the campaign learns from the right outcome and the cost per booking drops within a few weeks as it exits learning.

Bookings lost to the thank you page. A redirect after booking fires only if the visitor waits for it. On mobile a share of people close the tab on the confirmation screen, and those bookings never reach the ad platforms. Catching the event inside the embed counts all of them.

Meta and Google disagreeing with the calendar. When the booking tool shows 40 meetings and the ad platforms show 12, nobody trusts the numbers and budget decisions get made on gut. With the event firing to both, the three sources agree to within attribution windows, and the gap that is left is explainable.

What the setup fixes: campaigns optimising on clicks instead of bookings, bookings lost on the thank you redirect, and ad platforms disagreeing with the calendar, each with the cause and the state after

How the call runs

You share your screen with Tag Manager, GA4, Google Ads and the booking tool open. I talk, you click, so the access and the ownership stay with you and nothing is set up under an account you do not control. The listener goes on the page, the trigger and tags go into the container, we publish, and you make a test booking. We watch it land in GA4’s realtime report and in Tag Manager’s preview, and we create the Google Ads conversion action from it. The Meta event is checked in Events Manager’s test events.

Forty five minutes to an hour. The one thing that cannot be done on the call is Google Ads showing the conversion as active, because the GA4 key event takes up to a day to appear for import. I check that the next day and message you.

Do it yourself instead

Everything on this page is written up free, step by step, for each tool:

If you read one of those and it worked, you do not need this page. If you read one and got stuck at the Tag Manager step, which is where most people get stuck, that is what the $199 is for.

When this is the wrong product

If purchases are missing from Meta, if GA4 and Shopify disagree on revenue, if the campaign is optimising on an event that does not exist in the data, the booking setup will not fix it and I will tell you that on the call rather than take the $199. That is a tracking audit across the stack, scoped separately, and the Meta tracking post is the free version of what it covers.

If the bookings are tracked and the campaigns still do not perform, the problem is upstream of tracking: structure, creative or the offer. That is the ads work, which starts with the audit and is priced on the account.

Frequently asked questions

What does the $199 tracking setup include?
One booking tool or form, Calendly, Cal.com, HubSpot meetings or Tally, connected to GA4 as a key event, imported into Google Ads as a conversion action, and mirrored to the Meta pixel with an event ID so the Conversions API can deduplicate later. Done on a screen share with your accounts open, tested with a live booking, and a short written note of what was set up and where.
How long does it take?
Forty five minutes to an hour on the call. The GA4 key event can take up to a day to appear in Google Ads, so there is a follow up check the next day, by message, to confirm the import went active.
Do I need a thank you page?
No, and the setup does not use one. Redirects after booking lose everyone who closes the tab on the confirmation screen. The setup catches the booking event inside the embed itself, so it counts whether or not the visitor waits.
Which tools are covered?
Calendly through its Google Analytics integration, Cal.com through its embed event, HubSpot meetings and Tally through the message they post to the host page. Other tools that fire an event or post a message on completion can usually be done the same way; ask before booking.
Will it work if the booking page is on calendly.com rather than my site?
Calendly yes, because its integration fires on the hosted page. Cal.com, HubSpot and Tally need to be embedded on a page you control, because the setup listens on that page. If yours is a bare link, we embed it as part of the call; it is one script tag.
What if the problem is bigger than bookings?
Then this is the wrong product and I will say so on the call. Purchases missing from Meta, GA4 and Shopify disagreeing, campaigns optimising on the wrong event: that is the tracking audit, scoped separately. The $199 covers the booking event and nothing else, which is why it is $199.
Is there a guarantee?
The booking fires in GA4, Google Ads and Meta on the call, with you watching, or you do not pay. The next day check confirms the Google Ads import went active. Beyond that I cannot guarantee what your campaigns do with the data, only that they finally have it.