Repair revenue, not form fills
Rank channels by the repair revenue they produced, so one major collision job outweighs a page of estimate requests.
Marketing attribution for collision repair shops
Match completed jobs and their revenue to the calls, referrals and campaigns that produced them.
$340,000 68% of $500,000 paid
The blind spot
Collision work arrives through insurers, tow operators and search, and only one of those three is ever measured.
What you get
Rank channels by the repair revenue they produced, so one major collision job outweighs a page of estimate requests.
Someone who asked for an estimate in March and brought the car in during June still credits March's campaign.
Only exact matches count automatically; anything weaker is flagged for review rather than assumed.
A worked example
Not impressions, not leads, not cost per click. Closed revenue, by the channel that produced it, for a period you choose — with the portion we could not trace shown rather than quietly shared out across your paid channels.
| Channel | Sales | Revenue | Share | % |
|---|---|---|---|---|
| Google Ads | 86 | $120,000 | 24% | |
| Insurer DRP | 124 | $155,000 | 31% | |
| Referral partners | 49 | $65,000 | 13% | |
| Direct / Unknown | 118 | $160,000 | 32% |
Direct repair programs bring volume at a negotiated rate. Search brings fewer jobs at full retail. Shops rarely put the two on the same page, so the trade-off between volume and margin is argued rather than measured.
Added to the lead file, each job tagged with the referring insurer, the DRP list ranks alongside advertising on the same revenue axis — and, if you export margin instead of revenue as the amount, on profit rather than sales.
Referral partners send a substantial share of jobs, and the relationship is usually maintained on instinct rather than evidence about which partners actually produce.
A partner's referred jobs can go into the lead file, tagged with the partner. Ranked on completed job revenue, they show which relationships are worth the effort and which have quietly stopped producing.
Nothing in a body shop is worth what the first estimate said. The vehicle comes apart, hidden damage appears, the supplement goes back to the adjuster, and the final invoice lands somewhere else entirely — often a long way above the figure written in the parking lot on day one. If the file you export is estimates, every channel is being ranked on money the business never collected. Export closed, invoiced jobs at the final agreed amount, and the ranking is built on what actually arrived in the bank.
That is more than a tidiness point, because the gap between estimate and final is not spread evenly. Newer vehicles with calibration requirements, aluminium panels and structural work supplement quite differently from a bumper cover and a blend. A source of work that brings heavier damage looks ordinary on estimate value and substantial on final invoice, and a shop deciding where to advertise on the strength of the first number is deciding on the wrong one entirely. The correction costs nothing; it is a different column in the same export.
The date deserves a decision as well. A job opened in one month and invoiced six weeks later can be booked on either, and period comparisons only mean something when the convention is identical in every import. Most shops use the invoice or closed date, because that is when the work is recognized and it keeps the report agreeing with the accounts. That matters more here than in most trades, since the two dates routinely fall in different months and a shop with long cycle times feels it in every comparison.
Parts on back order, a rental authorization that takes three days, a calibration that has to go out to somebody else, a total-loss decision that sits for a week. The interval between the tow-in and the invoice is measured in weeks and it is not stable from job to job. Any measurement that closes its books on a monthly window captures the vehicles that moved quickly and loses the ones that did not, which under-counts precisely the heavy jobs a shop wants more of.
Because there is no window here, the length of that interval is irrelevant. The vehicle that arrived in February and was collected in April matches the February inquiry, and the April revenue lands against whatever produced it. For a shop trying to decide whether a search campaign earns its keep, that one behavior routinely separates a channel that looked break-even from one that was profitable and being measured against the wrong month. It also removes the temptation to judge a campaign before its work has finished.
Total losses need handling of their own. A vehicle towed in, assessed and written off produces teardown and storage revenue rather than a repair, and it occupies the shop either way. Leaving those jobs out understates what a towing relationship or an emergency search campaign genuinely produces; putting them in flatters the average job value. A job-type column mapped as Product / service shows them as their own line, while the channel ranking counts them with everything else, which is the closest the report comes to answering both versions of the question.
Two things come as a surprise almost every time. The unattributed share is large — often close to half — because vehicles arrive on the back of a truck at three in the morning, because an adjuster steered them, or because the owner's father-in-law has used the shop for twenty years. None of that is advertising, and the report says so rather than quietly dividing it among whichever campaigns were live. That honesty is exactly why the rest of the numbers are worth arguing about.
The second surprise can be how far apart the sources sit on average job value. One relationship may produce a steady flow of small, fast, low-margin work while another produces far fewer jobs worth several times as much. Both look like a job on a monthly summary. On invoiced revenue they are not comparable at all, and the capacity question — which work to take when the shop is already full — becomes a different conversation entirely.
What changes after the first report is usually not the advertising. It is the referral effort. Once tow operators, dealers and insurers sit on one axis with search and social, the relationships that have quietly stopped producing become visible, and so do the ones nobody has maintained since the last manager left. That is a week of phone calls rather than a budget change, and in this trade it is frequently worth more than anything you could do to a campaign.
Why it matters
"We generated 400 leads" invites an argument. "This channel closed $186,400 last quarter, here is the reconciliation" ends one. The teams that can show closed revenue by channel are the teams that get the next increase approved, because they are asking with evidence rather than with conviction.
Killing spend is politically harder than adding it, because someone always owns the channel being cut. A number that reconciles to the sales export takes the argument out of the room — you are not overruling a colleague's judgment, you are reading the same ledger they are.
Platform-reported conversions do not reconcile to revenue, and eventually someone in finance notices. Reporting built from your own closed-sales export starts from the number finance already trusts, which is why it holds up when it is checked.
Because this reconciles exports rather than tracking visitors, it works on months that have already closed. You are not instrumenting now to learn something in ninety days — you can answer for last quarter today, which is usually when the question is being asked.
Honest answers
Then upload that list — the point is to rank it against everything else on the same axis, not to pretend advertising is bigger than it is.
Which is why revenue rather than job count is the ranking. Export the total and the comparison is meaningful.
A CSV export of completed jobs is all that is required.
Pricing
The price here is the price on the invoice, plus any sales tax that applies — no per-call, per-minute or per-form fees. Starter usually fits body shops and collision centers — one workspace, one seat, and everything that makes the number defensible from the first plan.
A single business getting started
$9/mo
billed monthly
Questions
Anything else? Talk to us — a person answers, usually the same day.
Completed jobs: a customer email or phone, the total, and a date.
Yes — add the DRP or assignment jobs to the lead file, tagged with the insurer as their source.
Yes, if the partner is named in the lead file.
Yes, by exporting gross instead of revenue as each row's amount, and keeping to it: the report adds up every row in the workspace, so gross and revenue should not be mixed. It ranks on whatever amount it is given; it does not hold cost beside revenue.
No. Where you already have them, a tracked caller's number is a clean key and raises the match rate, but nothing requires tracking numbers — an export of the estimate requests your ad platforms recorded is enough to start.
Yes — customer records are encrypted both in transit and at rest, kept inside your own workspace, and removable on request. A DPA is available.
Yes. Those repairs were recorded because you billed for them rather than because anybody was tracking, so a finished year matches exactly as well as the current one.
Job rows analyzed in a calendar month. Call rows do not count.
Final invoice, at the agreed amount after supplements. Heavier jobs supplement most, so ranking channels on estimates systematically under-values whichever source brings you the serious structural damage.
The closed or invoiced date, and the same convention in every import. Jobs routinely open in one month and invoice in the next, so mixing the two conventions makes period comparison meaningless.
Include them with a job-type column mapped as Product / service. They produce teardown and storage revenue rather than a repair, and leaving them out understates what towing relationships and emergency search actually bring through the door.
Yes, and it is often the most useful figure in a first report. Sources that look equal on job count can differ several times over once invoiced value is what they are ranked on.
Whichever contact detail your inquiry records hold, which is usually the person who rang. A job where neither matches stays unattributed rather than being handed to the campaign nearest in time.
Wider than the revenue file by at least a couple of months. Cycle time here means a job invoiced in one period was very often inquired about in the period before it.
Nearby
Match closed repair orders and their revenue to the calls and campaigns that produced them.
See how it worksMatch closed tickets and their revenue to the calls and campaigns behind them, including the service work that follows.
See how it worksMatch bound policies and the commission they earned to the inquiries and campaigns that produced them, across renewal cycles measured in years.
See how it worksWhere your sales already are
Export repair orders from Shopmonkey, upload the leads behind them, and rank marketing on the customer rather than the ticket.
What to exportExport repair orders from Tekmetric, upload the leads behind them, and rank channels on approved work rather than on cars through the door.
What to exportExport invoices from AutoLeap, upload the leads behind them, and separate the customers marketing won from the ones your reminders brought back.
What to exportExport repair orders from Shop-Ware, upload the leads behind them, and rank channels on gross profit — shop by shop.
What to exportFrom the blog
A dealer group's marketing reports add up to more vehicles than the group sold. Third-party marketplaces, OEM co-op campaigns and your own paid search all claim the same buyer, and the only file that counts each sale once is the one in your DMS.
Read the articleAdd up what your agencies and platforms claim and you have sold the same thing several times over. Nobody is lying. Here is why double counting is structural, how to run the reconciliation meeting, and what to change in the contracts so it stops recurring.
Read the articleAttribution demos are unusually easy to pass, because the product is a number and any number looks convincing on a slide. These are the questions that separate a system that measures from one that produces confident output — including the ones we would rather you did not ask us.
Read the articleStart today
Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.