Google Ads conversions not tracking is the kind of problem that costs you thousands before you notice. Nobody sends you a warning email. The account keeps spending, the dashboard keeps showing green numbers, and one campaign has been recording zero for six weeks. I recently sat down with a business owner running three Google Ads campaigns who had been told by two different freelancers that his conversion tracking was fixed and tested. It was not. And the deeper problem was he had no way to verify their word either way. That inability to verify is what this article solves.
Why conversions stop recording and nobody notices for weeks
Every service business owner I talk to assumes the same thing. If tracking breaks, somebody will tell them. Google will flag it. The freelancer will catch it. The agency will spot it in the weekly report. None of that is true. Google Ads conversion tracking not working is the single most expensive silent failure in a small business ad account, and the reason it stays silent has nothing to do with technical complexity. It has to do with how the reporting is built.
Google never alerts you when tracking breaks
Google Ads will happily spend your budget whether or not conversions are being recorded. There is no red banner, no email, no push notification that says "hey, your Search campaign stopped recording form fills on August 3rd." The Diagnostics tab exists, and I will get to it, but it is buried, and most account owners have never clicked it. The default experience is you see conversions when they fire, and you see nothing when they do not. Nothing looks exactly like a slow week.
How one broken campaign hides behind healthy account totals
This is the part nobody writes about, and it is the most common failure mode I see. Picture an account with three campaigns. Search is recording fine. Performance Max is recording fine. The remarketing campaign, though, quietly stopped firing conversions two weeks ago because the tag on the landing page got overwritten during a site update. On the account overview, total conversions look normal. The account is "green." But that remarketing campaign has been eating budget with zero attributed conversions the whole time. Picture a campaign spending $412 in a month recording exactly zero conversions while the other two campaigns keep the account totals looking healthy. That is per-campaign blindness, and it is the reason a review that only looks at account totals will never catch the leak.
What a silent month of broken tracking actually costs
Do the math with real numbers. A typical service business running $3,000 a month in Google Ads on a Search campaign with a 6% conversion rate should be pulling in around 40 to 60 leads a month depending on cost per click. If tracking breaks and only 60% of conversions are actually getting reported back to Google, the Smart Bidding algorithm now thinks half your keywords do not work. It will pull spend away from the terms that were making you money and push it toward whatever it thinks is converting. Within three weeks your cost per lead can double, not because the market changed, but because you fed the bidder bad data. The financial cost of broken tracking is not the missing report. It is the drift in what Google decides to spend your money on next.
This week: open your Google Ads account, note the last date every conversion action fired, and write it down.
First, confirm it is actually broken: the 15-minute check
Before you rip apart your Google Tag Manager container or call the person who built your site, do the 15-minute check. Most of the panic I get from clients about Google Ads not recording conversions ends up being one of three easy-to-spot issues that show themselves in the interface if you know where to look.
The Diagnostics tab inside Google Ads
Inside Google Ads, go to Goals, then Summary, then click into any individual conversion action. There is a Diagnostics tab. It will tell you the last time the action recorded a conversion, whether the tag is firing, whether it detected a recent conversion, and if there is a mismatch between what the tag reports and what the ad account sees. This is table stakes and you should be checking it monthly. If a conversion action says "No recent conversions" and your ads are spending, something is wrong.
Segment by conversion action, not account totals
In the Campaigns view, add a segment for Conversion Action. Now you can see, per campaign, which conversion actions are actually firing. This is the fastest way to spot the "one campaign is dead" problem. If your Search campaign shows form fills and phone calls, but your Performance Max campaign shows only phone calls with no form fills for the last two weeks, you have a landing page tag issue on the PMax destination.
Check per campaign, because that is where breaks hide
Never trust account totals alone. Go campaign by campaign. Yes, it takes ten extra minutes. Yes, it will save you $400 to $2,000 a month in wasted spend on a campaign whose bidder has gone blind. The whole reason conversion tracking stopped working problems drag on is that most people look at the top-line number, see it looks fine, and move on. The break is always one level down.
This week: segment every campaign by conversion action and screenshot the report so you have a baseline to compare against next month.
The four breaks inside the Google stack
If the 15-minute check shows something is off, the problem is almost always in one of eight places. Four of them live inside the Google ecosystem, and every ranking article covers them. I will move through these fast because they are well documented elsewhere, then spend real time on the four nobody writes about.
Auto-tagging switched off
Auto-tagging is what adds the gclid parameter to your ad URLs, which is how Google Ads knows a conversion came from a specific ad click. If auto-tagging is off, or if a redirect on your site is stripping the gclid, your conversions cannot attribute back. Check under Admin, then Account Settings, then Auto-tagging. It should say "Tag the URL that people click through from my ad." If it does not, turn it on.
A conversion action sitting at Inactive or No recent conversions
In the conversions dashboard, every action has a status. "Recording conversions" means it is working. "Inactive," "No recent conversions," or "Tag inactive" means it is not. If you see one of those statuses on an action that should be firing daily, the tag on your site either got removed, got moved, or never installed correctly in the first place. Click the action, look at the tag setup, and use Google Tag Assistant to see whether the tag actually loads when you visit the page.
The tag firing on page load instead of form submit
This one inflates your numbers instead of hiding them, and it is worse because you think everything is fine. If your conversion tag fires when the thank-you page loads, great. But if somebody put the tag on the form page and set it to fire on page load, every single visitor counts as a conversion, including bounces. Or worse, somebody wired it to a button click that fires whether or not the form actually submitted. The fix is to use a proper trigger in Google Tag Manager, either a form submission event or a thank-you page URL match, and verify it fires once and only once per real conversion.
Duplicate or dead Google Tag Manager containers
Sites get rebuilt. Developers change. Somewhere along the way, a second GTM container gets installed, and now you have two containers firing tags. Either you get duplicate conversions (inflated numbers), or the old container has the working tag and the new one does not (silent break). Open the page source, search for GTM-, and count how many container IDs you see. It should be one. If it is two, one of them is orphaned.
This week: install Google Tag Assistant in your browser, walk through your site, and confirm exactly one GTM container is loading on every page.
The four breaks between your systems (the ones nobody checks)
Here is where the ranking articles stop and where the real money leaks. For trades and service businesses, most conversions are phone calls. Google Ads call conversions not tracking is a category of failure that lives between your systems, not inside any single one of them, which is exactly why nobody catches it. These are the breaks I find on almost every audit.
Your call tracking link to Google Ads silently de-authorized
If you use CallRail, WhatConverts, or any call tracking tool, it is connected to Google Ads through an OAuth link. That link is tied to whichever Google account authorized it, usually the account owner or a former agency. When that person changes their password, gets removed from the account, or has their two-factor authentication reset, the link can silently de-authorize. The call tracking tool still records calls. Google Ads just stops receiving them. Nothing errors out. The dashboard in your call tracking still looks fine. But every ad-driven call for the last three weeks is now attributed to "Direct" or "Organic" inside Google Ads. Your Smart Bidder is now optimizing against a fraction of your real conversion volume. I have seen this exact break sitting in accounts for four to five months at a time. Check your call tracking integrations page monthly and re-authorize whenever anyone on the team has a password change.
The number-swap script missing on funnel and landing pages
Call tracking works by swapping the phone number on your site based on where the visitor came from. Ad visitors see one number, organic visitors see another, and the tool knows which is which. That swap only happens if the number-swap script is on the page. Which is usually true on your homepage. And then somebody spins up a new landing page for a new campaign, or a funnel builder page, or a lead magnet, and forgets to include the script. Every ad call from that page now books as organic. Every one. The campaign looks like it makes zero phone calls. This is the single most common reason I see a Google Ads campaign look "unprofitable" when it is actually crushing it. Audit every single URL you drive ad traffic to, view page source, and confirm the number-swap script is loading.
The click ID dropped at a domain hop
You run ads to a landing page on funnel.yourdomain.com. That page has a form that redirects to a thank-you page on www.yourdomain.com. The gclid parameter was in the URL on funnel.yourdomain.com, but the redirect stripped it. Now the conversion fires on the thank-you page, but the gclid is gone, so Google Ads sees it as unattributed. Same problem happens when you use a third-party form builder or a scheduling tool that opens on a different subdomain. The fix is to either preserve the query string across the redirect, or use enhanced conversions to pass user-provided data (email, phone) so Google can match without the gclid.
A consent banner quietly blocking every tag
If your site added a GDPR or CCPA consent banner in the last year, and it defaults to blocking analytics and advertising cookies until the user clicks accept, every visitor who ignores the banner is invisible to Google Ads. Depending on how strict the default is, this can wipe out 30% to 70% of your conversion tracking. Google's Consent Mode v2 is the workaround, and it needs to be configured properly inside GTM. Most consent banners install with defaults that break tracking and nobody thinks to check.
This week: open every landing page you send ad traffic to, view source, and confirm both your call tracking script and your conversion tag are loading.
The one test that settles it: fire a real conversion and watch both sides
Here is the trap. When you ask the person who runs your ads whether tracking is working, they will say yes. When you ask if they tested it, they will say yes. Neither answer is proof. The only real verification is to fire one actual conversion down the exact path a customer walks, and then watch it land in both places it needs to land.
Walk the path a real customer walks
Do not test from the ad preview tool. Do not test by loading the landing page directly. Search Google for one of your keywords on your phone, on cellular data not office wifi, click your actual live ad, fill out the actual form or call the actual number, and complete the actual conversion. That is the customer path. If the tracking survives that, it works. If it does not survive that, it does not work, no matter what any tool says.
Watch it land in Google Ads AND your call tracking
For form fills, log into Google Ads and watch for the conversion to appear (it can take up to three hours, but usually shows within 30 minutes). For calls, watch it land in your call tracking dashboard as an ad-attributed call, and then watch it land in Google Ads as a phone call conversion. Both sides. Not one. If it shows in the call tracker but not in Google Ads, the OAuth link is dead. If it shows in Google Ads but not attributed to the right campaign, the gclid got dropped. Both dashboards, every time.
Why "we tested it" from a contractor is not evidence
Back to the business owner I mentioned at the top. Two different freelancers told him tracking was fixed and tested. Neither had shown him a screenshot of a live test conversion landing in both Google Ads and the call tracker. That is what "tested" means. Anything short of that is a promise, not proof. When you pay someone to fix tracking, the deliverable is a screenshot or a screen recording of a real test conversion appearing in both systems, with the timestamp visible. If they cannot produce that, they did not verify the fix. If you want a second set of eyes on your setup and are not sure what to trust, email me at aaarhontoulis@gmail.com or call (484) 602-6390 and I will tell you honestly what I see.
This week: fire one real conversion down your live ad, and demand a screenshot from your ads person showing it landed in both Google Ads and your call tracker.
Fixed is not done: why tracking breaks again
The other thing nobody tells you is that a working tracking setup is not a permanent state. It is a snapshot. Tracking that worked in March breaks in June because something else in the business changed. The list of what can break it is not long, but it is constant.
Site updates and new landing pages
Every time your web person pushes a change, tracking is at risk. Theme updates, plugin updates, page rebuilds, new landing pages spun up for a new promotion. Any of it can strip a tag, break a trigger, or push a page live without the number-swap script. The fix is not to freeze the site. The fix is to verify after every push.
GTM edits nobody logged
Google Tag Manager has versions, and you can look at the version history to see who published what and when. In practice, if two or three people have access to the container and none of them log what they change, tracking breaks and nobody remembers touching anything. Lock down GTM access, log changes, and publish only from a staging container.
Password changes that kill account links
Every OAuth link between your call tracker, your CRM, your analytics, and Google Ads is riding on somebody's authentication. When they change a password, enable two-factor for the first time, or lose access, the links can quietly die. Not always. Usually. Enough that you need to re-verify integrations after any credential change.
New cookie banners
Your legal team says the site needs a new consent banner. It gets installed. Nobody configures Consent Mode properly. Tracking drops 40% overnight and nobody connects the two events for six weeks. This is happening constantly right now as more businesses adopt stricter defaults.
This week: write down every event that has happened in the last 90 days (site updates, password changes, new pages, new banners) and re-verify tracking after each one you can identify.
How I make sure it never breaks silently again
The reason tracking stays broken is not that fixes are hard. It is that verification is manual and nobody has time to do it every day. So it gets done once, called good, and then quietly rots. What I do for clients is remove the manual step entirely.
A read-only daily check on every conversion path
I built the Conversion Tracking Health Monitor to solve exactly the problem the business owner at the start of this article had, which is not knowing whether to trust the answer. It runs a read-only daily check on every conversion path in the account. It confirms auto-tagging is still on, every conversion action is still recording, the call tracking OAuth link is still authorized, the number-swap script is still present on every ad landing page, and consent-mode tags are still firing. It never creates, changes, pauses, or manages anything in the account. It only reads and reports. If you want to see how the output looks before deciding anything, there is a live demo with sample data you can walk through.
Per campaign, so nothing hides behind totals
The monitor checks per campaign, not account totals. That is the whole point. If Search is fine and Remarketing is dead, the monitor tells you Remarketing is dead. If PMax stopped recording form fills but is still recording calls, it tells you that too. No aggregation. No averages. Per campaign, per conversion action, every day.
One email the day something stops recording
The output is one email, only when something is off, only to the person who needs to know. Not a daily report you have to read. Not a dashboard you have to log into. Just an email that says "your Performance Max campaign has not recorded a form conversion in 48 hours, here is what changed." That gets you from "broken for six weeks" to "broken for one day." That single change is worth more than any tracking rebuild, because the rebuild only fixes today. The monitor catches tomorrow. This is the same category of always-on infrastructure I build with Apex Autobots for lead response and CRM auto-fill, work that has to happen every day whether anyone remembers to check.
This week: if you want the monitor pointed at your account, email me at aaarhontoulis@gmail.com and I can have it running on your account with the first build going live in about a week.
What to do this week
You do not need to do everything in this article. You need to do four things, in order, and you can do them all in about two hours across the week.
- Run the 15-minute check. Open Google Ads, go to Goals, look at Diagnostics on every conversion action. Note which ones say "Recording conversions" and which do not.
- Segment every campaign by conversion action. This is where per-campaign blindness dies. If any campaign shows zero of a conversion action it should be recording, you found your leak.
- Fire one real test conversion. Search for your keyword, click your live ad, complete the conversion. Watch it land in Google Ads and (if it is a call) in your call tracker. Screenshot both.
- Set up ongoing verification. Either build a manual weekly review into your calendar, or point a read-only monitor at the account so you find out same-day when something breaks, not six weeks later.
If you want a second set of eyes on any of this, or you want the monitor running on your account so this problem stops happening, email me at aaarhontoulis@gmail.com or call (484) 602-6390. I will tell you honestly what I see, and if there is nothing broken I will tell you that too. The whole point of this article, and the whole point of the monitor, is that you should never have to take somebody's word for it again.