HVAC PPC Tracking Setup Explained: Every Metric That Matters
Learn how to set up complete PPC tracking for your HVAC business — from Google Ads conversion tracking to call tracking, CRM integration, and the key metrics that separate profitable campaigns from money pits.
HVAC PPC Tracking Setup Explained: Every Metric That Matters
We have audited over 200 HVAC Google Ads accounts in the past three years. The single biggest problem is not bad keywords, weak ad copy, or low budgets. It is broken tracking. Contractors spend $3,000 to $15,000 per month on ads and have no clear picture of which dollars produce booked jobs and which disappear into the void.
Without proper tracking, you are making every optimization decision on gut feeling instead of data. You cannot tell which campaigns generate $40 leads versus $400 leads. You cannot tell which keywords drive emergency repair calls versus tire-kicker clicks. And you definitely cannot calculate your true return on ad spend.
This guide covers the full PPC for HVAC contractors tracking stack we deploy for every client: Google Ads conversion tracking, call tracking, form tracking, GA4 integration, offline conversion imports, and CRM pipeline attribution. If you set up everything in this post, you will know exactly where every lead comes from and what it costs.
Google Ads Conversion Tracking Setup
This is the foundation. Without conversion tracking configured inside Google Ads, the platform's bidding algorithms have no signal to optimize against. You are essentially telling Google "get me clicks" instead of "get me leads."
What Counts as a Conversion for HVAC
Define your conversion actions before touching any settings. For HVAC companies, we track four distinct conversion types:
| Conversion Action | Priority | Typical Value |
|---|---|---|
| Phone call from ad (call extension) | Primary | $45-$75 CPL target |
| Phone call from website (after ad click) | Primary | $45-$75 CPL target |
| Form submission (quote request) | Primary | $35-$60 CPL target |
| Chat or text message inquiry | Secondary | $30-$50 CPL target |
Each conversion action gets its own tag in Google Ads. Do not lump them together into a single "Lead" conversion. When they are separated, you can see that your emergency AC repair campaign drives 80% phone calls while your installation campaign drives 60% form submissions. That data changes how you build landing pages and allocate budget.
Installing the Google Ads Tag
There are two components: the Global Site Tag (gtag.js) and event-specific tags.
- Place the Global Site Tag in the
<head>section of every landing page. If you are using Google Tag Manager (recommended), deploy it as a tag within GTM instead. - Create a conversion action in Google Ads for each lead type. Google generates a unique conversion ID and label for each one.
- Fire the event tag when the conversion happens: on form submission confirmation, on chat initiation, or when the call tracking platform sends a signal.
Set the conversion window to 30 days for HVAC. Homeowners researching a system replacement may click your ad, leave, and call three weeks later after getting other quotes. A 7-day window misses those delayed conversions and makes your campaigns look worse than they are.
Attribution Model Selection
Use data-driven attribution if your account has enough conversion volume (typically 300+ conversions in the past 30 days). For most HVAC accounts spending under $10,000/month, use position-based attribution. This gives 40% credit to the first click, 40% to the last click, and distributes 20% across middle interactions.
Avoid last-click attribution. It overvalues branded searches and undervalues the top-of-funnel keywords that introduced the customer to your business in the first place.
Call Tracking: The Non-Negotiable for HVAC
HVAC is a phone-call business. When a homeowner's AC dies in July or their furnace stops in January, they pick up the phone. Across our HVAC accounts, the lead source breakdown is consistent:
| Lead Source | Percentage of Total Leads |
|---|---|
| Phone calls | 65-80% |
| Form submissions | 15-25% |
| Chat/SMS | 5-10% |
If you are only tracking form submissions, you are measuring less than a quarter of your actual leads. Your Google Ads data shows campaigns "underperforming" that are actually your best producers.
Recommended Platform: CallRail
We deploy CallRail for most HVAC clients. Setup takes under two hours and the Google Ads integration is native. Here is the configuration we use:
- Dynamic Number Insertion (DNI): A JavaScript snippet swaps your displayed number with a tracking number for each visitor from Google Ads. This gives you keyword-level call attribution.
- Number pool size: 6-10 numbers for most single-location HVAC companies. If you run high-traffic campaigns in peak season, increase to 12-15 to avoid number recycling gaps.
- Campaign-level static numbers: Assign one unique tracking number per Google Ads campaign and use it in call extensions. This tracks calls made directly from the ad (without visiting the website).
- Minimum call duration for conversion: Set to 60 seconds. Anything under 60 seconds is almost always a wrong number, hangup, or existing customer calling about a scheduled appointment. We have analyzed thousands of HVAC calls, and legitimate new leads virtually always exceed 90 seconds.
- Call recording: Enable it on every number. Recordings are essential for scoring lead quality and training your dispatch team. Check your state's consent laws and enable the automated disclosure prompt if required.
Google Ads Call Extension Tracking
Separately from your third-party call tracking, enable Google's native call reporting on call extensions. This gives you data on calls made directly from the SERP without the customer ever visiting your site. Set the minimum call length to 60 seconds here as well.
The combination of CallRail for website calls and Google's native tracking for ad-level calls gives you complete phone visibility.
Not sure if your HVAC tracking is set up correctly? We build full-funnel tracking into every PPC for HVAC contractors campaign we manage. Request a free tracking audit →
Form Submission Tracking
Every landing page with a quote request form needs conversion tracking firing on the thank-you page or form submission event.
If you use a third-party form tool (Gravity Forms, Formspree, Typeform), fire the Google Ads conversion tag on the form's submission confirmation. If you use a custom-built form, trigger the tag on the POST success callback.
Track these data points with every form submission:
- Source campaign and keyword (auto-captured via UTM parameters or GCLID)
- Service type requested (AC repair, installation, maintenance)
- Zip code or address
- Preferred contact method
- Timestamp
This data feeds directly into lead quality analysis. If your "furnace installation" campaign generates 30 form submissions per month but 18 of them are from outside your service area, you have a targeting problem, not a conversion problem.
Google Analytics 4 Integration
GA4 gives you a broader view of user behavior that Google Ads alone cannot provide. Here is what GA4 adds to your tracking stack:
Key GA4 Configurations for HVAC
- Link GA4 to Google Ads. This shares audience and conversion data bidirectionally. Your Google Ads campaigns can use GA4 audiences for remarketing, and GA4 receives cost data for ROI reporting.
- Import GA4 conversions into Google Ads. If you track conversions in GA4 (especially cross-domain or multi-step conversions), import them as conversion actions. This gives Smart Bidding more signals to optimize against.
- Set up engagement events. Track scroll depth, video views (if you have testimonial videos on landing pages), click-to-call button taps, and time on page. These micro-conversions help identify landing page problems before they show up in lead volume.
- Enable Enhanced Measurement. GA4's built-in tracking captures outbound link clicks, file downloads, site search, and form interactions automatically. Turn it on.
The GA4 Report You Should Check Weekly
Build a custom exploration in GA4 that shows: Source/Medium, Campaign, Landing Page, Sessions, Conversion Rate, and Conversions. Filter to google/cpc traffic only. This single report tells you which campaigns and landing pages produce results and which bleed money.
Offline Conversion Imports
This is where most HVAC tracking setups stop. And it is exactly where the biggest optimization opportunity begins.
Online conversions (calls, forms) tell you what happened on the website. Offline conversion imports tell Google what happened after the lead reached your office. Did the call become a booked appointment? Did the booked appointment become a completed $8,000 system installation?
How Offline Conversion Import Works
- Capture the Google Click ID (GCLID) with every lead. The GCLID is a unique identifier Google attaches to each ad click. Store it in your CRM or lead tracking spreadsheet alongside every form submission and call.
- When a lead converts to a booked job (or a completed job), upload that conversion back to Google Ads with the associated GCLID, the conversion timestamp, and optionally the revenue value.
- Google matches the uploaded conversion to the original click and uses that data to improve Smart Bidding.
For HVAC companies, we typically import two offline conversion stages:
| Offline Conversion | When to Upload | Value |
|---|---|---|
| Appointment Booked | When the lead confirms a service appointment | Estimated average job value |
| Job Completed / Revenue Collected | When the invoice is paid | Actual revenue from the job |
The impact is significant. Once Google's bidding algorithms learn that "AC repair near me" clicks convert to $400 repair jobs at a 35% rate while "HVAC maintenance plan" clicks convert to $200 maintenance agreements at a 50% rate, the system can optimize bids based on actual revenue, not just lead volume. We have seen HVAC accounts improve ROAS by 30-50% within 60 days of implementing offline conversion imports.
CRM Pipeline Tracking
Your CRM is the single source of truth for lead-to-revenue attribution. Without CRM tracking, you know how many leads Google Ads generated but not how many became customers or how much revenue they produced.
What Your CRM Should Track for Every PPC Lead
- Lead source (Google Ads, with campaign and keyword detail)
- GCLID (for offline conversion upload)
- Service type requested
- Lead status progression: New, Contacted, Appointment Set, Job Completed, Lost
- Job revenue (actual invoice amount)
- Customer lifetime value (maintenance agreements, repeat service)
ServiceTitan, Housecall Pro, and Jobber are the three most common CRMs in the HVAC space. All three support custom fields for GCLID and lead source. If your CRM does not integrate natively with Google Ads, use Zapier or a manual CSV upload to push conversion data back.
The goal is a closed-loop report: dollars spent in Google Ads → leads generated → jobs booked → revenue collected. When you have this loop, you stop optimizing for cost-per-lead and start optimizing for cost-per-job and revenue-per-dollar-spent, which are the metrics that actually determine profitability.
Key Metrics to Monitor Weekly
With the full tracking stack in place, here are the metrics we review every week for our HVAC clients and the benchmarks you should measure against:
| Metric | Healthy Range | Red Flag | Action If Red Flag |
|---|---|---|---|
| Cost Per Lead (all sources) | $35-$80 | Above $120 | Audit keywords, check landing page conversion rate |
| Cost Per Booked Job | $80-$200 | Above $300 | Review lead-to-appointment close rate; check dispatcher performance |
| Click-Through Rate | 5-9% | Below 3.5% | Rewrite ad copy; tighten keyword match types |
| Landing Page Conversion Rate | 8-15% | Below 5% | Fix page speed, add trust signals, simplify the form |
| Call Answer Rate | Above 85% | Below 70% | Staff is missing calls; add after-hours answering service |
| Phone Lead-to-Booking Rate | 40-60% | Below 30% | Listen to call recordings; train dispatchers on closing |
| Impression Share (top campaigns) | 50-75% | Below 30% | Increase budget or bids on proven campaigns |
| ROAS (including offline revenue) | 5x-12x | Below 3x | Review full funnel; problem is often downstream, not in the ads |
Review these weekly, not monthly. Monthly reviews catch problems 30 days too late. A broken landing page form or a missed call tracking integration can burn $1,000-$3,000 in wasted spend before you notice it in a monthly report.
Common Tracking Mistakes That Destroy HVAC Campaign Data
We see these errors in almost every account we audit. Each one silently corrupts your data and leads to bad optimization decisions.
Counting Every Call as a Conversion
A 12-second call from a wrong number and a 6-minute call from a homeowner requesting a $10,000 system quote are not the same thing. Set minimum call duration to 60 seconds. Better yet, use call scoring (manual or AI-powered) to tag only qualified leads as conversions.
Duplicate Conversion Tracking
This happens when you have Google Ads conversion tags, GA4 imported conversions, and call tracking conversions all firing for the same action. One form submission gets counted three times. Your reported CPL looks incredible, but it is a fiction. Audit your conversion actions quarterly and ensure each lead type is counted exactly once.
No GCLID Capture on Forms
If your forms do not capture the GCLID in a hidden field, you cannot upload offline conversions. This single missing field makes it impossible to tell Google which clicks became revenue. Add a hidden GCLID field to every lead form on day one.
Ignoring Cross-Device Conversions
A homeowner researches "HVAC replacement cost" on their phone during lunch, then calls your office from their desk phone at home that evening. Without cross-device tracking enabled in Google Ads, that conversion is invisible. Enable cross-device conversions and include them in your reporting columns.
Not Verifying Tracking After Website Changes
Every time your website gets updated, a redesigned page, a new form plugin, a hosting migration, test your tracking. We have seen HVAC clients lose 2-4 weeks of conversion data because a developer accidentally removed the GTM container during a site update. Set a calendar reminder to verify tracking monthly: submit a test form, make a test call, and confirm both appear in Google Ads and your call tracking dashboard within 24 hours.
Using the Default "Include in Conversions" Setting for Everything
Google Ads lets you mark conversion actions as "Primary" (included in bidding optimization) or "Secondary" (tracked but not used for bidding). If you mark newsletter signups, page views, and actual leads all as primary, Smart Bidding optimizes for the cheapest, lowest-value action. Only mark direct lead actions (qualified calls, form submissions) as primary conversions.
The Complete HVAC Tracking Stack at a Glance
Here is the full system, from click to closed job:
- Google Ads conversion tracking fires on form submissions, chat initiations, and receives call conversion data from CallRail.
- CallRail tracks all phone calls with keyword-level attribution via DNI and sends qualified calls (60+ seconds) to Google Ads as conversions.
- GA4 captures user behavior, engagement events, and cross-domain tracking. Linked to Google Ads for audience sharing and supplemental conversion data.
- Hidden GCLID field on every form stores the click identifier with the lead record in your CRM.
- CRM (ServiceTitan, Housecall Pro, etc.) tracks lead status from new through job completed, capturing actual revenue.
- Offline conversion upload pushes booked-job and revenue data back to Google Ads weekly, enabling Smart Bidding to optimize for profit, not just leads.
This stack takes one to two days to implement properly. The ongoing maintenance is roughly one hour per week: reviewing call scores, verifying conversion counts match between platforms, and uploading offline conversions. That small investment gives you complete visibility into every dollar spent and every dollar earned.
Stop flying blind with your HVAC ad spend. We set up and manage the full tracking stack described above for every client as part of our PPC for HVAC contractors service. If your tracking is broken, incomplete, or nonexistent, we will fix it. Talk to our team today →
Book a Strategy Session
Avg. CPA Cut
Speed-to-Lead
Retention
Clients