Before you scale spend, a home-service owner needs to understand one thing: which channels put money in the bank, not clicks on a dashboard. Marketing ROI is not about reach or search rankings. It is a simple equation: the profit marketing generated, divided by what you spent on marketing. If the math says no, we say no.
This article is about how an HVAC, plumbing, cleaning, painting, or remodeling business should actually measure the return on its advertising. No hype, no invented numbers. Just the chain you can verify against your own CRM and bank statement.
The chain that actually matters
Advertising does not create profit directly. It starts a chain, and profit only shows up at the end. Every link has to be measured:
- CPL (cost per lead) — what you pay for one inbound call or form.
- Close rate — the share of leads that turn into a booked job.
- Cost per booked job = CPL ÷ close rate. If a lead costs $40 and you close 1 in 4, a booked job costs $160.
- Average ticket × gross margin = gross profit per job. A $1,200 ticket at 45% margin is $540 in profit before overhead.
- Payback = gross profit per job ÷ cost per booked job. And the headline: ROI = profit ÷ marketing spend.
The core idea: you can only optimize what you see end to end. A cheap lead with a low close rate is an expensive job. An expensive lead with a high close rate and a solid ticket is profit.
Why clicks, reach, and rankings are vanity metrics
Impressions, clicks, “reach,” and search position look nice in a report, but for a service business they are vanity metrics — numbers that go up without proving you made money.
10,000 impressions don’t pay the crew. A #1 ranking doesn’t mean the phone rings. You can double traffic and still go backwards if leads don’t turn into booked jobs at a healthy ticket. These metrics are useful as diagnostics (where the funnel leaks), not as the goal. The goal is profit per dollar invested.
Attribution: tie revenue back to the channel
To calculate ROI by channel, you need to know where each job came from. For a service business this is easier than it sounds — four simple tools:
- Call tracking. A dedicated number per channel — Google Ads, LSA, organic, Meta. Each call ties straight to its source.
- Form tracking. Website forms pass source, campaign, and keyword into the CRM.
- A source field in the CRM. Every lead and every job is tagged with its channel — without this you can’t split revenue.
- “How did you hear about us?” A simple dispatcher question catches what tracking misses: referrals, wrapped trucks, repeat customers.
The goal is one thing: push revenue down to the channel level. Then “is Google Ads even paying off?” becomes a number, not a feeling.
Lag: today’s job started as a lead weeks ago
The most common reporting mistake is measuring same-day. A lead today may close in two or three weeks; a large remodel, in two months. Divide this month’s revenue by this month’s spend and the picture lies in both directions.
The right approach is cohorts and windows. Take the leads that came in during March and see how many became booked jobs by May and what they were worth. Now March’s spend is matched to the revenue of those specific leads, not random May closings. The longer the sales cycle, the longer the observation window.
LTV: repeat-service trades change the math
For repeat-service niches — HVAC maintenance, recurring cleaning, seasonal contracts — you can’t count only the first job. A customer who pays for service twice a year for several years is worth a multiple of that first visit.
This is where LTV (lifetime value) matters: average profit per customer over time × retention. When LTV is high, you can comfortably pay a higher CPL — the first job just covers acquisition, and the profit comes from the repeats. Companies that count only the first ticket systematically undervalue their best channels and cut budget exactly where it pays off.
What “good” looks like, and the common mistakes
“Good” is when you know cost per booked job and gross profit per job by channel, you measure in cohorts, and you make decisions on profit rather than lead volume.
The common mistakes:
- Chasing a cheap CPL while close rate drops. Leads got cheaper but conversion fell — so the booked job got more expensive. A net loss dressed up as “optimization.”
- Counting revenue, not profit. $50,000 in volume at a thin margin may not even cover the ad spend. ROI is measured on profit.
- Running ads with no tracking. Without call/form tracking and a source field, you’re spending blind and can’t say later what worked. Tracking goes in before the first ad dollar, not after.
Measure the whole chain, work in cohorts, account for LTV — and the decision to scale spend rests on math, not hope. If the math says no, we say no.