Customer Relationship Management (CRM)
8 Minutes reading time

Avoiding duplicates in your CRM: validation rules, merging and prevention for HubSpot & Dynamics 365

Duplicates are created on the go - if you only clean up afterwards, you scrub away the same mistakes every week. This article shows which validation rules keep companies and contacts clean, how to merge your existing records without losing data, and how to prevent new duplicates from the start.
Key Takeaways
In This Article

AI This article was created with the help of AI.

Key takeaways

  • In well-maintained CRM databases, 4 to 7 percent of records are duplicates; in poorly maintained ones, up to 30 percent.
  • HubSpot deduplicates contacts by email address and companies by domain; Dynamics 365 allows only five published basic rules per record type.
  • When merging in Dynamics 365, related rows such as the history are carried over - possible, but only for account, contact and lead, and only two records at a time.
  • Duplicates are created when records are added, when switching from offline to online mode, and during imports - making mobile data capture a major source.
  • Prevention means checking before you create: write debriefings by call directly into existing CRM fields instead of creating new records.

You open your dashboard on Monday: conversion is stable, the forecast is in place. Except the numbers are wrong, top to bottom. Because part of your customer records exists twice. Your reports don't show reality - they show your reps' memory. And every duplicate records it one more time.

The scale is well documented: according to studies, even in well-maintained CRM databases between 4 and 7 percent of records are duplicates - up to 30 percent in poorly maintained ones.

  • Duplicate mailings: the same customer gets contacted twice - you pay for the campaign twice, and the customer registers it as sloppiness.
  • Distorted reports: part of your customer base is counted twice. Revenue per customer looks worse than it is, and your initiatives miss the mark.
  • Lost conversation history: the quote sits in the second record while your colleague searches the first - and the customer has to follow up.

The consequences hit you right in the wallet: according to the Validity report "The State of CRM Data Management 2025", 76 percent of the CRM users surveyed say that less than half of their company's CRM data is correct and complete. 37 percent report direct revenue losses as a result of poor data quality.[1]

Here's the catch: cleaning up alone doesn't solve the problem. If you only scrub afterwards, you remove this week the same duplicates that land back in your database next week - freshly created, on the go, between two appointments. We've broken down separately how much time CRM documentation costs field sales.

What is duplicate checking in a CRM?

A duplicate is a record that describes the same customer or contact as one that already exists - but exists as its own entry in the CRM. Not an exact copy, but the same person with a minimal difference: a different letter, a different spelling, a different format.

Classic example: your new customer Matthias Bauer lands in the CRM with two t's. Weeks later, he calls your colleague. She searches for Mathias Bauer with one t, doesn't find him - and creates the contact from scratch.

And with that, the duplicate is complete. The history of the second conversation is now attached to the wrong record. Your colleague doesn't see that her teammate has already prepared a quote, and the customer gets the impression that nobody at your company works together.

That's exactly where duplicate checking comes in: a duplicate detection rule compares every new record against your existing database and warns you before you save.

  • It defines which fields are compared - for example email, name or company.
  • It kicks in when records are created and updated, not weeks later.
  • Dynamics 365 ships with default duplicate detection rules for companies and contacts. For other record types, you create the rules yourself.[2]

Why do sales teams keep creating new duplicates?

The short answer: not through sloppiness. Duplicates arise in everyday sales work - exactly at the points where data is captured while you are actually out on the road.

  • Name variants: Schmidt, Schmitt, Schmid. Mayer, Meyer, Maier. Most duplicates are typos and spelling variants - and therefore escape any exact comparison.
  • Mobile and offline capture: Microsoft documents that duplicates arise when creating or updating rows, when switching from offline to online mode, and during imports.[3] That is exactly everyday field sales: captured offline, synced later.
  • Imports without a unique key: HubSpot detects duplicates via the email address; for deduplication during import you need the record ID or properties with unique values in the file.[4] If these are missing, every row is created as a new record.

For you as a CRM manager, this means: as long as on-the-road capture runs through free text fields and memory, the admin bloat in everyday sales grows every day. We looked at the cost of this evening rework in a dedicated article.

Which validation rules work for companies and contacts?

Start with unique keys. Microsoft recommends basing duplicate detection rules on fields with unique values, for example the email address.[2] HubSpot does the same: contacts are automatically deduplicated via the email address, companies via the domain name.[4]

Object Automatic Key at HubSpot Microsoft's Recommendation
Contact Email address (source) Field with unique values, for example email (source)
Company Domain name (source) Default rules for accounts are enabled out of the box (source)

‍

But unique keys only find exact matches. The Matthias/Mathias duplicate easily survives a rule set to "exact match". For name variants you need a fuzzy match that recognizes similar values - typically across several fields at once, such as name, street and city, so the hits are accurate.

And keep the number of rules small. In Dynamics 365 you can only publish five base rules per record type at the same time; the number of criteria per rule is additionally limited by the length of the match code.[2] Five well-thought-out rules therefore achieve more than twenty half-baked ones. We compiled which criteria matter overall before choosing a tool in our guide to the must-have criteria.

How do you clean up existing records without losing data?

Cleanup is a project with a beginning and an end, not a permanent state. Clean up once, then build prevention - not both at once as a permanent occupation.

  1. Identify the duplicate pair and mark it in the view.
  2. Choose merging and determine the primary row - the record that should remain.
  3. Define which columns of the second row are allowed to overwrite the primary row's data.
  4. Run the merge: all related and child rows are merged along with it - so the history is preserved.[3]

Know the limits of merging: in Dynamics 365 it only works for the Account, Contact and Lead tables, and only for two records at a time.[3] A cluster of three or more duplicates needs several passes - plan the order in.

And don't forget compliance: the GDPR requires that personal data is factually correct and that inaccurate data is rectified or deleted without delay.[5] Two records for the same person with diverging details are therefore more than an annoyance in your dashboard - they are a data privacy issue.

How does on-the-road capture prevent new duplicates?

Cleanup and prevention are two separate levers. Your rules and the merge take care of existing records. Whether new duplicates appear next week is decided at data entry - right at the moment of creation, not weeks later in a batch run. Duplicate detection warns you when the record is created; whoever uses that moment never creates a duplicate in the first place.[2]

The second starting point is the data entry path itself. The voice AI assistants Vicky and Tim write the debriefing after the customer meeting via a phone call straight into the right CRM fields (Voice-to-CRM) - including for contacts that already exist in your records, GDPR-compliant and without recording the customer conversation.[6] The rep dictates into the existing entry instead of creating a new record. The call runs over their mobile phone, without an internet connection - for example via the hands-free system in the car.[6] The integration currently supports Microsoft Dynamics 365, Salesforce, HubSpot and SAP.[6]

And what if there are several similar contacts? Then you get asked instead of guessed: the assistants actively detect ambiguities and check which of the matches already in the CRM is meant. How the assignment to the right account works is described in our article on Voice-to-CRM assignment.

  • Check before creation: the warning comes at creation time, not in a monthly report.
  • Entry into existing fields: the debriefing lands via phone call in the existing contact, not in a new row.
  • Ambiguities clarified: with several similar matches, the assistants actively ask which one is meant.

Important context: the phone-call entry path writes into existing CRM fields. Duplicate checking itself remains the job of your CRM - the digital assistant simply ensures your team is never tempted to create a second record in the first place.

Duplicates don't disappear through occasional cleanup. They disappear when you separate the two levers and pull both:

  1. Set rules: review your duplicate detection rules for companies and contacts - start with unique keys like the email address, then add fuzzy matching for name variants.
  2. Clean up existing records once: identify duplicate pairs, choose the primary records, merge them - the history is preserved.
  3. Review entry paths: for every path that creates new records, check whether a check before creation is in place.

If step 3 reveals that field sales captures data through free-form notes and memory, that's where the Bliro Sales Assistant comes in: the digital assistant prepares meetings with CRM context, transcribes conversations in real time - GDPR-compliant, without recording and without a bot - and writes visit reports via phone call into the existing CRM fields.[6] Duplicate checking stays with the CRM; the manual entry that creates new duplicates disappears.

After that, your forecast works on a data foundation that reflects what's really happening in the field. And your Monday starts with insights - not with duplicate lists.

Sources

  1. https://www.validity.com/resource-center/the-state-of-crm-data-management-in-2025/
  2. https://learn.microsoft.com/de-de/power-platform/admin/set-up-duplicate-detection-rules-keep-data-clean
  3. https://learn.microsoft.com/de-de/power-apps/user/merge-duplicate-records
  4. https://knowledge.hubspot.com/de/records/deduplication-of-records
  5. https://dsgvo-gesetz.de/art-5-dsgvo/
  6. https://help.bliro.io/en/articles/15068158-meet-vicky-tim-voice-ai-assistants-for-field-sales

A Day in the Life of a Field Sales Rep, Powered by Bliro.

A field sales rep operates Bliro entirely by voice from the car: right after each customer visit he calls Vicky, Bliro's AI voice assistant, and dictates his visit report while driving. Bliro then updates the CRM, schedules the follow-up in his calendar and drafts the follow-up email - voice-to-CRM and the full desk work, with no admin left for the evening.
A Day in the Life of a Field Sales Rep, Powered by Bliro.

By clicking play you agree to load content from YouTube and to marketing cookies.

Your questions, our answers

What is a duplicate in a CRM?
How many duplicates do CRM systems typically have?
How many duplicate detection rules can you publish at the same time in Dynamics 365?
What does HubSpot deduplicate contacts and companies by?
What happens to the history when merging duplicates?
How do you prevent duplicates when capturing data on the go?

The personal assistant for your field sales team

Vicky & Tim are Bliro's AI voice agents for B2B field sales teams. They prepare conversations, maintain CRM entries, and create follow-ups - by voice, without typing. A transcription of conversations can optionally be used in addition.
Book a Demo