Friday, March 20, 2026

How to Track Marketing ROI for HVAC Companies

Spencer Marx
Overhead view of a contractor's desk — marketing invoices stacked on the left, an HVAC job ticket on a clipboard to the right, and a yellow notepad in the center with a single large hand-drawn question mark: the daily reality of spending on multiple marketing channels with no way to know which one is working.

I've had this conversation more times than I can count.

An HVAC company owner is spending $5,000 a month across Google Ads, Facebook, a local SEO agency, and a direct mail program. Running these channels for a year or two.

I ask which one is generating the best return.

There's a pause. Then: "Honestly? I have no idea. I think Google. But I couldn't prove it if you asked me to."

This owner is not alone. This is one of the most common situations in HVAC marketing: significant spend, reasonable results, and no clear line from dollar invested to dollar returned.

That gap is not a failure of intelligence or effort. It's a failure of visibility. And it's fixable.

Why HVAC Marketing ROI Is Hard to Track

The attribution problem in HVAC marketing comes down to one structural issue: the systems that run your marketing and the system that runs your operations don't naturally talk to each other.

Your marketing channels — Google Ads, Facebook, your website, direct mail — track what happens before a customer contacts you. Clicks, impressions, form fills, calls. That data lives in Google Analytics, your ad platforms, and your call tracking software.

Your field operations run in ServiceTitan, where jobs get booked, dispatched, completed, and invoiced. That data shows you booked jobs, completed jobs, and collected revenue.

The gap between these two worlds is where your marketing ROI disappears. A customer clicks your Google ad. They fill out a contact form. They become a booked job in ServiceTitan. They become a completed install. They become an invoice.

At what point do you know which ad brought them in? For most HVAC companies, the honest answer is: you don't. The tracking chain breaks somewhere between the website click and the ServiceTitan booking.

This is called the attribution gap, and closing it is what turns HVAC marketing from a cost center into a profit center you can actually optimize.

The Four Layers of HVAC Marketing Attribution

Understanding where your attribution is breaking requires looking at four distinct stages.

Layer 1: Source Identification
Can you tell which channel a customer came from — Google Ads, organic search, Facebook, direct mail, referral? This is the most basic layer of attribution. Most HVAC companies have partial visibility here through call tracking numbers, different landing page URLs, and UTM parameters on their digital ads.

Layer 2: Campaign-Level Detail
Within each channel, can you identify which specific campaign, ad group, or keyword drove the customer? Google Ads gives you this for search traffic. Facebook gives you ad-level data. But the data often stops at the marketing platform — it doesn't carry through to ServiceTitan.

Layer 3: Booking Attribution
When a customer books a job, can you connect that booking back to the specific campaign that drove them? This is where most HVAC companies lose the thread. The booking form typically doesn't capture which campaign the visitor came from. ServiceTitan's default booking fields aren't designed to pass through the marketing source that brought the customer in.

Layer 4: Revenue Attribution
The most important layer: when a customer pays their invoice, can you connect that collected revenue back to the original marketing source? This is the number that matters for ROI — not clicks, not calls, not even booked jobs. Invoiced and collected dollars tied to the campaign that generated them.

Most HVAC companies have decent visibility at Layer 1, partial visibility at Layer 2, minimal visibility at Layer 3, and almost none at Layer 4.

The goal is to build a system that connects all four layers.

How to Start Tracking HVAC Marketing ROI

You don't need to solve the full attribution problem on day one. Start with what you can measure and build from there.

Step 1: Audit what you're tracking today

Pull together every marketing channel you're running. For each one, answer these questions:

  • Do you have a tracking phone number assigned specifically to this channel?
  • Do you have a dedicated landing page or form for this channel?
  • Are UTM parameters in place on all digital ad links?
  • Can you see in ServiceTitan how many jobs came from each channel in the last 90 days?

Most HVAC companies will find at least one channel where they can't answer "yes" to any of these. That's the first tracking gap to close.

Step 2: Set up call tracking by channel

If you're running multiple channels without dedicated tracking numbers, you have no way to distinguish which channel generated which call. Call tracking platforms assign unique phone numbers to each channel. When a customer calls, the platform records which number they called — and therefore which channel found them.

This doesn't solve the full attribution problem, but it closes a meaningful gap for phone-first customers, which is still most HVAC calls.

Step 3: Standardize UTM parameters on all digital ads

UTM parameters are tags added to the end of your ad URLs that tell your analytics system where a click came from. When someone clicks a Google ad with a properly tagged URL, Google Analytics records the source (Google), medium (CPC), campaign name, and ad group.

If your digital ads aren't UTM-tagged, the clicks either show up as generic "Google / CPC" traffic or get lumped into "direct" — and you lose the campaign-level detail that tells you which specific ads are driving results.

Standardize your UTM naming convention across all channels. Document it. And audit your ad links monthly to make sure tags are intact, since broken UTMs are common when ads are edited or duplicated.

Step 4: Track job source in ServiceTitan

ServiceTitan allows you to tag incoming jobs with a lead source. Make it standard practice for every booking — whether from the web, phone, or in-field follow-up — to have a lead source assigned.

This requires consistency from your CSR team or your booking flow, but it gives you a layer of attribution inside ServiceTitan that most HVAC companies don't have. Over time, you can see which sources are generating the most jobs and start connecting that to revenue.

Step 5: Calculate revenue by source, not just leads

Once you have lead source data in ServiceTitan, you can go further. Rather than just counting jobs by source, calculate the total invoiced revenue generated by each source.

This is where the story often changes. A channel generating fewer leads but higher-value jobs may be outperforming a channel generating high lead volume but lower-ticket work. If you're measuring by lead count, you'd cut the wrong channel.

Revenue by source, not lead volume, is the number that drives smart budget decisions.

The Attribution Blind Spots to Watch For

An HVAC field service job intake form on a metal clipboard — every field filled in with handwritten notes, except one field in the middle that sits visibly blank, its dotted line empty: the lead source that never got captured.

Even with all of the above in place, a few common gaps can distort your HVAC marketing ROI picture.

Last-touch attribution bias

Most analytics tools default to crediting the last thing a customer interacted with before converting. But HVAC customers often research across multiple channels before booking. They might see a Facebook ad, search your name on Google, visit your website twice, and then call from a direct search.

Last-touch attribution would give 100% credit to the organic search. The Facebook ad that started the journey gets nothing.

Multi-touch attribution models are more accurate but also more complex to set up. If you're just starting, last-touch is fine as a baseline. Just know its limitation: it undervalues awareness channels and overvalues last-click ones.

The gap between booked and invoiced

Booked jobs and invoiced revenue are not the same number. A job booked in one month may be completed and invoiced in the next. Some booked jobs get cancelled. Some installs have warranty calls that generate no additional revenue.

If you're measuring marketing performance by booked jobs, you may be over-crediting channels that generate jobs that don't complete or don't invoice well. Revenue is the final measure.

Offline conversions

Direct mail, truck wraps, door hangers, and referrals are harder to track precisely. They generate calls and bookings, but attributing them back to a specific campaign requires dedicated tracking mechanisms (unique phone numbers, specific landing page URLs, "mention this offer" codes).

If a significant portion of your business comes from offline channels, leaving those untracked will distort your digital attribution — making digital look relatively more effective than it is.

What Good HVAC Marketing Attribution Looks Like

When the full system is working, you can open one dashboard and see something like this:

  • Google Ads campaign "Emergency AC Repair — Summer 2026": 47 bookings, $68,400 in invoiced revenue, $14.22 cost per revenue dollar
  • Facebook campaign "Spring Tune-Up Promo": 22 bookings, $12,800 in invoiced revenue, $9.18 cost per revenue dollar
  • Organic search: 31 bookings, $41,200 in invoiced revenue, $0 marginal cost per booking

You can see at a glance which campaigns are profitable, which ones are marginal, and how your overall marketing portfolio is performing in terms that matter: dollars collected.

That's the visibility that turns marketing from an expense you manage into a profit lever you optimize.

Free Attribution Analysis

Get Your Free Attribution Audit and Analysis

Book a call with a specialist at Wrkbelt to walk through and better understand your business's current attribution state. We'll find the gaps and walk you through how to plug them.

How Wrkbelt Connects the Attribution Chain

A contractor's weathered hand circling the top row of a simple three-row performance report with a red marker — the tallest bar clearly in the lead — with a calculator and folded work order softly blurred in the background: the moment you finally know which campaign is making you money.

The core challenge in HVAC marketing attribution is that the tracking chain breaks at the booking form. A customer clicks your ad, but by the time they're in ServiceTitan as a booked job, the campaign information that was in the URL is gone.

Wrkbelt solves this by preserving the marketing source through the entire booking journey — from the first ad click through to the ServiceTitan booking and on to the invoiced revenue.

When a customer clicks an ad, Wrkbelt captures the campaign information (UTM source, medium, campaign name, and keyword). That information travels with the customer through their booking session and gets written to their record in ServiceTitan at the point of booking.

Then, when that customer completes their service and pays their invoice, Wrkbelt connects the invoiced dollar back to the original campaign. You see attributed revenue, not just attributed leads.

For HVAC companies running multiple campaigns, this means you can finally see which campaigns are actually generating profitable jobs — not just which ones are generating clicks or calls.

The 1SEO digital marketing agency co-designed Wrkbelt's attribution layer specifically because they needed this visibility for their own HVAC clients. The result is attribution data that holds up in client QBRs, budget meetings, and year-over-year planning conversations.

No ServiceTitan plan change required. Setup takes about a week. Attribution data is live from day one.

If you want to see what your attribution data would look like connected from click to invoice, grab a 15-minute walkthrough.

Wrkbelt is an acquisition and retention platform for service businesses running ServiceTitan. We track every marketing dollar from first click to final invoice, so HVAC, plumbing, and electrical companies know exactly which campaigns make them money.

    How to Track Marketing ROI for HVAC Companies | Wrkbelt