Ads conversion
The 7 ways Google Ads conversion tracking breaks
If your conversion count does not match your booked jobs, the cause is almost always one of seven things; page views counted as conversions, the tag installed twice, phone taps counted as calls, calls not tracked at all, form events firing before the submission succeeds, no distinction between a lead and a good lead, or nothing connecting the lead back to whether it became a job. Each has a specific check and a specific fix.
Why this matters more than it sounds
Broken tracking is not a reporting inconvenience. Google’s bidding uses your conversion data to decide who to show your ads to.
If you are counting the wrong thing, you are not just measuring wrong; you are actively training the system to produce more of the wrong thing. An account counting phone taps will, over time, get very good at generating phone taps that never connect.
That is why this is worth an hour of checking before spending another month of budget.
1. Page views counted as conversions
What it looks like: conversions roughly match your traffic. The count is suspiciously round and suspiciously high.
Why it happens: the conversion was set up as a destination; “someone reached the thank-you page”; but the trigger fires on any page load, or the thank-you page is reachable directly.
How to check: compare conversions to actual enquiries in your inbox for the same week. If the numbers are not close, this is a likely cause.
The fix: trigger on the confirmed submission event, not on a page view. If you must use a destination, make sure that URL is unreachable except after a real submission.
2. The tag installed twice
What it looks like: conversions are almost exactly double your real leads. Cost per lead looks unusually good.
Why it happens: extremely common. The tag gets added directly to the site, then someone later adds it again through Google Tag Manager. Both fire.
How to check: install the Google Tag Assistant browser extension and load a page. It shows every tag firing. Two of the same conversion tag is your answer.
The fix: remove one. Keep the Tag Manager version; it is easier to maintain and audit.
3. Phone taps counted as calls
What it looks like: lots of “calls,” a phone that rings less than the number suggests.
Why it happens: the conversion is set on a click of the tel: link. That is a tap, not a conversation. Someone can tap and immediately hang up, tap by accident while scrolling, or reach voicemail at 3am.
Why it is the most damaging one on this list: it is the one that most actively misleads the bidding algorithm, because taps are easy to generate and conversations are not.
How to check: compare tap conversions against your actual call log. If you do not have a call log, that is finding number four.
The fix: use call tracking with a minimum call duration; typically 30 to 60 seconds; so a conversion means a conversation that actually happened.
4. Calls not tracked at all
What it looks like: form submissions are tracked, calls are not, and every channel that mainly drives calls appears to produce nothing.
Why it happens: web analytics is built around clicks. Calls leave the website, so they are invisible unless something is set up specifically to see them.
Why it matters most in home services: for contractors, restoration and cleaning companies, most leads are phone calls. Tracking only forms means most of the business is invisible; and the channels driving it get cut for underperforming.
The fix: call tracking with dynamic number insertion. The number displayed changes based on how the visitor arrived, so the number dialled identifies the source.
5. Form events firing before the submission succeeds
What it looks like: conversions slightly exceed real leads. Consistently, by a small margin.
Why it happens: the event fires on button click rather than on server confirmation. Every failed submission, validation error, and bot fill counts.
How to check: submit your own form with a required field deliberately blank. If a conversion registers, this is happening.
The fix: fire on the server’s success response. If you are using a form service, use its success callback rather than a click listener.
6. No distinction between a lead and a good lead
What it looks like: volume is fine, quality is poor, and it is getting worse over time.
Why it happens: a wrong number and a $14,000 job register identically. The algorithm optimises for the count, so it finds you more of the cheap, easy conversions.
The fix: conversion values. Even rough ones help; a quote request worth more than a general enquiry, a commercial enquiry worth more than residential. You are giving the system a way to tell the difference.
7. Nothing connects the lead back to the job
What it looks like: you know cost per lead. You have no idea about cost per job.
Why it matters: cost per lead is a proxy. If one channel produces cheap leads that never book and another produces expensive leads that convert at 60%, cost per lead points you at exactly the wrong decision.
The fix: connect leads to a CRM, record which become jobs, and feed that back. Offline conversion import in Google Ads exists specifically for this; it is underused and it is where the real gains are.
The order to fix these in
- Duplicates; quickest to check, biggest immediate distortion
- Phone taps; most actively harmful to bidding
- Untracked calls; largest blind spot in home services
- Page views and premature form events
- Conversion values
- Job connection; highest value, most work
Most accounts have two or three of these. Fixing the first three usually changes the reported numbers substantially; and it is worth knowing that your cost per lead will probably look worse afterwards. That is not a regression. That is the first honest number you have had.
