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 GorillaDesk

The first treatment was ninety dollars. The account bills for six years.

Export invoices from GorillaDesk, upload the leads that produced them, and rank marketing on the account rather than on the first job.

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

CloseRev reads a GorillaDesk export of invoices — the customer's phone or email, the amount and the date — and matches it against the calls, forms and ads that produced the first job. Pest control and lawn care sell recurring plans, so the value of a channel is the account it produced rather than the initial service call. Invoices with no traceable lead are reported as Direct / Unknown.

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

The gap

Cost per lead looks fine and cancellation rates look fine, and nobody has ever put the two together per channel.

GorillaDesk 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 customer record rather than the invoice. Phone carries most of the match in this trade.

  2. Needed

    Invoice total

    What was billed, including the initial service and every recurring visit after it.

  3. Needed

    Invoice date

    When the work was billed. Recurring plans produce many dates from one decision.

  4. Optional

    Service plan and property

    Quarterly general pest, termite, mosquito, lawn — and whether the property is residential or commercial. Both split a channel's accounts into the profitable and the marginal.

Step by step

Getting the file out of GorillaDesk.

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

  1. Export invoices with the customer

    One row per invoice with a customer contact detail, the total and a date. Include recurring visits rather than first jobs alone.

  2. Take a year at minimum

    A quarterly plan produces four invoices a year. Anything shorter measures the initial service and nothing else.

  3. Export your lead sources

    Call tracking first — this trade still runs on the phone — plus search ads, the website form and any neighbourhood or marketplace listing.

  4. Sum by customer, and by property where you can

    An account is the unit. A customer with two properties is two accounts and usually two different economics.

  5. Upload both

    The join runs on the phone and the email, normalised, with the first service and recurring revenue reported apart.

What comes back

The page GorillaDesk 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 Pest Control page — not from a GorillaDesk account.

Traced to a channel$261,00058% of $450,000
Sales matched336 of 567high confidence only
Average sale$790per paid sale
ChannelShareSalesRevenue
Google Ads214$171,000
Meta Ads68$49,500
Email marketing54$40,500
Direct / Unknown231$189,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 account and the ad share a row.

Retention is the product and it varies enormously by channel

A pest control account that stays four years is worth roughly sixteen quarterly services. One that cancels after the initial treatment is worth one.

Both look identical in a cost-per-lead report, and they arrive from different channels in systematically different proportions: discount-led channels bring customers who wanted a one-off treatment and were sold a plan.

Matching a year or more of invoices back to the source turns that into a number you can act on. It is normal for the ranking to invert completely once recurring revenue is included.

The practical consequence is usually a budget shift rather than a channel being cut: the same channel at a different offer produces a quite different customer.

Termite and mosquito are different businesses sharing one file

General pest is a low-ticket recurring plan. Termite work is a large one-off with a warranty attached. Mosquito is seasonal and highly weather-dependent.

Blended, they produce an average revenue per customer that describes none of them, and a channel heavy in one will be ranked as though it produced the others.

Where the export carries a service plan, the report splits on it, and the split is usually where the decision is. A channel that is expensive for general pest can be the cheapest source of termite work you have.

Seasonality needs the same care: comparing a mosquito channel's summer against a general pest channel's whole year is a comparison of calendars, not of marketing.

The phone is still where this trade converts

Homeowners with a pest problem call. They call from a map result, from a yard sign, from a search advert and from a neighbour's recommendation, and most of those calls never touch a form.

Without call tracking the lead file is mostly empty and the Direct / Unknown bucket swallows the answer. That is not a flaw in the match; it is a missing input.

Call tracking numbers on the website, on vehicles and on any paid listing produce a lead file with a source on every row, which is what makes the rest of this work.

Where calls are not tracked, the report says so plainly rather than distributing those jobs across the channels that happen to have data.

Cancellations belong in the same report as acquisitions

A channel's value is what its accounts billed, which means a cancellation is not a separate operational concern — it is the end of that channel's revenue.

Because the report reads invoices over a long window, a cohort that stopped producing invoices shows up as exactly that, without anybody having to run a churn report and join it by hand.

It also exposes the case that looks like success and is not: a channel with excellent first-year revenue and nothing in year two, which a twelve-month view would have rated highly.

Nothing here predicts churn. It reports what the accounts from each source actually billed, which is the only version of this number that is defensible.

Fair questions

“GorillaDesk already does that.” Not quite.

They say

“GorillaDesk already reports revenue by customer.”

We say

It does, and it has no idea which advert produced the customer, because it never saw one.

They say

“Most of our work comes from referrals.”

We say

Then the report will show that honestly, and you will know what the paid channels are actually adding.

They say

“We do not use call tracking.”

We say

Then most of this trade's leads have no source, and the first fix is numbers on the website and the trucks, not a different report.

Questions

GorillaDesk, specifically.

Something else? Ask us and a person answers.

No. It reads a file you exported, so your schedule, routes and customer records are not reachable from here.

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