Revenue, not calls
Rank channels by the jobs they actually closed, so one large job outweighs twenty enquiries.
For Electricians
Match completed jobs and their revenue to the calls and campaigns that produced them, from a $140 outlet to a $22,000 service upgrade.
No card required Nothing to install Cancel anytime
$265,500 59% of $450,000 paid
The blind spot
A service call and a panel upgrade cost the same to acquire and differ by two orders of magnitude in revenue. Cost-per-call cannot see that.
What you get
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.
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 | 164 | $139,500 | 31% | |
| Local service ads | 122 | $103,500 | 23% | |
| Meta Ads | 26 | $22,500 | 5% | |
| Direct / Unknown | 218 | $184,500 | 41% |
Two channels producing calls at $60 each are not equivalent if one fills the diary with small repairs and the other with panel upgrades, EV chargers and generator installs.
Ranking on completed job revenue is the correction, and it usually reveals that the channel with the highest cost per call has the lowest cost per dollar earned.
A commercial account can be worth a hundred residential calls and arrives through completely different channels — often a referral or a bid list rather than search.
A job-type column splits the report so residential and commercial are ranked separately, and referral lists can be uploaded as source files so the commercial side is measurable at all.
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 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.
Honest answers
Which is why revenue rather than job count is the ranking. Export the total and the comparison is meaningful.
Add a job-type column and the report splits, because the two do not share economics.
If it exports completed jobs to CSV, that is enough.
Pricing
The number here is the number on the invoice — no per-call, per-minute or per-form fees. Most residential and commercial electrical contractors land on Starter — one workspace, one seat, and everything that makes the number defensible from the first plan.
A single business getting started
$49/mês
billed monthly
Questions
Anything else? Talk to us — a person answers, usually the same day.
Completed jobs: a customer email or phone, the total, and a date.
Yes, with a job-type column.
Yes — later jobs credit the channel that produced them.
Yes, with the relevant column, on Growth and above.
No.
Encrypted, isolated per workspace, deletable, DPA available.
Yes. Nothing had to be installed at the time.
Job rows analysed in a calendar month. Call rows do not count.
Nearby
Match 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 installed equipment and invoiced work to the calls and ads that produced them, so the channel that fills your install schedule is obvious.
See how it worksMatch invoiced jobs to the calls and ads behind them, and separate the drain clears from the repipes.
See how it worksStart today
Upload two exports and see your real revenue by channel in minutes. Three days free, no card.