Cookie preferences

Choose what we may use. Strictly necessary cookies keep you signed in and can't be turned off; everything else is your call and changes nothing about how the site works. You can change your mind any time from the footer.

For JobNimbus

Sold is a stage. Built is a job. Collected is the only one that pays anybody.

Export collected work from JobNimbus, upload the leads behind it, and rank channels on the stage that actually pays.

No API key Nothing to install in JobNimbusNothing to install No card requiredNo card

CloseRev reads a JobNimbus export of invoiced or collected work — the customer's phone or email, the amount and the date — and matches it against the canvassing, calls and ads that produced the lead. JobNimbus tracks a job from lead through sold to built, and the gap between those stages is where a contractor's real economics live. Revenue with no traceable lead is reported as Direct / Unknown.

Last checked against JobNimbus's own documentation on September 25, 2026.

The gap

The pipeline says sold. The crew calendar says otherwise, and the bank says something else again.

JobNimbus sees

What was sold, to whom, and for how much.

no shared row
Your ad account sees

The click, the keyword, the call, and what each one cost.

The file

What the export needs in it.

Three things carry the match: who, how much, and when. Anything else is optional and only changes how the report can be sliced.

  1. Needed

    Customer phone or email

    On the contact record. Phone carries the match in this trade, canvassed leads included.

  2. Needed

    Amount collected

    What was received. A signed contract is a stage and a percentage of them never get built.

  3. Needed

    Payment date

    When money arrived. Keep the lead created date too — the gap runs to months on insurance work.

  4. Optional

    Job type and workflow stage

    Retail or insurance, and where jobs stop. Both explain more than the revenue ranking alone.

Step by step

Getting the file out of JobNimbus.

Written for somebody with JobNimbus open in the next tab. Report names vary by edition, so each step says what to look for.

  1. Export collected work

    One row per payment with a customer contact detail, the amount and the date.

  2. Export the jobs that sold and never built

    They are a real cost — a measure-up, a contract, sometimes a deposit refunded — and they cluster by source.

  3. Separate insurance from retail

    Their values are set by different people on different timelines, and averaging them describes neither.

  4. Export your lead sources

    Canvasser codes, tracked numbers, search and social, storm lists and any marketplace you buy from.

  5. Upload both

    The join runs on the phone and the email, normalised, grouped by when the lead arrived.

What comes back

The page JobNimbus cannot show you.

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 Roofing Contractors page — not from a JobNimbus account.

Traced to a channel$540,00060% of $900,000
Sales matched31 of 52high confidence only
Average sale$17,300per paid sale
ChannelShareSalesRevenue
Google Ads19$342,000
Meta Ads9$153,000
Email marketing3$45,000
Direct / Unknown21$360,000

Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.

The argument

What changes when the job and the ad share a row.

The gap between sold and built is where contractors lose money quietly

A job can be sold and then die: the adjuster reduces the scope, the homeowner changes their mind, the mortgage company sits on the cheque, the crew never gets scheduled.

Every one of those has already consumed a measure-up, a sales appointment and a contract, and none of them produced revenue.

Ranking channels on sold jobs therefore rewards whichever source produces the most contracts, not the most roofs, and the two lists are different.

Exporting the sold-and-never-built jobs alongside the collected ones makes the difference visible per source, which is the number worth acting on.

It is also usually a process finding rather than a channel one: a source whose jobs die at one particular stage is pointing at that stage.

Insurance and retail work are two businesses sharing a pipeline

On an insurance job the price is set by an adjuster, the timeline is set by a carrier, and the contractor's sales process is mostly about documentation.

On a retail job the price is the contractor's, the timeline is the homeowner's, and the sale is a sale.

Blending them produces an average value that describes neither and a conversion rate that moves with the weather rather than with the marketing.

Where the export carries a job type, the report splits on it and each gets its own ranking and its own sensible window.

Most contractors find the sources feeding each barely overlap, which argues for two budgets rather than one.

Canvassing has a payroll cost and belongs in the same comparison

Door-knocking produces a large share of exterior work in storm markets, and the cost of it — wages, commission, vehicles — is entirely knowable.

Because it is a payroll line rather than an advertising invoice, it sits outside the marketing report and is never ranked against paid search.

A canvasser code on the lead puts it into the same comparison on the same collected revenue, against what it genuinely cost.

The finding is often about which crews and which neighbourhoods produced collected work rather than signatures, which changes next season's plan more than a channel ranking would.

Storm weeks are weather, not marketing

A hail event fills the pipeline for a fortnight. Those leads arrived because of the sky, and crediting them to whatever campaign happened to be running produces a conclusion that will not repeat.

Reading those weeks separately — by job type, by an insurance flag, or simply by the date range — keeps the rest of the year honest.

The point is not to discard the revenue, which is real, but to stop it being used as evidence that something works.

A contractor who does this consistently ends up with a defensible picture of the baseline, which is the thing that decides whether to spend in a quiet season.

It also stops the reverse error, which is cutting a channel that looked poor during a month when every crew was busy with storm work and nobody answered the phone. That is a capacity problem wearing a marketing problem's clothes.

Fair questions

“JobNimbus already does that.” Not quite.

They say

“JobNimbus already reports on the pipeline.”

We say

It does, thoroughly. It has no record of the canvasser, advert or storm list that produced the contact.

They say

“We measure sold jobs.”

We say

Sold is a stage, and a percentage of sold jobs never get built. The channels differ on that percentage.

They say

“Most of our work is insurance.”

We say

Then split it out and the retail ranking becomes readable for the first time.

Questions

JobNimbus, specifically.

Something else? Ask us and a person answers.

No. It reads an exported file, so your boards, documents and photographs stay where they are.

JobNimbus 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

Two exports, and you will know.

Nothing to install in JobNimbus, no API key, and no need to have been tracking anything until now. Last year works as well as this month.