Skip to main content
Google Ads · HVACGoogle Ads × HVAC

Google Ads conversion tracking for HVAC companies

An HVAC business has two conversions with wildly different economics — a service call worth a couple of hundred dollars and a system installation worth thousands — and almost every account counts them as one. What Google Ads adds on top of that is a mechanical requirement: gclid, gbraid and wbraid have to reach the record that holds the money, because Google Ads can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in HVAC companies, and what Google Ads specifically needs to accept it.

Free30 minutesNo obligation

Specific to Google Ads × HVAC

Google Ads for HVAC: separate actions for service, install, contract

For an HVAC company on Google Ads, upload completed jobs from dispatch software through offline conversion import, matched on the gclid, gbraid or wbraid stored at enquiry, with service calls, installs and maintenance agreements as separate conversion actions carrying invoice value. Calls from call assets need Google's call reporting, because they never reach the site.

Google search is where both HVAC conversions start, which is exactly why they get blended. 'AC not cooling' and 'new furnace cost' arrive through the same campaigns, and if both land in one Lead action, Smart Bidding finds the repair searches cheaper and drifts toward them. Build three conversion actions: service call completed, install sold, maintenance agreement signed. Make the install the primary goal for value-based bidding and keep the others visible but secondary until there is enough install volume to bid on.

Replacement jobs have a real gap between the click and the money: an in-home estimate, a proposal, sometimes a financing approval or a utility rebate application. That usually lands inside the 90-day import window, but upload the sold-install conversion with the date the proposal was accepted, not the date the dispatch record was created, or the timing Smart Bidding learns from is wrong.

The most common break is the call asset. In July a large share of no-cool enquiries tap the number straight from the results page and never load your site, so no gclid ever reaches dispatch. Those calls are only measurable through Google's forwarding number and call reporting, with a minimum duration long enough to exclude a customer phoning about an existing ticket. Smart Bidding's seasonality adjustments are meant for short events of a few days; don't use one to cover the whole cooling season.

Google Ads · HVAC · what breaks

Why Google Ads under-reports for HVAC companies

  1. 01

    Service calls and installs counted the same

    So bidding buys the cheap one.

  2. 02

    Seasonality read as performance

    A July spike isn't a better campaign.

  3. 03

    Emergency calls untracked

    The highest-intent traffic, invisible.

  4. 04

    Gclid, gbraid and wbraid never reaches the record

    Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.

Google Ads · HVAC · the fix

What working looks like — Google Ads · HVAC

  • Job types separated

    Service, maintenance, install — three different values.

  • Revenue-based bidding

    On the actual invoice, not a placeholder.

  • Emergency calls attributed

    Where the margin usually is.

Google Ads · HVAC · architecture

How Google Ads and HVAC companies actually connect

  1. 1

    The conversion in HVAC companies

    Enquiry, job booked, job completed, invoice value. Job type runs across all four and is the distinction that changes bidding behaviour most.

  2. 2

    Google Ads needs a click to match

    A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.

  3. 3

    The identifier: gclid, gbraid and wbraid

    Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.

  4. 4

    Where it gets sent from

    your dispatch or field service software's completed job records.

  5. 5

    Deduplication and window

    There's no shared event ID mechanism like Meta's. What matters instead is the counting setting on each conversion action — 'one' for lead-type conversions so a repeat submitter doesn't count three times, 'every' for ecommerce where a second purchase is a second sale. This is the single most common misconfiguration we find in Google Ads accounts. Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.

Google Ads · HVAC · events

The conversion map for HVAC companies

Four stages, split by job type. Without the split, the numbers are an average of two unrelated businesses.

Enquiry (call or form)Call tracking plus browser-side. Mobile click-to-call needs its own event.
Job bookedServer-side from dispatch software.
Job completedServer-side. The conversion that should carry value.
Invoice valueReal revenue per job, not a flat figure.
Job typeService, maintenance contract or install. Three very different economics.

Google Ads · HVAC · diagnose

Diagnostic order — Google Ads · HVAC

  1. 01

    Count records carrying gclid, gbraid and wbraid

  2. 02

    Click-to-call untracked on mobile

    Emergency HVAC traffic is overwhelmingly mobile and overwhelmingly phone. A tel: link with no event is a large blind spot.

  3. 03

    One flat conversion value

    A $180 service call and a $9,000 install counted identically.

  4. 04

    Seasonal swings mistaken for campaign quality

    A heatwave is not a better ad.

  5. 05

    Read the match rate on the upload, not the success message

    A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.

Google Ads · HVAC · prove

How it gets proven — Google Ads · HVAC

Source of truth

your dispatch or field service software's completed job records

  • Click-to-call events firing on mobile, verified on a real device.
  • Number insertion confirmed on every template.
  • Job type and invoice value present on uploaded conversions.
  • Completed jobs reconciled against dispatch records for a closed month.
  • The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.

Google Ads · HVAC · free audit

What we check in the free audit

  • Count records carrying gclid, gbraid and wbraid
  • Click-to-call untracked on mobile
  • One flat conversion value
  • Seasonal swings mistaken for campaign quality
  • Read the match rate on the upload, not the success message

Checked against

your dispatch or field service software's completed job records

Get my free conversion tracking audit

Free30 minutesNo obligation

Google Ads · HVAC · when not to buy

When you don't need this — Google Ads · HVAC

  • If Google Ads already reports conversions that reconcile against your dispatch or field service software's completed job records within a few percent, this is working and there is nothing to buy.
  • Measure identifier coverage yourself first — pull your last hundred records and count how many carry gclid, gbraid and wbraid.
  • If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.

Google Ads · HVAC · what we deliver

What gets built — Google Ads · HVAC

  • Call tracking with number insertion

    Including click-to-call on mobile, which dominates emergency traffic.

  • Click ID written to the job record

    At the enquiry.

  • Dispatch software as the source of truth

    Completed jobs and invoiced value.

  • Job type and value uploaded per conversion

    So the platforms can tell the difference.

  • Dispatch via Google's offline conversion import

    Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.

Written guarantee

95%+ tracking accuracy

Measured against your dispatch or field service software's completed job records. Miss it and we keep working at no cost.

Get my free conversion tracking audit

From $400 · See packages

FAQ

Google Ads · HVAC questions, answered

Yes, as long as it falls inside the 90-day window and the gclid, gbraid or wbraid was saved on the job record at enquiry. Send the proposal acceptance date as the conversion time.

Free · 30 min

Get Google Ads reporting what HVAC companies actually earn

Free30 minutesNo obligation