Invoiced value, not calls
Rank channels by work actually invoiced rather than by phone calls received.
Marketing attribution for pest control companies
Match recurring service revenue to the calls and ads that produced the customer — because a one-off treatment is not the business.
$261,000 58% of $450,000 paid
The blind spot
A one-off treatment is worth a couple of hundred dollars; a recurring plan is worth that every quarter for years. Call counts cannot tell them apart.
What you get
Rank channels by work actually invoiced rather than by phone calls received.
A quote given now and approved months later still traces to the ad that produced it.
Nothing goes on a page, nothing connects to your job management software, and no permissions are granted — the inputs are two files you export and can read yourself.
A worked example
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.
| Channel | Sales | Revenue | Share | % |
|---|---|---|---|---|
| Google Ads | 214 | $171,000 | 38% | |
| Meta Ads | 68 | $49,500 | 11% | |
| Email marketing | 54 | $40,500 | 9% | |
| Direct / Unknown | 231 | $189,000 | 42% |
Pest control economics are built on recurring plans. A channel producing cheap one-off callouts and a channel producing plan customers look identical on a cost-per-lead report and are worth completely different amounts.
Ranking on billed revenue across a longer range separates them, because a plan customer keeps appearing and a one-off does not.
Urgent infestations arrive through search and convert immediately at a low ticket. Preventative plans come through different channels, convert more slowly and are worth far more over time.
Splitting the report by service type shows which channel is doing which — usually the difference between a budget that fills tomorrow and one that builds a book.
Pest control sells a first treatment and earns on the plan behind it. A quarterly agreement held for three years is worth many times the initial service, and that is the outcome the marketing actually produced.
Ranked on the first invoice, every channel looks similar and cheap. Ranked on the revenue a customer goes on to pay, the channels separate — because retention differs sharply depending on whether somebody arrived with an infestation or with a preventative intent.
Matching on the customer attaches the whole agreement to the acquiring channel, which is the only way that difference becomes visible.
Termite treatment, exclusion work and wildlife removal carry tickets an order of magnitude above general pest, and they arrive through different searches at different costs. A handful of them in a month will make whichever channel produced them look transformative.
A service-type column keeps them apart, so the recurring general-pest book can be judged on retention and the high-ticket work on its own conversion economics.
Pest pressure is seasonal and the seasons are not the same everywhere. Ants in spring, wasps in high summer, rodents as the weather turns, termite swarms on a few specific weeks of the year. A channel that looks strong in April and weak in October may simply be a channel that sells an April service, and comparing consecutive months will tell you the wrong story about it every single time.
Uploading two or three years lets the report compare the same weeks across years rather than this month against last. For a business whose demand arrives in waves, that is the difference between a chart somebody argues about in a meeting and a chart somebody acts on, because it removes the one objection that can always be raised against a month-on-month comparison.
It also makes the shoulder seasons legible. Most pest control companies know what their peak is worth and have very little idea what their quiet months cost them, which is precisely where a poorly performing channel hides.
Why it matters
"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.
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.
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.
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
Which is why running over a longer range matters — every renewal traces back to the channel that produced the customer.
They still match; they are just worth less, and the report shows which channels produce them.
Any layout works — a contact detail, an amount and a date.
Pricing
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 residential and commercial pest control 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.
A business scaling ad spend
$49/mo
billed monthly
Questions
Anything else? Talk to us — a person answers, usually the same day.
Billed services: a customer contact email or phone, the amount, and the date.
Yes, with a service-type column, and by running the report over a longer range.
Run the report over a year and every service traces to the acquiring channel.
Yes, with a branch column.
No. Any list of inquiries with a contact detail works as the lead file, whether it came from call tracking or from your own records.
Yes, and they are worth separating with a segment column.
Yes. Nothing needed to be installed when those jobs happened, which is the whole reason this works on history.
Billed rows analyzed in a calendar month. Call rows do not count.
Yes, and it credits the channel that produced the customer originally.
Yes, with a service-type column — their tickets are not comparable to general pest.
Yes, if cancellation dates are exported.
Yes, with a branch column.
No, but this trade converts on the phone, so it is usually the strongest second file.
Yes, and in this trade you should. Upload two or three years and the report compares like weeks rather than consecutive months, which removes seasonality as an objection.
You can separate them with a revenue-type column mapped as Product / service, which shows initial and plan revenue as separate lines — the initial is an acquisition cost center and the plan is the asset.
Every job on that number is credited automatically to the earliest inquiry carrying it; a shared number is not sent to review. Where the landlord and the tenant came through different channels, an email for whoever pays the bill is what tells them apart, because email is checked before phone.
Read the accounts behind both. Confirm the revenue export for that period was complete, and that the plans credited to the smaller channel are real and still active. If they are, you have found something that was true all along; test it with a modest budget shift and run the report again at the end of the next quarter.
Monthly. Recurring plans mean each run adds income from customers acquired months earlier, so the picture firms up gradually rather than jumping about. That also makes a monthly run cheap to interpret: what changed is new customers, plus another month of plan revenue credited to whoever originally brought them in.
It cannot tell you the cost of servicing a route, whether a technician's time was well spent, or how long a plan will last beyond the data you have given it. It states which sources produced the customers who paid you. Route economics belong in your own figures, and the two are most useful read together.
It is the same two files at any size. What a small operator should change is the window — read a year rather than a month — and the expectation: the output is an ordered list of sources, not a precise share. That is usually enough to decide which listing or campaign to stop renewing.
Nearby
Match completed jobs and recurring maintenance contracts to the campaigns that produced the customer.
See how it worksMatch your invoiced jobs to the calls and ads that produced them, and find out which channel is actually paying for the trucks.
See how it worksMatch completed jobs and their revenue to the calls and campaigns that produced them, from a $250 trim to a $9,000 removal.
See how it worksWhere your sales already are
Export paid invoices and match them to the campaigns that produced the customer — including the recurring work that follows.
What to exportExport invoices from GorillaDesk, upload the leads that produced them, and rank marketing on the account rather than on the first job.
What to exportExport invoices from Arborgold, upload the leads behind them, and rank marketing on completed work rather than on requests for a quote.
What to exportExport billed services from Briostack, upload the leads behind them, and rank channels on what their accounts were actually worth.
What to exportExport billed applications from RealGreen, upload the leads behind them, and rank channels on the season rather than on the sign-up.
What to exportExport your Thumbtack leads, match them against paid jobs, and find out which categories and which job sizes are worth being in.
What to exportFrom the blog
Multi-crew home and field services businesses run on phone calls and job management software, not on web forms. Which means the standard marketing dashboard is measuring the smallest part of the business and missing where the money actually is.
Read the articleGoogle's Local Services Ads charge for the phone call, not the click, and they hand you the caller's number with the invoice. It is the easiest channel in the budget to attribute to closed revenue. Almost nobody does, because the lead inbox is not where the reports live.
Read the articleThe attribution window is the most consequential setting in marketing measurement and the least defended. It is usually inherited from a platform default, occasionally changed until the numbers look better, and almost never written down. Here is how to choose one honestly, why a longer window for one channel can be legitimate, and the single rule that separates a measurement from a rationalization.
Read the articleStart today
Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.