HVAC Google Ads resource

Google Ads conversion tracking not working

Roughly 60 percent of HVAC Google Ads accounts have broken conversion tracking. The symptoms look like a campaign problem (high CPC, low conversion rate, spend-without-results), but the actual problem is upstream: somewhere in the chain from ad click to counted conversion, a layer is dropping the signal. Below is the 5-step diagnostic that pinpoints which layer is failing, the specific check at each step, and the fix path. Most accounts have the fix at step 2 or 3.

Quick answers

Direct answers

The 5 layers that can break. From ad click to counted conversion, the signal passes through (1) the conversion-action setup in Google Ads, (2) the conversion linker tag on the site, (3) the conversion event firing in GTM or gtag, (4) the destination property (GA4 or Google Ads) accepting the event, and (5) the network request actually reaching the destination. A break at any one layer drops the conversion. The 5-step diagnostic below tests each layer in order.

Why it matters more than the symptom suggests. A broken-tracking account is not a campaign problem. Every optimization decision (bid strategy, budget allocation, keyword targeting) runs through the conversion data. When the data is wrong, optimizations are wrong; the bidder spends in the wrong places; the account looks worse than it is. Most accounts that are "underperforming" are actually performing fine and the conversion data is undercounting by 30 to 70 percent. The fix is the tracking, not the campaign.

The phone-call specific failure. For HVAC accounts where 70 percent of conversions are phone calls, the most common tracking gap is that calls do not report back to Google Ads as conversions. Either the displayed phone number is the GBP number directly (calls go through but never tie to a click), or a call-tracking forwarding number is configured but not wired into the conversion event. Smart bidding then optimizes on the 30 percent of conversions it can see (forms only) and produces a result that does not match real lead economics.

The fix path. Start at layer 1, work down. Each layer has a 5-minute check; if it passes, move to the next. Most accounts have the fix at layer 2 (conversion linker missing) or layer 3 (the event configured to fire on the wrong trigger). The fix is usually under an hour of work once the broken layer is identified.

The diagnostic

Diagnostic checklist

The 5-step diagnostic, in order. Each step has a 5-minute check; pass means move to the next layer.

Conversion action setup in Google Ads. Open Google Ads > Tools > Conversions. Is there at least one conversion action with status "Recording conversions"? Is the count window set sensibly (30-day for HVAC; 90-day if quote-to-close cycle is long)? Is "include in 'Conversions'" enabled for the actions that matter? If any of these are off, the rest of the diagnostic is moot; fix here first.
Conversion linker tag on the site. View source on any page and search for gtag or googletagmanager.com/gtag/js. Does the conversion linker tag fire on every page? Without it, GCLID-based attribution breaks: a phone call from an ad click reports as "direct" or "organic" instead of the campaign. Fix: add the conversion linker tag via GTM or hardcode in the site header. 10-minute change.
Conversion event firing on the right trigger. Open the site in DevTools, perform the action (submit a form, click the phone number). In the Network tab, filter for google-analytics.com/g/collect or googleads.g.doubleclick.net. Does the conversion fire? Does it fire on the right trigger (form-submit AFTER successful validation, not on focus or click)? Phone-tap should fire a tel: event-listener conversion; many accounts only track form-submit and miss every call.
Destination property accepting the event. In GA4 > Admin > Events: does the conversion event appear in real-time after a test submit? In Google Ads > Tools > Conversions: is the action's "All conv." count increasing after test conversions? If the event fires (step 3 passed) but does not appear at the destination, check the GA4 measurement ID, Google Ads conversion ID, and conversion label for typos.
Network request reaching the destination. If steps 1-4 pass but live data still shows zero conversions, the request is being blocked somewhere downstream. Common causes: aggressive ad-blocker proxy on the office network (test from cellular), conversion event misclassified as a non-conversion in GA4, or the Google Ads conversion is set to "Don't include in conversions" in the column settings. Less common: cookie-consent banner blocking the gtag/GTM library entirely on the first interaction.

Audit logic

What the audit catches

The audit catches this at the tracking-check step. A passive probe on the prospect's homepage and contact page records which tags load (Google Ads conversion tag AW-*, GA4 G-*, GTM GTM-*, conversion linker), whether call tracking is wired (a recognized vendor in the network requests), and whether the conversion linker is present. The audit also captures whether the prospect has search ads running. Cross-referencing those two signals (running ads + missing tracking) produces the no-conversion-tracking finding, which is the highest-severity finding in the catalog because broken tracking poisons every downstream optimization.

When the audit fires, the finding includes the specific tag IDs observed (and not observed), the pages probed, the exact gap, and the recommended fix path. It does not produce a generic "you need conversion tracking" recommendation; it produces "your homepage and contact page do not load tag AW-* or GA4 G-*, and your account runs sponsored search ads. These clicks are being paid for without measurement."

That specificity is the difference between a generic best-practice doc (which most owners have read and ignored because it is generic) and a finding that names the specific gap on the specific account.

Get the audit

Free, ~48-hour turnaround, no sales call. The audit catches the exact issue this page describes.

Get the audit
Focus
Specialist paid search
Pricing
$500/month flat
Reply time
Within 24 hours, weekends too
Direct line