Invoiced value, not calls
Rank channels by work actually invoiced rather than by phone calls received.
Marketing attribution for Solar Installers
Match signed and installed systems to the leads and campaigns that produced them, across a sales cycle that runs months and survives a finance approval.
$972,000 54% of $1,800,000 paid
The blind spot
Solar leads are expensive, most never install, and the ones that do are worth twenty thousand dollars or more. Lead volume is close to uninformative in that market.
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.
No tracking numbers to provision, no app for the crew. Two exports.
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 | 21 | $522,000 | 29% | |
| Meta Ads | 14 | $342,000 | 19% | |
| Email marketing | 4 | $108,000 | 6% | |
| Direct / Unknown | 33 | $828,000 | 46% |
Solar has an unusually long gap between signature and installation — finance approval, permitting, utility interconnection, scheduling. A meaningful share of signed deals never install at all.
Ranking on installed systems rather than signed contracts or leads is the only measure that matches what the business actually earns, and it separates channels that produce serious buyers from those producing sign-ups that fall out.
Most solar companies buy leads from several sources, and each reports the leads it sent. Add up the claims and you have sold each system more than once.
Matching those lists against installed systems produces one number per source that reconciles to what you actually installed, which makes the renewal conversation short.
A solar contract is signed and then waits: design, structural review, utility interconnection, permitting and inspection. Months pass before the system is installed and the revenue is recognized, and a meaningful share of signed contracts cancel somewhere in that queue.
So a report built on contracts signed is measuring something the company does not get paid for. Cancellation rates differ by channel — a high-pressure lead source and a considered organic inquiry do not behave alike once the paperwork starts.
Ranking on installed and invoiced systems is the correction. It also puts the revenue in the period the inquiry came from rather than the period the queue happened to clear.
Tax credits, utility rebates and financing terms all change what a system nets, and they change on a policy timetable rather than a sales one. A contract signed before a rate change and installed after it is not the same revenue it looked like on the day.
Exporting what was actually invoiced keeps the report honest about that and reconcilable to the company's accounts. A financing-type column mapped as Product / service separates cash, loan and lease revenue, which have materially different economics, and shows how much of each traces to a channel.
Residential solar has an unusually wide spread of lead quality, because a large share of the demand is generated by appointment-setting, aggregators and canvassing operations whose economics reward volume over fit. A lead that agrees to an appointment is not a lead that owns a suitable roof, has the credit profile for financing, or intends to buy anything at all.
The consequence is that cost per lead and cost per appointment are close to meaningless as comparison metrics between a bought channel and an owned one. They measure how cheaply somebody will say yes to a conversation, which is not a quantity the business is paid for.
Ranking on installed and invoiced systems collapses all of that into one honest number. And if the appointment list is the lead file, each source's appointments sit beside its installed systems, which is often where the real difference between two apparently similar lead sources turns out to live.
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 the report ranks on installed systems. Fallout appears as an unmatched lead and costs nothing against your allowance.
Combine their lists into the lead file, each row tagged with the vendor as its source. Their claims are then checked against systems you actually installed.
It lands in Direct / Unknown, honestly. In this trade that bucket is usually large and worth knowing the size of.
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 solar 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.
Installed systems: a homeowner contact email or phone, the system value, and the installation date.
Yes — upload signed contracts as one file and installed systems as another over the same period.
As long as it turns out to be. There is no window to fall outside of: however much time passes between the inquiry and the installation, it matches if the homeowner is in both files.
Yes, with a territory column mapped as Location, which shows installed revenue by territory and how much of each traces to a channel.
No. Reseller and ad platform exports work as the second file.
Yes, with a segment column mapped as Product / service — the economics are different enough to separate.
Yes. Nothing needed to be installed when those jobs happened, which is the whole reason this works on history.
Installed system rows analyzed in a calendar month. Lead rows do not count.
Installed. Cancellations in the permitting queue are not uniform across channels.
Yes, with a financing-type column mapped as Product / service — their economics differ enough to matter.
Yes, if both signed contracts and installed systems are exported.
At least eighteen months, because the interconnection queue routinely spans quarters.
Yes — add the canvassed list to the lead file, tagged as canvassing, and it ranks on installed revenue.
Partly. With the appointment list as the lead file and installed systems as the sales file, each source's appointments sit beside its installs, which gives appointment-to-install conversion per source. Sits and cancellations are not tracked as their own figures.
Yes. Add the setter's appointment list to the lead file, tagged with the setter as its source, and both are ranked on installed revenue rather than on appointments.
Leave them out of the sales file until they are installed and invoiced, because every row in it is counted as revenue. Nothing is projected.
Monthly to keep the file current, quarterly to make decisions. With installation trailing the sale by months, a monthly report is largely a statement about demand from last quarter. Running it often is cheap; acting on it often is not, because you would be responding to queue timing rather than to how a channel is performing.
Open the installed systems behind the disputed channel and read them. Managers remember the deals they worked; the report counts the systems that were installed and paid for. Where the two disagree, it is normally because the memorable sales and the completed ones are different jobs. The rows settle it faster than a meeting will.
Yes, with a longer window. A few dozen installations is too few to read month by month, but across a year the ordering of sources is clear enough to act on. Ask it a small question — which two sources are worth keeping — rather than expecting a percentage split fit for a board pack.
The sale is credited automatically to whichever of the two leads came first; the overlap is not reported as a separate figure. How often purchased leads were already reaching you directly is still worth knowing, and the place to measure it is the vendor's list against your own inquiries before you combine them.
It does not model, project or estimate. There is no forecast of what a channel will produce next quarter, no assumed value for an appointment that never converted, and no share of revenue handed to a source on probability. Anything that cannot be traced to a person in your own two files is left in Direct / Unknown.
Nearby
Match signed and installed contracts to the leads and ads that produced them, across a sales cycle that often runs months.
See how it worksMatch completed jobs and their revenue to the calls and campaigns that produced them, from a $140 outlet to a $22,000 service upgrade.
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 worksWhere your sales already are
Export signed contracts from MarketSharp, upload every lead source behind them, and rank channels on contract value.
What to exportExport sold jobs from improveit 360, upload the leads behind them, and read each source against the stage where it fails.
What to exportExport your lead ads, match them against closed sales, and find out which campaigns produced customers rather than contact details.
What to exportExport collected work from JobNimbus, upload the leads behind it, and rank channels on the stage that actually pays.
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 articlePixels were built for sales that finish in a browser. Most sales don't. Here's the method that works on exports you already have — and why the tools you're paying for structurally cannot do it.
Read the articleStart today
Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.