Nobody will tell you what a good match rate is, so here it is
Every attribution vendor quotes a match rate and none of them define it the same way. Here is what the number actually measures, what range is honest for a mid-market business, and the three ways the figure gets inflated before it reaches your slide.
Ask three attribution vendors what their match rate is and you will get three numbers in the nineties. Ask them how they calculate it and the room goes quiet. This is not usually fraud. It is that match rate is an unregulated word, everybody defines it in the way that flatters them most, and nobody in the buying process has ever been given a reason to ask the second question.
Match rate is the most quoted number in attribution and the least defined. Until somebody tells you the denominator, it is marketing copy with a percent sign on it.
So let us define it, benchmark it honestly, and then go through the three ways it gets inflated — because you will see all three, and two of them are legal.
What a match rate actually measures
A match rate is the share of your closed revenue that could be traced back to a specific marketing source record. It measures the completeness of your data and the strictness of your matching. It does not measure whether the attribution is correct, and it says nothing at all about whether the marketing worked.
That last clause is worth sitting with. A match rate of 78% means that for 78% of your revenue, somebody can point at a row in a lead file and say: this sale came from this enquiry. It does not mean the enquiry caused the sale. It does not mean the channel on that enquiry deserves the credit. It means the join succeeded.
Conflating those is how marketing teams end up defending a number they do not understand in a meeting where the finance director does understand it. The join succeeding is a precondition for the argument, not the argument.
The honest benchmark
For a mid-market business with a complete sales export and a reasonably complete lead export, 55% to 80% of revenue matched is normal. Businesses with a single dominant intake channel land higher. Businesses with walk-ins, referrals, or a long tail of small systems land lower, and are not doing anything wrong.
| Band | Usual meaning | What to do |
|---|---|---|
| Under 40% | A whole intake system is missing from the export, or the date ranges do not overlap properly | Stop tuning the matcher. List every system that touches a lead and find the one nobody mentioned |
| 40% to 55% | Coverage is real but partial. Usually identifier hygiene: inconsistent phone formats, work versus personal email | Normalise both sides before changing anything else |
| 55% to 80% | Healthy for most businesses. The remainder is genuine word of mouth, repeat custom, and sources older than your data | Report the unmatched bucket honestly and move on to the decisions |
| 80% to 90% | Achievable with disciplined intake capture and a narrow channel mix | Verify a sample by hand. This band is real but it is also where inflation starts to hide |
| Over 90% | Almost always the matching is too loose, or unmatched revenue is being redistributed | Ask for the unmatched rows. If there are almost none, ask what happened to them |
Notice that the advice in the top band and the bottom band is the same in spirit: go and look at the rows. The percentage is a summary of something, and the only way to know what it is a summary of is to open it.
The three ways the number gets inflated
Match rates are inflated by counting rows instead of revenue, by loosening the matching rules until the number improves, and by quietly reassigning unmatched sales to a channel. The first is an accident, the second is a choice, and the third is a decision somebody made on your behalf.
One: counting rows, not money
The cheapest way to raise a match rate is to weight every sale equally. Small transactions are easier to match, because they tend to come from the high-volume, well-instrumented channels. Large transactions are harder, because they tend to involve a longer cycle, more people, and a source record captured eighteen months ago by somebody who has left.
So the row-based rate flatters you exactly where it matters least. A business matching 88% of its transactions and 61% of its revenue is not unusual, and the gap between those two numbers is the whole story.
| Segment | Sales | Revenue | Matched sales | Matched revenue |
|---|---|---|---|---|
| Under 5,000 | 1,840 | 3,100,000 | 1,690 (92%) | 2,830,000 (91%) |
| 5,000 to 50,000 | 310 | 4,900,000 | 244 (79%) | 3,720,000 (76%) |
| Over 50,000 | 42 | 6,200,000 | 19 (45%) | 2,480,000 (40%) |
| Total | 2,192 | 14,200,000 | 1,953 (89%) | 9,030,000 (64%) |
Eighty-nine percent goes on the slide. Sixty-four percent is the truth. Both are arithmetically correct, which is what makes this the most durable of the three.
Two: loosening until it looks better
Every matcher has thresholds. How close do two names have to be. Does a surname plus a postcode count. Is a shared company domain enough to link a person. These are legitimate engineering decisions, and every one of them can be tuned in the direction of a nicer number.
The tell is whether the thresholds are visible to you and whether changing them is your decision. If a vendor cannot tell you what rule matched a specific row, the rule is not something they want discussed.
Any matching rule you cannot see is a rule that was tuned in somebody else's interest. Not necessarily against you. Just not by you.
Three: redistribution
The third is the one that should end a sales process. Unmatched revenue gets spread across the channels that did match, in proportion to what they already have. The match rate goes to 100% because nothing is left over. Every channel is overstated by the same factor, so the chart still looks plausible, and nothing on the screen tells the reader it happened.
CloseRev will not do this, and the refusal is the product rather than a feature of it. Unmatched revenue goes to a Direct / Unknown bucket, the bucket is always visible, and the specific sales inside it can be opened and read.
How to compute a figure you can defend
Compute match rate as matched revenue divided by total closed revenue, in currency, over one date range, with the unmatched rows retained and inspectable. Anything else is a different metric wearing the same name.
- Fix the window first. Sales closed between two dates, by close date, not by the date the lead arrived.
- Take total closed revenue in that window from the system finance uses. If marketing and finance disagree on the denominator, stop and fix that before doing any attribution at all.
- Count matched revenue only where a specific source record was joined to a specific sale.
- Keep the unmatched rows. Export them. They are the audit trail.
- Report the rate alongside the count of sales it covers, because a rate without a denominator is a rumour.
What to do when the rate is genuinely low
A low match rate is a coverage problem far more often than a matching problem. Work the causes in order of return: missing systems first, identifier hygiene second, date range third, and only then the matching rules themselves.
The instinct is always to blame the matcher, because the matcher is the new thing in the room. In practice the matcher is rarely the constraint. The constraint is that the booking system nobody thinks of as marketing has been producing eleven percent of revenue for four years and has never once been exported.
- Missing systems. Write down every route by which a stranger can become a customer. Phone, form, chat, walk-in, partner referral, marketplace, the shared inbox quotes go out from. Export all of them.
- Identifier hygiene. Phones stored with and without country codes, with extensions, with spaces. Emails captured personally on one side and corporately on the other. This is usually worth more than any tuning.
- Date range. Leads must be exported further back than the oldest sale you are reporting on. A ninety-day lead export cannot explain a sale with a fourteen-month cycle.
- Entity mismatch. The sale is recorded against a company, the lead against a person. Neither file is wrong; they are answering different questions.
Why the number moves when nothing changed
Match rates drift between reporting periods for reasons that have nothing to do with marketing: the mix of deal sizes changed, a system was reconnected, a date range shifted, or somebody cleaned up the CRM. Treat an unexplained movement as a data question until proven otherwise.
This catches people out badly, because a match rate that falls looks like a performance problem and gets escalated like one. A quarter with two unusually large enterprise deals will have a lower revenue-weighted match rate than the quarter before it, even if every process was identical, simply because big deals are harder to trace. Nothing went wrong. The mix changed.
The defence is boring and effective: report the rate with its inputs beside it. Total revenue, matched revenue, number of sales, number of source records, and the date window for each side. Five numbers instead of one, and every argument about the sixth becomes answerable in a minute rather than a week.
What a match rate cannot tell you
A match rate cannot tell you whether a channel is profitable, whether a touch was causal, or whether the source recorded on a lead is the source that actually persuaded the customer. It is a completeness measure. Every question about effectiveness sits downstream of it.
The most common error is treating a high match rate as evidence that the attribution is right. It is evidence that the join worked. If your intake form records the last thing the customer clicked, then a 90% match rate gets you a very well-evidenced picture of last-click behaviour, which is a model with known and severe limitations. Precision about the wrong thing is still precision about the wrong thing.
So use the match rate for what it is good for. It tells you how much of your revenue you can say anything about at all. That is genuinely valuable, and it is a smaller claim than the one usually made for it.
Getting finance to accept the number
Finance will accept an attribution figure when it reconciles to the ledger, when the unmatched portion is stated rather than absorbed, and when a specific sale can be traced end to end on request. Those three properties matter more to them than the size of the percentage.
Marketing teams often go into that conversation trying to make the number look good. It is the wrong instinct. A finance function is not impressed by a high match rate; it is reassured by a reconcilable one. The fastest route to a budget conversation you can win is to walk in with a figure that ties to their revenue total to the penny, an explicit unmatched line, and a sample of ten sales anybody can follow from enquiry to invoice.
- Tie the denominator to the ledger. If your total closed revenue differs from theirs, that difference will consume the meeting no matter what else is on the slide.
- Show the unmatched line as a line, not as a footnote. It is the item that proves nothing was fabricated to fill the gap.
- Bring the audit trail unprompted. Ten traced sales is enough. Being able to produce them is the point, more than the ten themselves.
- State the method in one sentence and stick to it all year. A method that changes between quarters cannot be trended, and an untrendable number is not a management number.
Do this twice and the argument stops being about whether the data is real. That is the whole objective. Attribution is not useful because it produces a percentage; it is useful because it moves the conversation from whether the marketing worked to what to do next.
The question that ends most vendor demos
Ask to see the unmatched revenue as a list of specific sales, with amounts, during the demo, on your own data. A tool that can do this is showing you its working. A tool that cannot is asking for trust it has not earned.
It is a fair question, it takes thirty seconds to answer if the answer exists, and the response tells you almost everything. Vendors who have built for auditability will show you immediately and will often volunteer the awkward rows themselves. Vendors who have built for the demo will explain why the question is more complicated than it sounds.
It is not more complicated than it sounds.
A match rate you cannot open is a claim. A match rate you can open is a measurement. The percentage is identical; only one of them survives contact with your finance director.
Questions people actually ask
- What is a good match rate for revenue attribution?
- For a mid-market business exporting a complete sales file and a reasonably complete lead file, 55% to 80% of closed revenue matched to a source is a normal and honest range. Below 40% usually means a whole system was left out of the export. Above 90% usually means the matching is looser than it should be.
- Is a higher match rate always better?
- No, and this is the single most expensive misunderstanding in the category. Match rate measures coverage, not correctness. A rate pushed up by fuzzy name matching or by assigning unmatched sales to the largest channel is worse than a lower rate that is right, because the errors are invisible and they compound.
- How is match rate calculated?
- There is no standard. The honest calculation is matched revenue divided by total closed revenue, in currency, over the same date range. Vendors more often quote matched rows divided by total rows, which weights a 200 dollar sale the same as a 200,000 dollar one and almost always produces a friendlier number.
- Why is my match rate so low?
- In order of frequency: a lead source system was not exported, phone numbers are stored in inconsistent formats on the two sides, the lead export starts later than the oldest sale in the sales export, or the sale is recorded against a company while the lead was captured against a person.
- Should I trust a vendor that will not show me the unmatched rows?
- No. The unmatched set is the evidence that the matched set was earned. A tool that reports a percentage but cannot produce the specific sales behind it is asking to be believed rather than checked.
- Does a low match rate mean the attribution tool is bad?
- Usually not. Match rate is mostly a property of your data rather than of the tool reading it. The exception is a tool that reports a low rate and cannot tell you which sales are unmatched or why, because then you have no route to improving it.