Your booking pixel fires on invites you send yourself
How to stop a scheduling tool crediting internal invite bookings to Google Ads, and how to tell the two apart before you trust the numbers.
By Chen Deng · OxOne, Calgary AB
- Time20 min
- You needGTM access + Tag Assistant
- StopsFree bookings counting as ad conversions
Add a condition so your booking system's Google Ads conversion tag only fires for public self-serve bookings, not the invites your staff create — then re-test in Tag Assistant before trusting the numbers again.
You send a client a booking invite by hand — a follow-up call, a re-book, a warranty visit. They click the link, pick a time, land on the confirmation page. And your Google Ads account quietly logs a conversion, as if an ad had earned that booking. It didn't. Nobody paid a cent to acquire it. But the campaign now looks a little better than it is, and every free internal booking makes it look better still.
This is easy to miss because the tag works. It fires on every completed booking, exactly as installed. The problem is that "every completed booking" includes the ones you generate yourself.
Why a free booking still counts as a paid conversion
The mechanism is the click ID. When someone clicks your ad, Google stores a gclid in their browser. If that same person converts any time inside your conversion window, Google attributes it to that earlier click — even if the path to the conversion had nothing to do with the ad.
So a customer who clicked an ad in the past, then got a manual invite from you, produces a conversion Google happily credits to that old click. The booking cost you nothing to acquire, but it inflates the campaign it's attached to.
Check your conversion window in Google Ads (Goals → Conversions → your action → settings). The longer it is, the more old ad clicks are eligible to catch a free booking weeks later.
Find the signal that tells the two apart
Before you can suppress the tag, you need something on the page that marks a booking as internal. Most scheduling tools give you at least one of these:
- A different confirmation URL or path for admin-created bookings versus public ones.
- A booking "source" or "type" field you can read from the page or the data layer.
- The ability to append a query parameter to invite links you send (for example
?src=invite).
If your tool exposes none of these, the query-parameter route is the reliable fallback: you control the invite links, so you can tag them yourself.
Fix it in GTM, then prove it
- Open Tag Assistant (tagassistant.google.com) and connect it to your site in preview mode.
- Do one real public booking and one internal invite booking. Watch which one fires the Google Ads conversion tag — you'll almost certainly see both fire.
- In Google Tag Manager, find the trigger on that conversion tag. Add a trigger exception, or tighten the trigger's conditions, so it does not fire when your internal signal is present — for example when
Page URLcontainssrc=invite, or when the booking-source variable equals your admin value. - Republish the container.
- Re-run both test bookings in Tag Assistant. The public one should fire the conversion; the invite one should not.
If your conversion is hard-coded into the booking tool rather than routed through GTM, check the tool's own settings — many let you disable tracking for admin-created bookings, or set a separate confirmation page. When in doubt, read the vendor's docs rather than guessing at what a toggle does.
A campaign that looks great on free bookings will lose you money the day you scale it.
What you can't undo
You can't retroactively strip the bad conversions out of past Google Ads data — they're baked in. What you can do is stop the bleed now and re-baseline: watch your conversion count for a week or two after the fix and expect it to drop. That drop is the real number. Don't panic and don't raise bids to "recover" it.
- Confirm both booking types in Tag Assistant, not just one.
- Tag every invite link you send from now on with your chosen parameter.
- Note the fix date so you know which historical data to distrust.
If you're spending real budget and can't tell which conversions are genuine, get someone to audit the account before you make bid decisions on it. Optimising toward a fake number is worse than not optimising at all.
Every one of these came out of work we actually did. If you would rather not do it yourself, book a free 30-minute diagnostic and we will tell you which of these your business is losing money to.