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 Workiz

Every job is in Workiz. Which advert produced it is not.

Export your jobs, upload the calls and leads beside them, and rank channels on what was charged rather than on what was booked.

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

CloseRev reads a Workiz export of completed jobs — the client's phone or email, the amount charged and the date — and matches it against the calls and leads that produced them. It is built for the trades Workiz serves, where jobs are booked on the phone in minutes and the same customer never appears twice, so a channel's booking count says very little about its worth. Jobs with no matching lead are reported as Direct / Unknown.

Last checked against Workiz's own documentation on September 24, 2026.

The gap

You spend on three or four channels and the phone rings from all of them. Which one pays for itself is a matter of opinion in your business, and it should not be.

Workiz 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

    Client phone or email

    On the client the job is attached to. The phone is the realistic key here: these jobs are booked by phone and a large share of clients never give an email at all.

  2. Needed

    Job total charged

    What the job actually took, after whatever was added on site. In these trades the difference between the quote and the total is routine and is often most of the margin.

  3. Needed

    Job or payment date

    When the work happened or was paid for. These jobs close fast, so the two are usually days apart.

  4. Optional

    Job type or source field

    If your team already sets a source on the job, include it — the report will compare it against what the match found, which is an education.

Step by step

Getting the file out of Workiz.

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

  1. Export jobs with what they charged

    One row per job with a client contact detail, the amount and a date. The export listing jobs with totals is the one; its name differs by account.

  2. Include the whole period, not the campaign window

    These jobs close quickly, so a tight window works better here than in most trades — but emergency work still arrives days after somebody first searched.

  3. Export your calls and leads

    Call tracking is the main one. Marketplace leads, website forms and anything else that produced a phone call belong in the same file.

  4. Upload both

    The join runs on the phone number, normalised on both sides. Exact matches count automatically and weaker ones are put in front of a person.

  5. Compare against what your team recorded

    If the office has been setting a source on jobs, put the two side by side. The gap between what people remember and what the numbers say is usually large and always instructive.

What comes back

The page Workiz 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 Garage Doors page — not from a Workiz account.

Traced to a channel$274,50061% of $450,000
Sales matched309 of 505high confidence only
Average sale$890per paid sale
ChannelShareSalesRevenue
Google Ads171$153,000
Local service ads109$94,500
Meta Ads29$27,000
Direct / Unknown196$175,500

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.

One-time customers make volume metrics misleading

A locksmith, a junk removal outfit or a garage door repairer mostly sees a customer once. There is no maintenance agreement, no second visit, no lifetime value to spread over — the job is the whole relationship.

That makes the revenue of the individual job the only thing that matters, and it makes booking counts actively misleading. A channel producing thirty small lockouts and a channel producing eight door replacements look very different on a dashboard and very similar on the bank statement, or the other way round.

Ranking on what was charged, per channel, is the only comparison that means anything in these trades, and it is the one nobody has because the money and the leads are in different systems.

Emergency work is bid on by everybody and converted by whoever answers

Urgent work has the shortest consideration window in this catalogue. Somebody locked out of their car is not researching, they are calling the first three numbers and going with whoever picks up and can come now.

Two things follow. The cost per click is high because everyone is bidding on the same intent, and the conversion depends on operations as much as on marketing — a missed call is a lost job, whatever the campaign did.

Matching invoiced jobs back to channels exposes both. A channel that produces calls you do not answer shows up as expensive, and it should, because for your business it is.

The ticket differs more than the volume does

Across these trades, the spread between the smallest and largest job is very wide and the distribution has a long tail. A handful of jobs carry a disproportionate share of the month.

Any metric that treats jobs as interchangeable — cost per lead, cost per booking, conversion rate — is blind to exactly the jobs that paid for the month. Ranking channels on money is not a refinement here, it is the difference between a useful answer and a wrong one.

What the office writes down and what the numbers say

Most teams already ask callers how they heard about the business, and most already have a source field somebody fills in. It is worth keeping and it is not worth trusting on its own.

The known failure is not carelessness. Callers genuinely do not remember, they say the internet when they mean a search advert, and staff under pressure pick whichever option is first in the list. The error is systematic rather than random, so it does not average out.

Putting the recorded source beside the matched source shows the size and direction of that error, which is usually the first thing a business learns from doing this at all.

Fair questions

“Workiz already does that.” Not quite.

They say

“We already set a lead source on every job.”

We say

Then you have something to check this against, which is better than most. Where the two disagree, the click and the invoice are the harder evidence.

They say

“Our jobs close the same day — is the match still useful?”

We say

More useful, not less. A short window means fewer confounders, and the money still sits in a different system from the lead.

They say

“We are too small for this.”

We say

The smaller the business, the more one wrong channel costs as a share of the budget. Two exports is the whole exercise.

Questions

Workiz, specifically.

Something else? Ask us and a person answers.

No. It reads a file you exported; no credential to your account is held and nothing is written back.

Workiz 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 Workiz, no API key, and no need to have been tracking anything until now. Last year works as well as this month.