Cookie preferences

Choose what we may use. Strictly necessary cookies keep you signed in and can't be turned off; everything else is your call and changes nothing about how the site works. You can change your mind any time from the footer.

Marketing attribution for home services companies

Which ads produced jobs, not just calls?

Match your invoiced jobs to the calls and ads that produced them, and find out which channel is actually paying for the trucks.

  • No card required
  • Nothing to install
  • Cancel anytime
Home Services workspace August 2026 Sample data
Invoiced work traced to a channel

$323,100 68% of $475,200 paid

  • Google Ads $218,600 · 46%
  • Meta Ads $66,500 · 14%
  • Email marketing $38,000 · 8%
  • Direct / Unknown $152,100 · 32%
Direct / Unknown is shown, never shared out across the channels above.
Google Ads · LeadAug 14 · (•••) •••-0134
Closed sale · Aug 27$2,820
Matched · high confidence

The blind spot

What's actually happening

The phone rings all day. Some of those calls are a $28,000 system replacement and some are a filter someone could have bought online, and your ad report treats them identically.

What you get

Built for home services companies.

Ranked by invoice value

A channel that produces four replacements beats one producing forty service calls, and the report says so.

Seasonality you can see

Compare August to August, not just to last month, so a summer spike is not mistaken for a winning campaign.

Nothing to install on a truck

No numbers to provision, no app for the crew. Two exports from what you already run.

A worked example

The number you can take into a budget meeting.

Not impressions, not leads, not cost per click. Closed revenue, by the channel that produced it, for a period you choose — with the portion we could not trace shown rather than quietly shared out across your paid channels.

Total revenue$475,200paid invoiced work
Attributed to a channel$323,10068% of revenue
Average deal$2,820per paid sale
Match rate58%of sales matched
ChannelSalesRevenueShare%
Google Ads54$218,60046%
Meta Ads29$66,50014%
Email marketing17$38,0008%
Direct / Unknown71$152,10032%
01

The job mix is the whole story

Home services has the widest spread between a small job and a large one of almost any local industry. A drain clear and a sewer line replacement come from the same phone number and the same ad, and averaging them together tells you nothing you can act on.

Ranking channels by invoiced value rather than call count usually reorders them. It is common for a channel producing a third of the calls to produce most of the revenue, and for the channel everyone assumed was best to be producing volume at the bottom of the ticket range.

02

Emergency work and the attribution window

A furnace that fails in January produces a call within the hour, and click-based attribution handles that case fine. The problem is the other half of the business: the quote given in October that is approved in March, the maintenance customer who comes back for a replacement two years later.

Because CloseRev matches on the customer rather than a browser session, both cases work the same way. The March approval is credited to the ad that produced the October call, which is usually the difference between a channel looking break-even and looking like your best one.

03

The replacement is the business and the service call is the advertisement

Almost every home services company runs two economies at once. Service calls are frequent, small and easy to attribute: somebody has a problem today and calls today. Replacements are rare, large and slow, and they are where the year's profit actually is.

The awkward part is that the same campaign produces both. A keyword that generates cheap emergency calls looks excellent on cost per lead and may produce almost no replacement revenue; a keyword that generates a handful of expensive inquiries looks wasteful and may carry the quarter.

Ranking channels on invoiced revenue rather than on jobs booked separates them without anybody having to guess. It is also why a job-type column is worth adding to the export: with it, the report can rank channels twice and show that the two rankings are not the same list.

04

What the first report usually shows a contractor

Two findings come up again and again. The unattributed share is larger than expected — commonly a third or more — because repeat customers, neighbors and van signage genuinely do produce work that no advertisement can be credited with. Reporting that honestly is the point; spreading it across the paid channels would make every other number on the page untrustworthy.

The second is that the channel producing the most jobs is rarely the channel producing the most revenue. That is not a reason to switch anything off. It is a reason to bid differently, because the two keyword sets are doing different jobs and have been funded as though they were the same one.

Why it matters

What changes when you can prove it.

You stop defending the budget and start growing it

"We generated 400 leads" invites an argument. "This channel closed $186,400 last quarter, here is the reconciliation" ends one. The teams that can show closed revenue by channel are the teams that get the next increase approved, because they are asking with evidence rather than with conviction.

You can cut the wrong channel without a fight

Killing spend is politically harder than adding it, because someone always owns the channel being cut. A number that reconciles to the sales export takes the argument out of the room — you are not overruling a colleague's judgment, you are reading the same ledger they are.

Your reporting survives the finance review

Platform-reported conversions do not reconcile to revenue, and eventually someone in finance notices. Reporting built from your own closed-sales export starts from the number finance already trusts, which is why it holds up when it is checked.

You answer in an afternoon, not a quarter

Because this reconciles exports rather than tracking visitors, it works on months that have already closed. You are not instrumenting now to learn something in ninety days — you can answer for last quarter today, which is usually when the question is being asked.

Honest answers

The pushback we hear from Home Services.

They say

Our field-service software's export is a mess.

We say

Any layout works. You need a customer phone or email, the invoiced amount and a date — most systems' invoice or job-completion report already produces exactly that.

They say

A lot of our work is repeat customers.

We say

Then it should show as Direct / Unknown rather than being credited to whichever ad ran that month, which is what most tools do. Repeat work is a real and valuable channel; it just is not paid media, and mixing them makes the paid numbers useless.

They say

We use a call tracker already.

We say

Good — its export is one of the two files. A call tracker tells you the call came from Google Ads; CloseRev tells you that call became a $28,400 replacement.

Pricing

Flat monthly pricing. No per-call fees.

The price here is the price on the invoice, plus any sales tax that applies — no per-call, per-minute or per-form fees. Growth usually fits HVAC, plumbing, roofing and remodeling companies — thirteen months of history to compare a month to the same month last year, and a PDF you can put in front of whoever holds the budget.

Questions

Questions we get about Home Services.

Anything else? Talk to us — a person answers, usually the same day.

Completed, invoiced jobs: a customer phone number or email, the amount, and the date. ServiceTitan, Housecall Pro, Jobber and similar all produce this as a standard report.

Where your sales already are

What to export, by system.

All systems

ServiceTitan

Export completed jobs and match them to the campaigns and calls that produced the customer — including the estimate that sat for four months.

What to export

Jobber

Export paid invoices and match them to the campaigns that produced the customer — including the recurring work that follows.

What to export

Housecall Pro

Match paid jobs to the campaigns and calls behind them, and rank channels on collected revenue rather than booked work.

What to export

Supermove

Supermove already reports revenue by referral source. This adds the campaign behind it — and prices bought leads against your own advertising.

What to export

SmartMoving

SmartMoving reports on the sources it holds. This adds the campaign behind them and ranks every lead vendor on invoiced work.

What to export

GorillaDesk

Export invoices from GorillaDesk, upload the leads that produced them, and rank marketing on the account rather than on the first job.

What to export

Kickserv

Export invoices from Kickserv, upload the leads behind them, and find out which marketing produced work rather than calls.

What to export

Arborgold

Export invoices from Arborgold, upload the leads behind them, and rank marketing on completed work rather than on requests for a quote.

What to export

FieldPulse

Export invoices from FieldPulse, upload the leads behind them, and see which channels produce work that closes.

What to export

MarketSharp

Export signed contracts from MarketSharp, upload every lead source behind them, and rank channels on contract value.

What to export

improveit 360

Export sold jobs from improveit 360, upload the leads behind them, and read each source against the stage where it fails.

What to export

Birdeye

Export Birdeye conversations as your lead file, match them against closed revenue, and find out what the widget and the listings are worth.

What to export

Google Ads

Export the leads your campaigns produced, match them against closed sales, and find out which campaigns produced revenue rather than form fills.

What to export

Meta Ads

Export your lead ads, match them against closed sales, and find out which campaigns produced customers rather than contact details.

What to export

Invoca

Export your call records, match them against closed sales, and find out which sources produced calls that became invoices.

What to export

ServiceM8

Export invoices from ServiceM8, upload the leads behind them, and find out which marketing paid for itself.

What to export

Tradify

Export invoices from Tradify, upload the leads behind them, and see which channels produce work rather than price comparisons.

What to export

Roofr

Export signed work from Roofr, upload the leads behind it, and rank channels on contracts rather than on how many roofs you measured.

What to export

Contractor Foreman

Export invoices from Contractor Foreman, upload the leads behind them, and rank marketing on the project rather than on the deposit.

What to export

Briostack

Export billed services from Briostack, upload the leads behind them, and rank channels on what their accounts were actually worth.

What to export

RealGreen

Export billed applications from RealGreen, upload the leads behind them, and rank channels on the season rather than on the sign-up.

What to export

Podium

Export your conversations, match them against closed sales, and find out what texting actually produced.

What to export

Jotform

Export your submissions, match them against closed sales, and find out which forms and which sources produced revenue.

What to export

JobNimbus

Export collected work from JobNimbus, upload the leads behind it, and rank channels on the stage that actually pays.

What to export

Angi

Export your Angi leads, match them against the jobs you invoiced, and find out what a won job actually cost.

What to export

Thumbtack

Export your Thumbtack leads, match them against paid jobs, and find out which categories and which job sizes are worth being in.

What to export

Yelp

Capture Yelp calls and requests as leads, match them against closed sales, and separate what the ads added from what the listing would have brought anyway.

What to export

WhatConverts

Export your WhatConverts leads, match them against your invoices, and see where the recorded values and the real ones part company.

What to export

Thryv

Export customers and paid invoices from Thryv, match them on the customer, and see what each source produced in money you received.

What to export

Start today

Stop guessing which ads pay off.

Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.