“Roofr already tracks proposal acceptance.”
It does, inside the system. It has no record of the canvasser, the advert or the storm list that produced the homeowner.
Para Roofr
Export signed work from Roofr, upload the leads behind it, and rank channels on contracts rather than on how many roofs you measured.
Sem chave de API Nada para instalar no RoofrNada para instalar Sem cartão de créditoSem cartão
CloseRev reads a Roofr export of signed proposals or invoices — the homeowner's phone or email, the amount and the date — and matches it against the calls, forms and canvassing that produced the lead. Roofing is a trade where a proposal costs almost nothing to produce and a signature is worth five figures, which makes lead counts an especially poor guide to what a channel is worth. Signed work with no traceable lead is reported as Direct / Unknown.
Verificado pela última vez na documentação do próprio Roofr em 24 de setembro de 2026.
A lacuna
Proposals are cheap to send, so every channel looks productive until somebody counts signatures.
O que foi vendido, para quem e por quanto.
O clique, a palavra-chave, a ligação e quanto cada um custou.
O arquivo
Três coisas sustentam a correspondência: quem, quanto e quando. O resto é opcional e só muda como o relatório pode ser detalhado.
On the customer or proposal record. Phone is the working key in roofing.
The accepted contract value. A sent proposal is not revenue however good the measurement was.
When it was accepted. Keep the lead date too — storm work and planned replacement have very different lags.
Repair, replacement, insurance claim. Their values and their sources differ enormously.
Passo a passo
Escrito para quem está com o Roofr aberto na aba ao lado. Os nomes dos relatórios variam conforme a edição, então cada passo diz o que procurar.
One row per signed job with a homeowner contact detail, the amount and the date.
A channel that needs ten proposals per signature costs ten measurements, and that cost is invisible without them.
Canvassing, tracked numbers, search ads, the website form, storm lists and any marketplace you buy from.
Roofing is seasonal and weather-driven, and a quarter compares storms rather than channels.
The join runs on the phone and the email, normalised. Proposals that were never signed stay in the file as the cost of the channel that produced them.
O que você recebe
Receita por canal, a quantidade de vendas por trás de cada número e uma categoria honesta para as que ninguém conseguiu rastrear. Números de exemplo, do caso prático da página Empresas de telhados — não de uma conta do Roofr.
| Canal | Parcela | Vendas | Receita |
|---|---|---|---|
| Google Ads | 19 | $342,000 | |
| Meta Ads | 9 | $153,000 | |
| E‑mail marketing | 3 | $45,000 | |
| Direto / Desconhecido | 21 | $360,000 |
Vendas sem correspondência ficam em Direto / Desconhecido. Nunca são distribuídas entre os canais pagos para melhorar o total.
O argumento
When a measurement and a branded proposal take minutes rather than an afternoon, the natural instinct is to quote everything that moves.
That is good operations and it destroys lead-based reporting, because the proposal count stops carrying any information about whether the lead was real.
The number that still means something is the signature, and ranking channels on signed value rather than on proposals sent usually reorders the list substantially.
It also puts a cost on the volume: a source needing ten proposals per signature is consuming ten measurements, ten follow-ups and ten days of somebody's attention.
None of that appears in a cost-per-lead figure, and all of it is paid by the business.
A hailstorm produces a fortnight of enquiries that no advertising caused, at values set by an insurance adjuster rather than by your pricing.
Planned replacement is a slow, considered purchase where the homeowner has been thinking about the roof for a year and compares three contractors.
Blended, the storm weeks inflate whichever channel happened to be running, and the conclusion will not repeat because the weather will not.
Where the export carries a job type or an insurance flag, the report splits on it; where it does not, the date range usually identifies the storm itself.
The point is not to discard storm revenue but to stop it being read as proof that a campaign worked.
Door-knocking after a weather event produces a large share of roofing revenue in many markets, and it has a real cost in wages and time.
Because no invoice arrives from an advertising platform, it sits outside every marketing report and the paid channels are judged as though they were the whole budget.
A canvasser code on the lead record puts it into the same comparison on the same signed value, against what it actually cost to have people walking streets.
Contractors who run this frequently find the ranking between canvassing and paid search is not what either side of the argument assumed.
It also identifies which neighbourhoods and which crews produce signatures, which is a scheduling decision rather than a marketing one.
A claim-funded replacement has a value set by the adjuster, a longer timeline, and a conversion pattern driven by the claim rather than by your sales process.
Averaged with retail work it produces a figure describing neither, and a channel weighted towards claims will be read as though it produced retail jobs.
Separating them gives two honest rankings, and most roofers discover the sources feeding each are almost entirely different.
Where the export flags the claim, this is automatic. Where it does not, the amounts and the timelines usually make the split obvious within a few minutes.
Perguntas justas
It does, inside the system. It has no record of the canvasser, the advert or the storm list that produced the homeowner.
Then the report will show that honestly, and separating it is how you find out what the rest of the marketing is worth.
A code on the lead record is enough. It does not need to be digital to be comparable on money.
No. It reads an exported file, so your measurements, proposals and customer records stay where they are.
Signed proposals or invoices with a homeowner contact detail, the amount and the date.
Because each one cost a measurement and a follow-up, and a channel needing ten per signature is far more expensive than its lead price.
A year. Roofing is seasonal and weather-driven, and a quarter compares storms.
Read separately where a job type, an insurance flag or the date range identifies it, so weather is not mistaken for marketing.
Yes, with a canvasser code on the lead record, ranked on the same signed value as every paid channel.
Yes. Their values are set by an adjuster and averaging them with retail work describes neither.
Split them out where the export allows. A repair and a full replacement are different decisions with different sources.
Yes, where the lead date is exported, which is how a seasonal budget gets decided.
Anything with no traceable lead. In roofing that is usually untracked calls and referrals, and its size is worth knowing.
A contact detail, an amount and a date, plus a job type if you include one. No property addresses required, no measurements, no claim documents. Encrypted in transit and at rest and deleted with the import.
Signed value per source, proposals-per-signature beside it, storm and insurance work separated, and everything unmatched kept visible.
Por setor
Como fica o relatório depois que a exportação entra, escrito para cada um.
Outros sistemas
Usa mais de um sistema ou está comparando? O método é o mesmo; as colunas, não.
Roofr e os demais nomes de produtos e logotipos desta página pertencem aos seus donos e aparecem para identificar o software de onde vem um arquivo. A CloseRev não é afiliada a eles nem endossada por eles, e não se conecta a nenhum: ela lê um arquivo que você exporta.
Comece hoje
Nada para instalar no Roofr, sem chave de API e sem precisar ter rastreado nada até agora. O ano passado funciona tão bem quanto este mês.