Revenue, not calls
Rank channels by the jobs they actually closed, so one large job outweighs twenty enquiries.
For Landscaping & Lawn Care
Match completed jobs and recurring maintenance contracts to the campaigns that produced the customer.
No card required · Nothing to install · Cancel anytime
The blind spot
One-off design-build jobs and weekly maintenance contracts are the same lead in the reporting and completely different businesses in the accounts.
Rank channels by the jobs they actually closed, so one large job outweighs twenty enquiries.
A quote given in spring and accepted in summer still credits the campaign behind it.
Only exact matches count automatically; anything weaker is flagged rather than assumed.
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 | 148 | $116,000 | |
| Local service ads | 94 | $72,000 | |
| Meta Ads | 41 | $32,000 | |
| Direct / Unknown | 229 | $180,000 |
A customer on a $160 monthly plan for four years is worth almost $8,000. Attributed on the first invoice, the channel that won them looks barely break-even.
Matching on the customer means every later invoice credits the original channel, and maintenance acquisition stops being the thing nobody can justify spending on.
Spring and autumn are not comparable, and neither is this April against last October, yet those are the comparisons most reporting defaults to.
Because there is no attribution window, the same season can be run against the same season a year earlier, which isolates what the marketing did rather than what the weather did.
"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 judgement, 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.
Compare the same season year on year — there is no attribution window and nothing had to be installed at the time.
Which is why recurring revenue must credit the original channel. That is where the value of a maintenance customer actually shows.
If it exports jobs or invoices to CSV, that is enough.
Flat monthly pricing with no per-call, per-minute or per-form fees. The number here is the number on the invoice.
A single business getting started
$49/mo
billed monthly
A business scaling ad spend
$199/mo
billed monthly
One business closing at volume
$499/mo
billed monthly
Reporting on many clients at once
$799/mo
billed monthly
Completed jobs or invoices: a customer email or phone, the amount, and a date.
Upload two exports and see your real revenue by channel in minutes. Three days free, no card.
Start free