Google Ads
The Tracking Mistake That Hides 1 in 4 Bookings
August 3, 20268 min readCPR West Covina
We audited our own Google Ads account and found that it was under-reporting bookings by 29%. Roughly one booking in four was invisible to the platform. We had been making bidding decisions, keyword decisions, and budget decisions on data that was missing a quarter of the outcome.
Nothing was broken in an obvious way. The tag was installed. Conversions were being recorded. The account looked fine. That is exactly why this is worth writing about: under-reporting does not announce itself, it just makes you slightly wrong about everything.
Why the number was wrong
The core problem in almost every CPR training site we look at is the same one we had: the booking does not finish where the ad click landed.
A student clicks the ad, arrives on the course page, opens the booking widget, and the payment step happens somewhere else. A checkout on a payment provider's domain. A scheduling tool in an iframe. A third-party cart. The click identifier that Google attached to the visit lives on the landing page URL, and by the time money changes hands the browser is in a different context that never received it. The sale is real. The attribution is gone.
The booking happened. The account just never heard about it.
Layer on top of that the ordinary attrition of modern browsers: cross-site restrictions, tracking prevention, ad blockers, a student who books on a phone at work and pays on a laptop at home. Every one of those is a booking your account will not connect to the click that caused it.
How to find out whether it is happening to you
You do not need a tool for this. You need two numbers and ten minutes.
- 01Count the real bookings for last month from the place money actually lands: your payment processor or your roster.
- 02Open Google Ads and count the conversions it recorded for the same period, plus whatever you can attribute to organic and direct.
- 03Compare. If the platform total is meaningfully below the real total, you have found your gap. Ours was 29%.
- 04Then check what your conversion action is actually counting. If it fires on a page view, a button click, or a form open rather than a completed payment, the number is not a booking count at all.
Both failure modes exist and they pull in opposite directions. Under-counting hides good keywords. Over-counting, where a soft action is recorded as a sale, invents good keywords that are not there. We have seen accounts doing both at once on different conversion actions, which produces numbers that are internally inconsistent and completely unusable.
What we did about it
Three things, in this order.
First, we made the click identifier survive the journey. The click ID is captured on the landing page and carried through every step of booking, including across the checkout hop, so the transaction and the click can be reconnected at the end. This is the reason several of our ad landing pages are rendered directly on the page rather than inside an iframe: an iframe is a different browsing context, and the click ID does not walk through the wall on its own.
Second, we redefined what counts. A conversion is a paid booking. Not a page view of a thank you page that anyone can reach, not a widget open, not a scroll. If the money did not move, it is not a conversion, and if you want to track the softer signals then track them as separate secondary actions that never touch bidding.
Third, we started feeding completed sales back into the account from the system that knows they happened, matched by click identifier, rather than relying only on a browser tag firing at the right moment on the right device. The browser is an unreliable narrator. The payment record is not.
Need a hand
Find out what your account is not counting
We will run the same comparison on your numbers on a 15-minute call, live, and tell you whether your conversion data is safe to make decisions on.
Book a 15-Minute CallWhat changes once the number is honest
Keywords you were about to cut turn out to be producing bookings you could not see. Keywords that looked fine turn out to be producing form opens and nothing else. Your cost per booking drops on paper, not because anything improved, but because you are finally dividing by the right number.
And the option to automate opens up. Smart bidding is a data amplifier: give it a clean signal and it can do useful work, give it a signal missing one booking in four and it will optimize enthusiastically toward the wrong keywords. We stayed on a manual $3.80 max CPC cap through this exact period, deliberately, because we did not trust the feed.
The uncomfortable part
If you have been running ads for a year on broken tracking, every conclusion you have drawn about your account is suspect. The keyword you killed. The campaign you paused. The verdict that Google Ads does not work for CPR classes. We are not saying your conclusions were wrong, we are saying you cannot know, because the data underneath them was missing a quarter of the answer.
Check it before you make one more decision. If you want somebody else to check it, our conversion tracking audit is that, and the software version is the piece that keeps the click identifier alive through checkout so this stops happening.
Troubleshooting
Questions we get asked
How do I know if my conversion tracking is under-reporting?
Why does an iframe break conversion tracking?
Does fixing tracking mean I get more bookings?
Can I just use smart bidding and let Google figure it out?
Need a hand
Tell us what your training company is stuck on
Fifteen minutes, on a call, looking at your real account or your real site. We will tell you what we would do first, including when the answer is nothing yet.
We run CPR West Covina: 4.9 from 300+ Google and Yelp reviews.
