How to get trade show leads into your CRM cleanly.
Last updated
6 min readIn short
Agree the campaign name, source values and owner rules before the show. In the first 10 working days, dedupe against existing contacts and companies, import with source, campaign, owner, status and consent fields, route existing customers to their account owners and close out leads that go nowhere.
Agree the rules before you import anything.
A CRM does not get messy at the show. It gets messy in the week after, when 400 rows arrive from three sources with three spellings of the same company. Ten minutes of agreement before the show prevents most of it.
- Included: One campaign name for the whole show, written once and copied everywhere.
- Included: A fixed list of source values, for example
qr-badge,qr-banner,qr-leafletandorganiser-scan. - Included: One owner per lead, normally the rep who had the conversation, and a named cover for each rep who is away.
- Included: A rule for what counts as a lead, and a rule for what does not. See how to capture and follow up trade show leads.
Name the campaign so you can find it in two years.
Use a pattern a stranger could decode: event, year, city, what you did there. FreightExpo-2027-Lyon-Stand is clear. 'Show leads Jan' is not, and neither is 'Spring event (final 2)'. Use the same string in the campaign field, the lead source detail and any list or report that follows.
Keep the source separate from the campaign. The campaign says which show. The source says how this person reached you: which QR code, which badge scan, which hand-typed note. That split is what lets you measure the show by placement later.
Dedupe before you import, not after.
Merging duplicates inside a CRM is slow and sometimes cannot be undone. Match in the file first. Most CRMs treat the e-mail address as the key for a contact and the web domain as the key for a company, so normalise both: lower case, trimmed, no tracking parameters on the domain.
| Step | Rows | What you do |
|---|---|---|
| Rows exported from all sources | 420 | Start here |
| Repeats inside the file (two reps met the same person) | 55 | Keep one, merge the notes, keep the earliest time |
| Unique people | 365 | |
| Already a contact in the CRM | 70 | Update, do not create. Never overwrite the owner or a newer phone number |
| New contacts | 295 | Create with the full field set |
| Belong to an existing customer | 41 | Send to the account owner, not the new-business queue |
Personal mail domains such as gmail.com or outlook.com identify nobody's employer. Never create a company from them. Match the company on the person's typed company name by hand, or leave the contact without one.
Give every imported lead the same fields.
| Field | Example | Why |
|---|---|---|
| mia.fischer@example.com | The key for dedupe and for any reply | |
| Name and company | Mia Fischer, Harbourline Freight | The person and the account |
| Campaign | FreightExpo-2027-Lyon-Stand | Which show, for reporting |
| Source | qr-banner | Which placement or method |
| Owner | rep's CRM user, matched by e-mail | Someone is accountable |
| Lead status | New | Where the lead starts |
| Score and band | 72, hot | Who to call first |
| Reason | Wants pricing for 20 reps | The conversation, in one line |
| Consent flag, text and time | Yes, the exact wording, 2027-02-03 11:42 | Proof, and who may be mailed |
| First contact time | Blank until the first reply | Measures follow-up speed |
Map the fields in a test import of ten rows before you load the rest. Open three of the created records and read them as the rep would.
Map statuses and owners so nothing sits unowned.
Decide which stage in your lead tool equals which status and deal stage in the CRM. Write the map down and keep it with the campaign. A lead that reaches a meeting should open a deal. A lead marked lost should carry a reason.
| Stage at the show | CRM lead status | Deal |
|---|---|---|
| New | New | None |
| Contacted | Attempted to contact | None |
| Qualified | Connected | Create at this stage |
| Meeting | Open deal | Move to meeting booked |
| Won or lost | Closed won or unqualified | Close with a reason |
Match owners by e-mail address, not by name. 'Chris' is three people, and chris@yourcompany.com is one. Give the default owner a real person, not an admin account nobody reads.
Handle customers and disqualified leads on purpose.
A visitor from a company that already buys from you is not a new lead. Tell the account owner within a day, because that person knows the history and a stranger's cold e-mail can damage it. Keep the visit as an activity on the account, and lower the lead's score so it does not take a new-business slot.
Close out the leads that will not buy with a reason from a short, fixed list. Free text cannot be reported.
- Included: Not a fit: wrong industry or size.
- Included: Competitor or supplier.
- Included: Student, press or job seeker.
- Included: Duplicate of an existing record.
- Included: Wrong contact: refer to the right person.
- Included: Bad timing: nurture later, with a date.
- Included: No response after the full cadence in the follow-up e-mail guide.
Carry consent across, and retire stale leads.
Import the consent flag, the wording and the time as fields, not as a note. Then build the marketing list from the flag. A lead without it can still get a reply to the question it asked, but it does not join a newsletter. For the rules, see GDPR-compliant lead capture at events.
Set a stale rule on day one. For example: a lead with no reply 14 days after the last message moves to nurture or closes. A lead in nurture with no activity after 90 days gets reviewed or deleted. Enrichment helps, but fill gaps from the person's own signature and company website rather than buying data you cannot justify.
Check six numbers on day 10.
A clean import shows in the counts. Run these six checks before you call the job done, and write the results next to the campaign.
| Check | How to calculate it | What a problem looks like |
|---|---|---|
| Leads without an owner | Count of rows with a blank owner | Anything above zero |
| Duplicate rate | Duplicates removed divided by rows exported | Above about one in six deserves a look at how reps recorded people |
| Leads without consent flag | Rows where the flag is blank, not no | Anything above zero |
| Time to first contact | Hours from capture to first message, median | Longer than your promise |
| Leads by source | Count per source value | A blank or an unexpected source |
| Leads untouched | Rows still at New after 10 days | More than the cold group |
Contacts that came from the organiser's scan data need a note of their own. You did not collect those details from the person, so Article 14 of the GDPR applies, and what you may do with them depends on the organiser's terms. Tag them with their own source and keep them out of marketing lists until you know.
A 10 working day clean-up checklist.
- Step 1.
Day 1: export every source into one file and add campaign and source columns.
- Step 2.
Day 1: dedupe inside the file by e-mail and merge notes.
- Step 3.
Day 2: match against existing contacts and companies and split out customers.
- Step 4.
Day 2: assign an owner to every row and name a cover.
- Step 5.
Day 3: import ten rows as a test, then the rest.
- Step 6.
Day 3: send hot leads to their owners with the reason in front.
- Step 7.
Day 5: check that no imported lead is missing an owner, a status or a consent flag.
- Step 8.
Day 7: apply the stale rule to leads with no reply.
- Step 9.
Day 10: close out with a reason, review counts by source and archive the file.

Quick answers.
How do I import trade show leads into HubSpot or another CRM?
Clean and dedupe the file first, add campaign, source, owner, status and consent columns, import ten rows as a test, then import the rest with the option that creates new contacts and updates existing ones. Match contacts by e-mail address and companies by domain.
How do I avoid duplicates after a trade show?
Dedupe inside the file by e-mail before importing, then let the CRM update matching contacts instead of creating new ones. Normalise e-mail addresses to lower case and company domains without paths.
What should I do with leads who are already customers?
Send them to the account owner, log the visit on the account and keep them out of the new-business queue. A cold e-mail from a stranger can damage an existing relationship.
How long should I keep trade show leads in the CRM?
Write down a period you can justify. A common rule is to review leads with no reply after 14 days and again after 90 days, and to delete or anonymise those that have no purpose left.