How to Find Net-New Contacts from a Trade Show Lead List
Quick answer: Export your existing CRM contacts, then compare your trade show list against that export using fuzzy matching on name and company together. Email-only comparison misses contacts with no email in the event export, contacts who gave a different email at the event, and name variants. The result tells you which attendees are net-new, which already exist in your CRM, and which need manual review.
You just got back from a trade show with 300 badge scans. Some of those people are existing customers. Some are active prospects already in your pipeline. Some filled out a form on your website last year and are already in your CRM under a slightly different email or name. And some are genuinely new — people your team has never spoken to before.
Importing all 300 without checking creates a mess: duplicate records, reps reaching out to existing customers with "introductory" messaging, inflated lead counts in your pipeline reporting, and marketing campaigns that treat known customers as cold prospects.
The alternative takes about 20 minutes and tells you exactly which leads are net-new before anything touches your CRM.
Want to reconcile your datasets in under 2 minutes?
Upload two CSV files and find matches in seconds — no signup, no install, 1,000 rows free.
Try it for free →Why Badge Scans Are Hard to Deduplicate
Trade show exports are harder to match against CRM data than other list types for a few specific reasons.
Email is often missing or unreliable. Badge scanners capture whatever is on the conference badge — typically first name, last name, company, and job title. Email is frequently absent, or is a generic company address rather than the person's actual email. HubSpot deduplicates contacts on email address only. Salesforce deduplicates on email or Record ID. Without a matching email, both CRMs create a new record regardless of whether the person already exists.
Company names are inconsistent. Conference badges are filled out by attendees, not standardized by a data team. Your CRM might have "Salesforce" and the badge says "Salesforce.com, Inc." Your CRM has "3M" and the badge says "3M Company." These are the same companies — but an exact-match comparison treats them as different.
Names vary. Someone who submitted a demo request as "Jennifer Walsh" may have registered for the conference as "Jen Walsh." Your CRM has one version, the badge export has the other. No exact match.
You've met these people before. Every recurring conference has repeat attendees. People who attended last year, filled out your form, talked to a rep, are already fully in your CRM — and their badge just got scanned again.
The Standard Approach — and Where It Breaks
Most teams either import everything and clean up after, or try to VLOOKUP the event export against a CRM export on email address.
Import everything first: Creates duplicates immediately. You'll find them in HubSpot's Manage Duplicates tool or Salesforce's duplicate report — but merging them after the fact is slow, records split activity history across two contacts, and it requires someone to manually review each pair.
VLOOKUP on email: Only catches records where both files have the same email address. Everyone without an email in the event export, and everyone whose email differs between the two sources, appears as a non-match and gets imported as a new record. In a typical trade show export, this misses 30–60% of the actual existing contacts.
How to Do This Properly
Step 1: Export your CRM contacts
Pull a full export of your existing contacts including first name, last name, company name, and email. From HubSpot: Contacts → Actions → Export. From Salesforce: Reports → New Report → Contacts. Save as CSV.
Step 2: Prepare your trade show export
Make sure it has separate columns for first name, last name, and company. If the export gives you a single "Name" field, split it before comparing — "John Smith" in one column is much easier to work with than the full string.
Step 3: Run a fuzzy match across both files
Upload both files to a comparison tool that supports fuzzy matching across multiple columns. Clean by Similarity API lets you upload two files, select matching columns in each, and returns three groups:
- Matched — attendees who likely already exist in your CRM
- Net-new — attendees with no close match in your CRM
- Similarity scores — so you can review borderline matches before deciding
Match on first name + last name + company name together, not email alone. The combined signal is what catches "Jen Walsh at Acme Corp" matching "Jennifer Walsh at Acme Corporation" in your CRM — neither the name nor the company matches exactly on its own, but together they're clearly the same person.
Step 4: Review the matched group
For records the tool flagged as likely existing, verify before deciding what to do:
- High confidence match (score > 0.85): Skip on import. If the trade show export has fresher information (new job title, direct number), update the existing CRM record manually or via a targeted import using the Record ID.
- Medium confidence (0.70–0.85): Review manually. Could be the same person with an unusual name variant, or two different people at the same company with similar names.
Step 5: Import only net-new records
Take the net-new group and import it as your actual new leads. These are the people worth the introductory outreach — the ones your team genuinely hasn't spoken to.
What to Do With the Matched Group
Finding out that 80 of your 300 badge scans already exist in your CRM isn't wasted effort — it's useful information.
- Existing customers who attended: They should receive a "great to see you at [event]" follow-up, not an introduction to your company. Routing them correctly prevents an embarrassing interaction.
- Active prospects already in pipeline: The rep who owns that account should know they attended. Add a note or activity to the existing record rather than creating a new lead. The scan is engagement data, not a new lead.
- Contacts you haven't spoken to in a while: They're in your CRM but cold. The event attendance is a reactivation trigger — worth a different message than either a cold intro or an existing customer follow-up.
Separating these groups before import means each one gets routed correctly from the start.
Key Takeaways
- Badge scanner exports are harder to match against CRM data than most list types — email is often missing, company names are inconsistent, and name variants are common
- Email-only comparison misses 30–60% of existing contacts in a typical trade show export
- Fuzzy matching on name and company together catches the variants that exact-match tools miss
- Separating net-new from existing attendees before import prevents duplicates, incorrect routing, and embarrassing outreach to existing customers
- The matched group isn't wasted — it's segmentation data that determines what follow-up each person should receive