“AutoLeap already reports on our marketing.”
On what it sends and what it can see. The customers your reminders brought back are not evidence that the ads worked.
For AutoLeap
Export invoices from AutoLeap, upload the leads behind them, and separate the customers marketing won from the ones your reminders brought back.
No API key Nothing to install in AutoLeapNothing to install No card requiredNo card
CloseRev reads an AutoLeap export of invoices — the customer's phone or email, the amount and the date — and matches it against the calls, ads and listings that produced the first visit. A shop system that also sends reminders and follow-ups is constantly bringing back existing customers, and none of that is acquisition, so the first job of the report is to find the visit that actually won each customer. Revenue with no traceable lead is reported as Direct / Unknown.
Last checked against AutoLeap's own documentation on September 25, 2026.
The gap
The bays are full and the marketing report takes credit for all of it, including the customers who came back because of a text you sent.
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. Where invoices are sent and paid by text, the phone on file is unusually reliable.
Closed repair orders, parts and labour together.
Both. The created date is how a first visit is told apart from a return, once it is known to be trustworthy.
Customers with several vehicles are worth more and behave differently.
Step by step
Written for somebody with AutoLeap open in the next tab. Report names vary by edition, so each step says what to look for.
One row per invoice with a customer contact detail, the total and the date.
If the shop moved to AutoLeap from another system, every imported customer carries the migration date as their created date and looks new.
Tracked numbers, search ads, map listings, coupons and any fleet or warranty programme.
Long enough to tell a first visit from a return, and for a new customer's second visit to happen.
The join runs on the phone and the email, normalised, with first visits and returns 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 Auto Repair Shops page — not from a AutoLeap account.
| Channel | Share | Sales | Revenue |
|---|---|---|---|
| Google Ads | 203 | $101,500 | |
| Local service ads | 142 | $77,000 | |
| Meta Ads | 61 | $24,500 | |
| Direct / Unknown | 289 | $147,000 |
Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.
The argument
A shop system that sends service reminders, follow-ups and declined-work nudges is doing valuable work. Almost all of it is aimed at customers the shop already has.
Counted in a marketing report, every car those messages bring back looks like marketing working, and the shop's acquisition spend gets credit for its retention.
The honest split is simple: a customer's first visit is acquisition; everything after it is retention, whatever message prompted it.
Reported apart, both numbers become useful. The acquisition figure tells you what the advertising bought, and the retention figure tells you what the reminders are worth.
Neither is inflated by the other, which is what makes either of them worth reading.
A shop that moved to AutoLeap from another system usually imported its customer list, and every imported record carries the date of the move as its created date.
Read naively, the month of the migration shows hundreds of new customers and every marketing channel that was running looks extraordinary.
The fix is to find each customer's genuine first invoice rather than trusting the created date, which a year of invoice history makes possible.
Where the history does not go back far enough, the report says so and treats customers first seen in that period as of unknown origin rather than as new.
This one correction changes more shop reports than any other on this page.
A channel can bring more cars at a lower ticket, or fewer cars at a higher one, and both show up as the same monthly total.
Which matters depends on the shop: a shop with empty bays wants cars; a shop at capacity wants bigger tickets on the cars it can fit.
Reporting new customers and first-visit revenue per customer separately, by channel, lets the shop choose which channel suits where it is.
It also exposes the channel that fills the lot with inspections and oil changes the bays had no room for.
Where invoices are delivered and paid by text message, the phone number on the customer record has been used and confirmed at least once.
That makes the match against a lead file unusually reliable compared with systems where a number is typed in at the counter and never checked.
Normalisation still runs on both sides, and anything that does not join is reported rather than dropped.
The practical effect is that less revenue ends up in Direct / Unknown for want of a usable key, which makes the channel ranking more complete.
Fair questions
On what it sends and what it can see. The customers your reminders brought back are not evidence that the ads worked.
Then the created dates are the migration date, and the report has to find each customer's real first visit before it can call anyone new.
Then the acquisition figure will be small and honest, and the retention figure will show what that loyalty is worth.
No. It reads a file you exported, so your repair orders, inspections and messages stay where they are.
Closed repair orders with a customer contact detail, the total and the date.
Because reminders bring back customers you already had, and counting those as acquisition credits the ads with the retention work.
Imported customers carry the migration date. The report looks for each customer's real first invoice instead of trusting that date.
A year, so a first visit can be told from a return and a new customer's second visit has time to happen.
Yes. The report shows new customers and first-visit revenue per customer separately, so you can choose what suits your capacity.
Read separately from retail where the export marks them, so one account does not decide a channel's ranking.
Yes, where they carry a code or a distinct number, ranked on the same revenue as everything else.
Summed by customer, with the vehicle count kept as context.
Any first visit with no traceable lead, usually untracked calls and passing trade.
A contact detail, an amount and a date, plus a vehicle count if you include one. No VINs required, no inspection photos, no payment details. Encrypted in transit and at rest and deleted with the import.
New customers and first-visit revenue by source, retention reported apart, migrated records handled honestly, 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.
AutoLeap 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 AutoLeap, no API key, and no need to have been tracking anything until now. Last year works as well as this month.