Contract value, not MQLs
Rank channels by the revenue they closed so one large account outweighs a page of leads.
For Commercial Cleaning
Match signed contracts and the monthly revenue they bill to the campaigns and outbound that produced the account.
No card required · Nothing to install · Cancel anytime
The blind spot
A cleaning contract bills every month for years. Judged on a single first invoice, no acquisition channel looks worth funding.
Rank channels by the revenue they closed so one large account outweighs a page of leads.
A deal that closes two quarters after the click still credits that campaign.
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 | 41 | $243,000 | |
| LinkedIn Ads | 17 | $99,000 | |
| Outbound & referral | 29 | $171,000 | |
| Direct / Unknown | 66 | $387,000 |
A $2,400-a-month contract held for three years is worth $86,000. A channel judged on the first month appears to cost more than it earns and gets cut before it has been understood.
Because the match is on the account, every month of billing credits the channel that won it, which is the only ranking that reflects the economics of a recurring service business.
Contracts churn, and channels differ in the quality of the accounts they produce. Some produce price-driven clients who leave within a year; others produce buildings that stay for five.
With contract end dates in the export, average contract life can be read by channel — which usually matters more to the marketing budget than acquisition cost does.
"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.
Which is why later billing must credit the original channel — that is where the value of an account actually shows.
Upload the outbound call or email list as a source file and it ranks against paid channels.
Matching works on a business contact's email or phone; company name can be carried as a column.
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
Signed contracts or billing: an account contact 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