How can we help you?

Why Do I Keep Getting Duplicate Contacts in My CRM?

If the same visitor keeps showing up as two (or more) separate records in your CRM, the cause is almost never a data-entry mistake — it's formatting drift.

The real cause: the same number, written two different ways

Phone numbers get typed differently by different people, forms, and channels — a stored contact might have (555) 867-5309, while the next form the same person fills out captures +15558675309 or 555.867.5309. To a plain text comparison, those are three different values. Velaro would search for an exact match, not find one, and create a brand-new contact — even though the person already existed.

The same thing happens with names less often, but it does happen: "Bob Smith" vs. "Robert Smith," or a name typed with extra spaces or in a different order.

How Velaro fixes this

Every phone number is normalized to a standard format before it's searched or compared. Formatting differences — dashes, spaces, parentheses, a leading +1 or country code, or none at all — are stripped away first, so (555) 867-5309, +15558675309, and 555-867-5309 all resolve to the same underlying number and find the same contact.

This normalized matching is live today for HubSpot. The same logic is being rolled out to NetSuite, Dynamics 365, and Salesforce so every connected CRM behaves the same way.

When Velaro isn't sure, it asks instead of guessing

Normalization closes most of the gap, but some cases are genuinely ambiguous — a short or partial number could belong to two different people, or a name could be a near-match rather than an exact one. Rather than silently deciding, the AI surfaces the closest existing contact and asks for confirmation before creating a new record. You'll see this as a quick confirmation step during sync, not a new contact appearing with no review at all.

What about contacts that are already duplicated?

Normalization only changes how new searches match going forward — it doesn't retroactively merge contacts that were already created as duplicates before this fix. If you're carrying duplicates from before, use Contacts → Merge Duplicates: Velaro groups likely duplicates by shared email or phone number for you to review, and merging combines all conversations, notes, and tags onto the record you keep. See the CRM Contact Sync Guide for the full merge walkthrough.

Related reading

  • CRM Contact Sync Guide — the full contact-matching, sync, and conflict-resolution reference for HubSpot and Dynamics 365 integrations.
  • Integration Troubleshooting Guide — specific phone-search and duplicate-record symptoms by CRM (HubSpot, NetSuite, Salesforce).
  • Getting Accurate Names and Phone Matches in Your CRM Integration covers the closely related v10 (Velaro Live Chat) version of name-splitting and phone-country-code matching. That article is for the v10 product; this article is for v20 (Velaro Admin / Messaging) — the two products have separate settings, so use the guide that matches your platform.
Share: Email

Was this article helpful?