“RealGreen already reports customer revenue.”
It does. It has no record of the mail piece, the advert or the referral that produced the customer.
For RealGreen
Export billed applications from RealGreen, upload the leads behind them, and rank channels on the season rather than on the sign-up.
No API key Nothing to install in RealGreenNothing to install No card requiredNo card
CloseRev reads a RealGreen export of billed applications — the customer's phone or email, the amount and the date — and matches it against the calls, mailings and ads that produced the customer. Lawn care sells a programme rather than a visit, so a channel's worth is the season it produced and the seasons that followed. Revenue with no traceable lead is reported as Direct / Unknown.
Last checked against RealGreen's own documentation on September 24, 2026.
The gap
Spring sign-ups are counted carefully and nobody has ever counted what those customers billed by October.
What was sold, to whom, and for how much.
The click, the keyword, the call, and what each one cost.
The file
Three things carry the match: who, how much, and when. Anything else is optional and only changes how the report can be sliced.
On the customer record. Phone is the reliable key in this trade.
Every application and add-on across the season, not the first visit.
When it was billed. A programme produces five to eight dates from one decision.
Core fertilisation, aeration, grub control, mosquito. Add-ons carry margin and vary by customer type.
Step by step
Written for somebody with RealGreen open in the next tab. Report names vary by edition, so each step says what to look for.
One row per application with a customer contact detail, the amount and a date.
One season measures acquisition. Two measures whether the customer renewed, which is where the channels separate.
Direct mail, tracked numbers, search, door hangers, neighbourhood referral codes and any aggregator.
A programme customer produces seven rows. Marketing decisions are made per customer.
The join runs on the phone and the email, normalised, with first season and renewal reported apart.
What comes back
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 Landscaping & Lawn Care page — not from a RealGreen account.
| Channel | Share | Sales | Revenue |
|---|---|---|---|
| Google Ads | 148 | $116,000 | |
| Local service ads | 94 | $72,000 | |
| Meta Ads | 41 | $32,000 | |
| Direct / Unknown | 229 | $180,000 |
Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.
The argument
Lawn care is one of the few trades where postal mail remains a serious acquisition channel, targeted by neighbourhood and timed to the spring.
It produces no clicks and no form fills, so it is absent from digital reporting entirely, and its cost per customer is usually estimated rather than measured.
A distinct tracked number or a code on the mail piece turns it into a lead file like any other, ranked on the same season value against its printing and postage cost.
Companies that run this often find mail outperforms a channel they had been favouring, and occasionally the reverse — the point is that it becomes a comparison rather than an argument.
It also identifies which neighbourhoods produced customers who renewed, which changes next year's mailing list rather than next year's budget.
A lawn customer who renews for four years is worth several times one who cancels in autumn, and the renewal decision is made on whether the lawn improved.
That makes retention partly an agronomy problem rather than a marketing one — but the rate still differs by channel, because channels differ in what they promised.
A source that sold on price brings customers who leave on price. A referral brings somebody who already saw the results next door.
Measuring two seasons rather than one shows that difference as a number, and it is usually large enough to change where the acquisition budget goes.
The report keeps first season and renewal apart so neither is silently credited to the other.
Aeration, grub control, seeding and mosquito are sold to existing customers, carry better margin than the core programme, and are very unevenly taken up.
Which customers buy them tracks with how engaged they are, and engagement tracks with how they arrived.
A file containing only core programme revenue therefore understates the channels that bring interested customers and flatters the ones that bring price-led sign-ups.
Including add-ons is one column and it reorders the ranking often enough to be worth doing every time.
It also puts a number on the value of a renewing customer, which is what justifies paying more at the front end.
Most of a year's sign-ups happen in a short spring window, and a channel's performance in that window decides the year.
Comparing a channel that runs year-round with one that runs for six weeks on total revenue is a comparison of calendars rather than of marketing.
The report groups revenue by when the customer arrived, which makes the spring cohort readable as a cohort and comparable with last year's.
It also produces the lag from lead to first application, which tells you how early the mail has to land to catch the season. A piece arriving two weeks after the neighbours signed up is not a weak channel; it is a late one, and those are different problems with different fixes.
Fair questions
It does. It has no record of the mail piece, the advert or the referral that produced the customer.
A code or a distinct number on the piece is enough, and it makes mail comparable with search on the same season value.
Largely true, and the rate still differs by channel because channels differ in what they promised.
No. It reads an exported file, so your routes, technicians and customer records stay where they are.
Billed applications with a customer contact detail, the amount and the date.
One full season at minimum, two if you want the renewal picture, which is where sources separate.
Yes, with a code or a distinct tracked number on the piece, ranked on the same season value as everything else.
Yes. They carry the margin and their uptake varies by the kind of customer a channel brings.
They are reported separately, so the decision stays yours.
Yes, which is what makes the spring cohort comparable with last year's.
Yes, where the export carries one.
They appear as customers whose billing stopped, which is the honest version of churn by source.
Any revenue with no traceable lead, usually untracked calls and referrals.
A contact detail, an amount and a date, plus a programme or add-on label if you include them. No addresses required, no application records, no card data. Encrypted in transit and at rest and deleted with the import.
Season value per acquired customer by source, first season and renewal apart, add-ons included, and everything unmatched kept visible.
By trade
What the report looks like once the export is in, written for each one.
Other systems
Running more than one system, or comparing? The method is the same and the columns are not.
RealGreen 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
Nothing to install in RealGreen, no API key, and no need to have been tracking anything until now. Last year works as well as this month.