CPR West Covina Logo

Measurement repair

Fix Google Ads Conversion Tracking

If your ad account reports fewer conversions than your bank account shows sales, every bid you make is based on a number that is too low. We find the gap, close it, and feed real sales back in, including the ones that happen by phone.

  • 01We found a 29% under-report in our own account and fixed it
  • 02Phone and walk-in sales fed back as offline conversions
  • 03Reported-versus-actual reconciliation you can check yourself
4.9 from 300+ Google and Yelp reviews on our own CPR businessBuilt by operators, not a software company

Assembly

How the tracking repair works

Six steps. Step one is arithmetic, and it is the step almost nobody runs.

6 steps

  1. Audit what is counted

    We compare ad-reported conversions against real sales, one by one.

  2. Find where clicks die

    Redirects, iframes, and thank-you pages that never fire a tag.

  3. Capture the click ID

    The gclid is stored with the lead the moment it arrives.

  4. Match sale to click

    When payment lands, it is joined back to the click that caused it.

  5. Upload offline conversions

    Real completed sales are fed back into the ad account.

  6. Bid against reality

    The algorithm optimizes on sales, not on partial form fills.

From our own account

Conversion tracking report showing under-reported conversions
The under-report we found in our own account, before we fixed the tracking.

Contents

What you get

In the box

  • 01Full audit of your existing conversion actions
  • 02A reported-versus-actual sales reconciliation
  • 03gclid capture stored with every lead
  • 04On-domain booking so the click ID survives
  • 05Offline conversion upload for phone and walk-in sales
  • 06Deduplication so one sale counts once
  • 07Conversion values passed, not just counts
  • 08A written record of what was broken and what changed

Price

What it costs

Starting at

$500 to build, $29/month

Founder pricingFirst 10 clients · Prices rise Jan 2027

What’s included

  • 011 ad account
  • 02Daily upload

Anything beyond the starting build gets a real quote after a 15-minute call.

Prices go up in January 2027. Book before then and your rate is locked for as long as you stay a client.

Common assembly error

The 29% we were not counting

Without it

The number in Google Ads and the number in your bank account do not match, and the ad account is always the smaller one. Most owners notice, assume the platform knows something they do not, and keep bidding on the bad number.

We found this in our own account. Google was reporting roughly 29% fewer conversions than the sales we had actually taken. The missing ones were not random: they were the phone bookings, the students who redirected to a third-party checkout, and the sales completed on a second visit days later. Every one of those was real money the bidding could not see.

The damage is not the reporting. It is that Smart Bidding and every optimization decision you make run on that undercount. Keywords that convert by phone look dead and get cut. Your CPA looks worse than it is, so you lower budget on campaigns that are actually profitable. You are steering with an instrument that reads low, and you are steering away from the money.

Why are my Google Ads conversions missing or lower than actual sales?

There are four usual causes and they compound. First, the sale happened by phone, and unless call conversions and offline uploads are configured, nothing is recorded. Second, checkout redirects to a payment processor on another domain, so the tag on your thank-you page never fires or fires without the click ID. Third, the booking lives in an iframe, which breaks the connection between the page that holds the gclid and the page that completes the sale. Fourth, the conversion window is shorter than your real buying cycle, so a student who clicks Monday and books Friday falls outside it. Fix them in that order, because phone and redirect losses are almost always the biggest.

How do I set up offline conversion tracking for a service business?

The mechanism is straightforward and almost nobody does it. When a visitor arrives from an ad, Google appends a gclid to the URL. You capture that value and store it with the lead, alongside the phone number and email. Later, when that person actually pays, whether that happens on the site, over the phone, or at your front desk, you upload the completed sale back to Google Ads with the stored gclid, the conversion time, and the value. Google joins it to the original click. Now the campaign, ad group, and keyword that produced a phone booking get credit for it. The whole thing hinges on capturing the gclid at arrival, which is why on-domain booking pages matter.

How do I track phone bookings in Google Ads?

Two layers, and you want both. The first is a call conversion, which records that a call from an ad reached a certain duration. That is a proxy for a sale and it is better than nothing, but a four-minute call from someone asking about parking counts the same as a four-minute call that books a class. The second layer is the real one: match the caller back to a completed payment and upload that as an offline conversion with its actual value. In our own business, phone bookings were a large share of the roughly 29% that was going unreported, and they were concentrated in a few keywords, which meant those keywords looked like losers on a report that could not see their sales.

How do I audit whether my Google Ads conversion tracking is accurate?

Pick a closed month and count your actual sales from your payment processor. Then pull conversions for the same month from Google Ads with the same attribution window. If the two numbers are within a few percent, your tracking is fine and you can go do something else. If the ad account is materially lower, list the sales it is missing and sort them by how they happened. The pattern tells you the cause: mostly phone means no offline upload, mostly online means your tag or click ID is breaking somewhere in checkout. Do this before you touch bids. Every optimization decision you make on top of broken tracking is a guess wearing a number.

What changes after conversion tracking is fixed?

Your CPA gets better without you spending differently, because the same money is now credited with sales it was always producing. Then the useful part starts: keywords you were about to cut turn out to convert by phone, and keywords you were protecting turn out to be carried by a single duplicate. Bid strategies get a real signal to optimize on. In our own account the numbers we work from now are $21 per booked student, 596% ROAS, and 9.5% CTR, and none of those would be trustworthy on the pre-fix data. Fix the measurement first, then optimize. The other order wastes months.

Troubleshooting

Conversion tracking questions, answered

How do I know if my tracking is under-reporting?
Compare one closed month of payment-processor sales against the conversions Google Ads reports for that month. A gap of more than a few percent means something is not being counted, and the shape of the missing sales tells you what.
Does this require changing my website?
Usually yes, in small ways. The most common change is moving booking on-domain so the click ID survives to checkout, plus adding gclid capture to your lead records. If your booking is inside an iframe on someone else's domain, that is normally the first thing to fix.
Will fixing this increase my ad spend?
It does not change your budget. It changes what the bidding sees. If you use automated bidding, expect it to shift spend toward keywords whose sales were previously invisible, which is the point.
Can you fix tracking without managing my ads?
Yes. The tracking work stands on its own and you keep running your own account. If you would rather hand over the campaigns too, that is our agency side and it is a separate conversation.
What about a sale that happens two weeks after the click?
Offline conversion uploads carry the original click time and the actual conversion time, so a delayed sale still gets attributed correctly as long as it falls inside your conversion window. Setting that window to match your real buying cycle is part of the audit.
How do you make sure one sale is not counted twice?
Every uploaded conversion carries an order identifier, and the online tag and the offline upload are reconciled against it. Double counting is worse than under-counting, because it makes the bidding confident about something that is not true.
Does this work with Meta or only Google?
The same mechanism exists on Meta with its own click ID. The pattern is identical: capture the click ID at arrival, store it with the lead, send the completed sale back when it happens.
How long does the fix take?
The audit is quick, usually a few days of comparing records. The repair depends on what is broken. Adding gclid capture and offline uploads is straightforward. Moving a booking flow off a third-party domain takes longer, because that is a website change.

Need a hand

Find out what you are not counting

Get on a call. Bring one month of sales and one month of Google Ads conversions, and we will tell you where the gap is coming from before you change a single bid.

We work with CPR and certification training companies nationwide