Skip to content

Matching booth scans to CRM records when email is the only usable key

Exhibitor analyticsUpdated 2026-08-188 min read

In short

Matching booth scans to CRM records works best as a small stack of deterministic tiers, starting with exact normalised email, then company domain with surname and first initial, then normalised phone. Report each tier's count and the unmatched remainder separately, and sample sixty matches per tier by hand to measure precision before trusting any of them.

An exhibitor's sales operations analyst wrote to the show team with a single question. Your lead export matched 62 per cent of our contacts. Is that normal?

It is normal, and matching booth scans to CRM records is also the single largest source of error in every exhibitor performance number built on top of it. Nobody publishes it, most reports quietly drop the unmatched rows, and the exhibitor's board sees a pipeline figure computed from three fifths of the file with no indication that the other two fifths exist.

The fix is not a better algorithm. It is a small stack of deterministic tiers, each measured and reported on its own.

Why does email matching alone lose the people you most want?

Exact email matching works beautifully on the population that registered with their corporate address and whose corporate address is what sits in the exhibitor's CRM. That population is smaller than you think and it is not a random sample.

Take one exhibitor's file of 1,450 unique leads. An email address is present on 1,193 of them; the other 257 came from badges where the registration record had no email or the field was blank in the export. Of those 1,193 addresses, 341, or 28.6 per cent, sit on large consumer domains. Those addresses cannot match a corporate CRM contact by email under any circumstance, because the exhibitor's CRM has the person's work address or nothing at all.

Who registers with a personal address? People registering from a phone at eleven at night. People whose employer blocks external registration forms. Contractors and self-employed specifiers. People who have changed jobs since the last edition and no longer have the address they used before. Several of those groups are exactly the buyers an exhibitor wants, so the loss is not evenly distributed across lead quality.

Two smaller effects add to it. Plus-addressing, where somebody registers as [email protected], produces a string that will never match. Role addresses like info@ or sales@ match a company and identify nobody.

Normalise before you match anything

Half the matching failures that get blamed on missing data are actually formatting.

Lowercase everything. Strip leading and trailing whitespace, which survives more exports than it has any right to. Remove plus-addressing suffixes on domains that support them. Decide once whether you strip dots from the local part on providers that ignore them, write the decision down, and apply it identically to both sides of the join.

Company domains need their own treatment: strip the protocol and any www prefix, lowercase, and hold a mapping for the handful of large exhibitors who use several domains for one business. The full normalisation rules for email and for company identity have more to them than this, and J20 and J25 cover them properly.

Normalisation is worth doing first because it is free and because it changes the denominator of everything downstream. Running it on a file typically moves the exact match tier by a percentage point or two, which sounds small until you are the one explaining the difference between 62 and 64 per cent.

Which matching tiers are worth running?

Three tiers, each stricter than the naive alternative, each counted and published on its own line.

Tier one, exact normalised email. Both sides lowercased and cleaned as above. Precision is essentially perfect. This is the tier everybody already runs.

Tier two, company email domain plus exact surname plus first initial. The lead registered as [email protected] and the CRM holds [email protected]; the domains differ so tier one fails, but if the CRM contact's account domain is mapped to northfield-eng.com, and the surname matches exactly, and the first initial matches, that is a defensible link.

Tier three, normalised phone number. Both numbers converted to international format before comparison. This tier recovers a small number and carries a specific failure mode: shared switchboard numbers, where six people at the same company all registered with the main reception line.

Anything beyond those three is probabilistic, which means scoring rather than rules, and that belongs in a different design with a clerical review band. J3 covers exactly where deterministic rules stop being the right tool.

Working the tiers on 1,450 leads

Same exhibitor, same 1,450 unique leads.

Tier one, exact normalised email, returns 906 matches. Against all leads that is 906 divided by 1,450, or 62.5 per cent.

Tier two, run only on the 544 leads tier one could not place, recovers a further 142. Cumulative matched: 1,048. Cumulative match rate: 72.3 per cent. Tier two on its own added 9.8 percentage points.

Tier three, run only on the 402 still unplaced, recovers 38. Cumulative matched: 1,086, or 74.9 per cent.

Unmatched at the end: 364 leads, or 25.1 per cent of the file.

Report all four numbers. Not a single blended match rate, because the tiers have different reliability and a reader who knows the split can decide how much of it to believe. An exhibitor is entitled to say they will accept tiers one and two and discard tier three, and that decision is only possible if you gave them the breakdown.

State the 364 out loud in the report text, in leads and as a share. Every downstream figure, pipeline included, is computed on 1,086 leads, and a reader who is not told that will read the pipeline number as covering all 1,450.

The CEIR Industry Insight Report on improving lead quality and sales conversion, written by Jefferson Davis of Competitive Edge and published by CEIR in 2019, makes the point that the value of a lead diminishes quickly after the exhibition when nobody follows it up. An unmatched lead is a lead nobody works, which makes the 364 a commercial figure as much as a data quality one. The pipeline join that sits on top of this match is E14's.

Measure precision with a sample, do not assume it

Match rate is recall. It says nothing about whether the matches are right, and tiers two and three will produce wrong matches at a rate you can only discover by looking.

Pull a random sample from each tier and have somebody check them by hand against the CRM record. Sixty from each tier is enough to distinguish a tier running at 95 per cent precision from one running at 70.

On this file, sixty sampled tier one matches came back with sixty correct. Sixty sampled tier two matches came back with fifty-six correct, which puts tier two at roughly 93 per cent precision, so of the 142 tier two matches somewhere around nine are wrong. All 38 tier three matches were checked, because there were few enough to check exhaustively, and 27 were correct. Tier three is running near 71 per cent precision, which is the switchboard problem showing up exactly where you would expect it.

At 71 per cent I would drop tier three from the default and offer it as an optional extra column flagged as low confidence. Recovering 38 leads and introducing 11 wrong ones into a pipeline calculation is a bad trade, and the wrong ones are invisible once they are in.

Do the sampling once per show, not once per exhibitor. Precision is a property of the matching rules and the shape of your registration data, so it barely moves between stands.

The constraint that shapes the whole design

There is a reason this post describes tiers you hand to an exhibitor and not a matching service you run over their contact database.

Article 5(1)(b) of the UK General Data Protection Regulation, the retained form of Regulation (EU) 2016/679, requires personal data to be collected for specified, explicit and legitimate purposes and not further processed in a manner incompatible with those purposes. Article 13(1) requires that people are told, at the time their data is obtained, both the purposes of the processing and the recipients or categories of recipients of their personal data.

Applied here, that means the registration privacy notice and the consent captured at badge scan define what the exhibitor may do with the lead, and it means the organiser cannot go hunting for additional identifiers to improve a match rate unless the original notice covered it. An organiser who ingests exhibitor CRM data to run a better join has taken on a controller relationship over records they never collected, from data subjects who were never told.

So the design that survives review is the modest one. The organiser normalises what it already holds, ships a clean key with the lead export, documents the tiers, and lets the exhibitor run the join inside their own system where the lawful basis is theirs. The same note names the window those opportunities get counted over, which is E15's, and the rule for calling revenue show touched, which is E17's.

Where this stops

Every tier above is deterministic, and deterministic rules have a hard ceiling on a file like this one.

The 364 unmatched leads are not a random remainder. They are concentrated among consumer email domains, recent job changers, and companies whose CRM account records use a different legal name from the one on the badge. That is a systematic bias, and it means the matched population is more corporate, more senior and more likely to already be a known contact than the file as a whole. Any conversion rate your exhibitor analytics computes on the matched set is computed on the favourable half.

The other limit is that a match rate is not portable between exhibitors. An exhibitor with a well-maintained CRM covering their whole addressable market will match at 80 per cent on the same export where a first-time exhibitor with a thin CRM matches at 30. Neither number says anything about your show. Comparing match rates across stands is a mistake I have watched several teams make, usually in a slide titled data quality.

Take your last exhibitor lead export, count how many rows have an email at all, and count how many of those emails sit on consumer domains. Those two numbers give you the ceiling on exact email matching before anybody runs a single join, and they take one query.

Questions people ask about matching booth scans to crm

Why does email matching miss so many trade show leads?
Because a large share of registrants used a personal address. On one file of 1,450 unique leads, 257 carried no email at all and 341 of the remaining 1,193 sat on consumer domains, which cannot match a corporate CRM contact under any circumstance. Plus-addressing and shared role addresses remove a few more.
How do you measure whether a match tier is accurate?
Pull a random sample of sixty matches from each tier and check them by hand against the CRM record. Sixty is enough to separate a tier running at 95 per cent precision from one at 70. Do the sampling once per show, because precision is a property of the rules and your registration data.
Can you compare match rates between exhibitors?
No. An exhibitor with a well-maintained CRM covering its whole addressable market will match at 80 per cent on the same export where a first-time exhibitor with a thin CRM matches at 30. The number describes the exhibitor's database, so ranking stands on it says nothing about your show.

Related reading

All exhibitor performance articles