How to Sync Scanned Business Cards to HubSpot Without Duplicate Contacts
You scan a business card at a conference, it lands in HubSpot as a new contact — and three months later, so does the same person, from the follow-up meeting where someone else on your team scanned their card again. Now there are two records, two activity histories split in half, and nobody's sure which one is "real." Multiply that by every event your team attends, and a CRM that was supposed to be a source of truth quietly turns into a source of confusion.
Where duplicate contacts actually come from
Almost nobody creates duplicates on purpose. They creep in through a handful of very ordinary situations:
- The same person is scanned twice — once at the initial meeting, again after a follow-up where they hand over a card a second time.
- Multiple team members meet the same lead — a founder and a sales rep both talk to someone at a booth, and both scan the card independently.
- Re-imports — a CSV export from an old tool gets re-uploaded after an app switch, recreating contacts that already exist.
- Small formatting differences — "john@company.com" versus "John@Company.com," or a phone number with and without a country code, which naive matching treats as two different people.
Why this is more expensive than it looks
A duplicate isn't just visual clutter. It splits everything that makes a CRM useful:
- Broken activity history — half the emails and calls with a lead live on one record, half on the other, so nobody has the full picture before an important call.
- Awkward outreach — the same contact gets a duplicate email from an automated sequence, which reads as sloppy to the person receiving it.
- Bad reporting — pipeline and conversion numbers get inflated by contacts that are really the same person counted twice.
- Wasted cleanup time — someone eventually has to manually merge records, which is tedious and easy to get wrong.
How real duplicate prevention should work
The fix isn't "be more careful" — that doesn't scale across a team or survive a busy conference day. The fix is checking for an existing match *before* a new contact ever gets created, using identifiers that don't drift with formatting:
- Normalize the phone number and email (strip formatting, lowercase the email) before comparing.
- Check HubSpot for an existing contact matching either field.
- If a match exists, update that record instead of creating a new one — don't silently skip it, since the new scan might have better or more current information.
- If no match exists, only then create a new contact.
Quick self-check: if two different people on your team scan the same person's card in the same week, does your current process create one contact or two? If you don't know the answer, it's probably two.
Where this fits into the scanning step itself
The cleanest place to prevent a duplicate is at the moment of the scan — before the contact ever reaches HubSpot at all — not as a cleanup job afterward. CardSnap's HubSpot sync checks existing contacts by phone and email before creating a new one, so scanning the same person's card twice updates the existing record instead of splitting it in two. Connect a HubSpot account once, and every card scanned afterward — by anyone on the team — goes through the same check automatically.
Sync business cards to HubSpot the clean way
Free to start · Automatic duplicate detection
See how HubSpot sync works