“MarketSharp already reports by lead source.”
On leads and appointments, which is the stage before the money and the stage where the sources look most alike.
For MarketSharp
Export signed contracts from MarketSharp, upload every lead source behind them, and rank channels on contract value.
No API key Nothing to install in MarketSharpNothing to install No card requiredNo card
CloseRev reads a MarketSharp export of signed contracts — the homeowner's phone or email, the contract value and the date — and matches it against every source that produced the lead, including the offline ones. Remodelers buy from many sources at once and usually rank them on set appointments, which is the stage before the money. Contracts with no traceable lead are reported as Direct / Unknown.
Last checked against MarketSharp's own documentation on September 24, 2026.
The gap
You buy from twelve sources, and the only comparable number anybody produces is cost per set appointment.
What was sold, to whom, and for how much.
The click, the keyword, the call, and what each one cost.
The file
Three things carry the match: who, how much, and when. Anything else is optional and only changes how the report can be sliced.
On the lead or contact record. Phone carries the match for call-generated and canvassed leads alike.
The signed amount. Not the estimate, not the issued appointment — the contract.
When it was signed. Keep the lead date too: the gap is often months and differs by source.
Windows, roofing, baths, siding. The ticket varies by a factor of ten and so does which source produces it.
Step by step
Written for somebody with MarketSharp open in the next tab. Report names vary by edition, so each step says what to look for.
One row per contract with a homeowner contact detail, the value and the date signed.
Home shows, canvassing, direct mail and referrals belong in the same file as paid search, or the comparison is rigged towards whatever is easiest to track.
Remodeling is seasonal and the lag from lead to signature is long. A quarter compares seasons.
A signed contract that cancels before install is not revenue. Whichever convention you choose, apply it to every source.
The join runs on the phone and the email, normalised, with everything unmatched kept visible.
What comes back
Revenue by channel, the count of sales behind each figure, and an honest bucket for the ones nobody could trace. Sample figures, from the worked example on the Kitchen & Bath Remodeling page — not from a MarketSharp account.
| Channel | Share | Sales | Revenue |
|---|---|---|---|
| Google Ads | 11 | $378,000 | |
| Meta Ads | 9 | $294,000 | |
| Email marketing | 3 | $98,000 | |
| Direct / Unknown | 18 | $630,000 |
Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.
The argument
The industry's default metric is cost per issued or set appointment, because it is available the same week and every lead vendor reports it.
It measures how well your team books the leads it is given, which is a real and important thing and is not the same question as which marketing to buy more of.
Sources that book easily and sign rarely — shoppers, price-led enquiries, incentive-driven show leads — look excellent at that stage and poor at the contract.
Ranking on contract value moves the decision to the stage where the money is, and the reordering between the two lists is usually large enough to be uncomfortable.
Home shows, canvassing, direct mail, yard signs and referrals produce a large share of a remodeler's contracts and none of them appear in an advertising platform.
Reports built from the platforms therefore compare digital channels with each other and leave out most of the budget.
Every one of those sources can carry an identifier — a tracked number on the mail piece, a source code captured at the show, a canvasser's code on the lead record — and once it does, it ranks alongside paid search on the same money.
That comparison is frequently the one that changes the plan, because the offline sources are also the ones nobody has ever costed properly.
A bath conversion, a full roof and a whole-house window job are different amounts of money and different sales cycles.
A source that produces mostly one product will be ranked as though it produced the mix, which flatters some channels and buries others.
Where the export carries a product line, the report splits on it and the answer becomes usable: this source for roofs, that source for baths, at these costs.
Without the split, a remodeler running several product lines is reading an average that describes no real decision they can make.
A contract signed in March may install in July and may cancel in April, and both of those change what the marketing actually produced.
Whatever your convention — net of cancellations, or gross with a flag — the important part is applying it identically to every source, because cancellation rates differ sharply by source.
The report reads a year, which is long enough for the lag and long enough for the cancellations to have happened, and it keeps the lead date so the typical time to signature per source is visible.
That lag figure has its own use: a source with a four-month average is a source you must keep buying through the quiet season or lose the following one.
Fair questions
On leads and appointments, which is the stage before the money and the stage where the sources look most alike.
A source code captured on the lead at the show is enough. It does not need to be digital to be comparable.
It is, and it is the metric they look best on. Contract value is the one you can act on.
No. It reads a file you exported, so your leads, appointments and customer records are not reachable from here.
Signed contracts with a homeowner contact detail, the value and the date.
They rank your call centre. Sources that book easily and sign rarely look best at that stage.
Yes, and they should be — shows, canvassing and mail carry a source code, and excluding them compares only part of the budget.
A year. Remodeling is seasonal and the lag from lead to signature is measured in months.
Your convention, applied identically to every source, because cancellation rates differ sharply between them.
Yes, where the export carries one, and it is usually the split that makes the report actionable.
Yes, where the lead date is included — and it decides when you can stop buying without losing a season.
Included where they are recorded as a source. Their true size is usually a surprise in both directions.
Any contract with no traceable lead. The size of that bucket is a finding, not a failure.
A contact detail, an amount and a date, plus a product line if you include one. No addresses required, no financing details, no card data. Encrypted in transit and at rest and deleted with the import.
Contract value per source, split by product line where available, time to signature where the lead date is present, and everything unmatched kept visible.
By trade
What the report looks like once the export is in, written for each one.
Other systems
Running more than one system, or comparing? The method is the same and the columns are not.
MarketSharp and the other product names and logos on this page belong to their owners and are shown to identify the software a file comes from. CloseRev is not affiliated with or endorsed by them, and connects to none of them: it reads a file you export.
Start today
Nothing to install in MarketSharp, no API key, and no need to have been tracking anything until now. Last year works as well as this month.