«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.
Sin clave de API Nada que instalar en RoofrNada que instalar Sin tarjeta de créditoSin tarjeta
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.
Comprobado por última vez con la documentación del propio Roofr el 24 de septiembre de 2026.
La brecha
Proposals are cheap to send, so every channel looks productive until somebody counts signatures.
Qué se vendió, a quién y por cuánto.
El clic, la palabra clave, la llamada y cuánto costó cada uno.
El archivo
Tres cosas sostienen la coincidencia: quién, cuánto y cuándo. Todo lo demás es opcional y solo cambia cómo se puede desglosar el informe.
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.
Paso a paso
Escrito para quien tiene Roofr abierto en la pestaña de al lado. Los nombres de los informes varían según la edición, así que cada paso indica qué buscar.
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.
Lo que recibe
Ingresos por canal, el número de ventas detrás de cada cifra y un grupo honesto para las que nadie pudo rastrear. Cifras de ejemplo, del caso práctico de la página Contratistas de techos, no de una cuenta de Roofr.
| Canal | Proporción | Ventas | Ingresos |
|---|---|---|---|
| Google Ads | 19 | $342,000 | |
| Meta Ads | 9 | $153,000 | |
| Email marketing | 3 | $45,000 | |
| Directo / Desconocido | 21 | $360,000 |
Las ventas sin coincidencia quedan en Directo / Desconocido. Nunca se reparten entre los canales pagados para que el total se vea mejor.
El 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.
Preguntas 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 sector
Cómo se ve el informe una vez cargada la exportación, escrito para cada uno.
Otros sistemas
¿Usa más de un sistema o está comparando? El método es el mismo; las columnas, no.
Roofr y los demás nombres de productos y logotipos de esta página pertenecen a sus propietarios y se muestran para identificar el software del que procede un archivo. CloseRev no está afiliada a ellos ni cuenta con su respaldo, y no se conecta a ninguno: lee un archivo que usted exporta.
Empiece hoy
Nada que instalar en Roofr, sin clave de API y sin necesidad de haber rastreado nada hasta ahora. El año pasado funciona igual de bien que este mes.