Offline Conversion Tracking for HVAC Companies
How HVAC companies and HVAC marketing agencies use The Upload Offline Conversions App (TUOCA) to send call tracking + ServiceTitan/Jobber revenue back to Google Ads, Meta, and Microsoft Ads for revenue-based bidding.
HVAC is the canonical offline conversion tracking use case. The trade has every characteristic that makes offline conversion tracking valuable: phone-driven funnel, high-variance job values (50x+ between a tune-up and a system install), seasonality that rewards revenue-based bidding, and operational data spread across call tracking + FSM systems.
This page is for HVAC business owners, in-house marketing teams, and HVAC-specialist agencies running Google Ads (and increasingly Meta and Microsoft) who need offline conversions to reflect actual job revenue.
The HVAC offline conversion problem
A typical HVAC funnel:
Google Ad: "AC not cooling" ──► Landing page ──► Call (CallRail captures GCLID)
│
▼
Dispatcher books service call
│
▼
Tech diagnoses: capacitor failure ($400)
│ ─OR─
▼
Tech diagnoses: compressor + age = full system replacement ($12,000)
│
▼
Job completed in ServiceTitan
│
▼
Invoice paid 0-15 days later
Without revenue per conversion, Google Ads sees both outcomes the same way: “qualified call generated by this click.” Smart Bidding can’t distinguish the click that produced a $400 service call from the click that produced a $12,000 install. The bidding strategy averages them — which means underbidding on install-intent traffic and overbidding on service-call traffic.
Closing this gap is the entire point of offline conversion tracking for HVAC.
Typical TUOCA setup for HVAC
The standard architecture:
| Layer | Tool |
|---|---|
| Call tracking | CallRail or CallTrackingMetrics (with dynamic number insertion) |
| FSM | ServiceTitan (most common) or Jobber |
| Conversion uploads | TUOCA |
| Destinations | Google Ads, Meta CAPI, Microsoft Ads, TikTok |
The Fusion Relay:
CallRail call ──┐
├──► TUOCA Fusion Relay ──► Google Ads (with revenue)
│ ► Meta CAPI
ServiceTitan job ┘ ► Microsoft Ads
► TikTok
Match field: customer phone number, normalized to E.164.
Conversion value: ServiceTitan’s invoice total for the matched job.
Conversion time: the job completion date (not the call date — Smart Bidding works better with completion-date attribution for HVAC’s multi-day sales cycle).
HVAC conversion values
Sample distribution by service type (varies by region, season, and brand):
| Service category | Typical value range | Approximate frequency |
|---|---|---|
| Tune-up / maintenance | $120 - $250 | High |
| Service call (no major repair) | $150 - $350 | High |
| Capacitor / contactor replacement | $300 - $700 | Moderate |
| Compressor replacement | $1,500 - $3,500 | Low |
| Furnace replacement | $3,500 - $8,000 | Low |
| AC system replacement | $5,000 - $12,000 | Low |
| Full HVAC system replacement | $8,000 - $18,000 | Low |
| Annual maintenance plan | $200 - $600/year | Moderate |
The combination of high-frequency low-value jobs and low-frequency high-value installs is what makes Target ROAS bidding so much more powerful than Target CPA in HVAC. With revenue data, Smart Bidding learns which click patterns produce installs vs. tune-ups and reallocates budget accordingly.
Why Fusion Relays are non-negotiable for HVAC
A standard relay (single source) gets you part of the way:
- CallRail → Google Ads sends call counts. Smart Bidding optimizes for call volume.
- ServiceTitan → Google Ads sends invoice totals — but without the GCLID (because ServiceTitan doesn’t capture click IDs). Falls back to Enhanced Conversions for Leads match rates (~30-60% typical for HVAC, depending on PII completeness).
A Fusion Relay gets you the full value:
- CallRail (GCLID) + ServiceTitan (revenue) → Google Ads sends complete conversion records with deterministic GCLID match and actual revenue.
For HVAC, the lift from “calls only” to “revenue-attributed Fusion conversions” is typically the single largest performance improvement an account experiences.
Seasonal considerations
HVAC has a predictable seasonal pattern:
| Season | Demand pattern |
|---|---|
| Summer | High AC service + AC replacements |
| Winter | High furnace service + furnace replacements |
| Spring / Fall | Maintenance, tune-ups, transitional service |
Without revenue data, Smart Bidding sees uniform call volume across the year (because tune-ups and service calls fill in shoulder seasons). With revenue data, Smart Bidding sees the actual revenue concentration during peak seasons and bids accordingly — typically resulting in significantly higher revenue capture during the months that matter most.
Recommended TUOCA configuration
For a typical single-location HVAC business:
- Connect CallRail (or CTM). Pick the master number set.
- Connect ServiceTitan. OAuth 2.0; TUOCA reads jobs + invoices.
- Build a Fusion Relay:
- Source A: CallRail calls (last 90 days, rolling).
- Source B: ServiceTitan jobs + invoices (last 90 days, rolling).
- Match field: phone number.
- Match window: 30 days (most HVAC jobs close within 30 days of the call).
- Destinations: Google Ads (primary), Meta CAPI (secondary), Microsoft Ads (especially for older homeowner demographics).
- Schedule: daily sync.
- Monitor: Activity Logs for the first 14 days to validate match rates.
For HVAC-specialist agencies managing many clients, replicate this pattern per client on the Agency tier and use bulk onboarding for fast deployment.
Bottom line
HVAC is where offline conversion tracking proves itself. The combination of phone-heavy funnels, FSM-based revenue, and 50x value variance makes Fusion Relays essential — not nice-to-have.
Most HVAC accounts that adopt TUOCA see Target ROAS bidding become viable within 60 days, and the resulting reallocation of budget toward install-intent traffic typically produces 30-60% revenue lift on the same ad spend.
Start with the Free tier for manual uploads, or jump to Pro for Fusion Relays — the tier most HVAC businesses end up on.