Pulse - Value Added
FRACTIONAL CRO · MARYLAND-BASED, NATIONWIDE · $0→$200M

Kory White

RevOps & Revenue Leadership

Get a 30-minute revenue checkup — Kory reviews your pipeline and forecast, then names the 1–2 fixes that move revenue fastest. 25 yrs scaling teams $0→$200M.

30-minute revenue checkup →
Hire a Fractional CROHow We Help?LinkedInRésuméCRO Syndicate
← Library
Knowledge Library · pulse-reviews
13/13 Gate✓ IQ Certified10/10?

Fixing Duplicate Contacts in the CRM — 60-Min Training

Curated by · Fractional CRO · Maryland
PULSEKNOWLEDGE LIBRARY
pulserevops.com
Sales TrainingsFixing Duplicate Contacts in the CRM — 60-Min Training
📖 2,944 words🗓️ Published Jul 29, 2026
Direct Answer

Run a 60-minute manager-led session where every rep audits their own book, applies one written merge rule set so any two reps reach the same decision, installs prevention automation, and commits to a weekly 20-minute dedupe block. Reps leave with cleaner books and a target duplicate rate under 5%.

Why duplicate contacts are a revenue problem, not a hygiene chore

Reps treat duplicates as a data-entry annoyance. Managers should treat them as a forecast distortion, because that is what they are. Every duplicate record splits activity history across two rows, double-counts pipeline, routes the same buyer to two different AEs, and quietly teaches the team to distrust the CRM. Once a rep stops trusting the record, they start keeping a private spreadsheet — and now your system of record is a suggestion.

The mechanics are simple to see once you name them. Marketing attribution gets diluted: if roughly one in five contacts is a duplicate, then a meaningful share of your MQLs is credited to the wrong campaign or lands on the wrong owner, so budget defends poorly to finance. Routing collisions happen on duplicate-heavy books, where two reps unknowingly work the same account and burn hours on conflict resolution while the buyer watches two sellers fumble. And forecast lines inflate because the same open opportunity, attached to two contact records, can be counted twice in roll-up reports.

The frame that lands in the room is money and time, not tidiness. A rep carrying a few thousand contacts with a duplicate rate in the high teens is spending real hours every quarter chasing the wrong Sarah Chen, re-logging calls that already exist on the other record, and second-guessing which row is live. Anchor the session on three duplicate archetypes so reps recognize their own book:

Fixing Duplicate Contacts in the CRM — 60-Min Training — figure 1

Close the frame with one line reps remember: if your CRM has duplicates, your forecast has duplicates. Today's conversation is about your number, not about hygiene.

How to run the pre-session audit on every rep's book

The session only works if every rep arrives with their own duplicate report already pulled. Make this a hard pre-work gate, and use a verbatim brief so consistency across reps starts before anyone merges anything. Consistency is the entire point — the same instructions produce comparable sheets.

Fixing Duplicate Contacts in the CRM — 60-Min Training — figure 2

Pre-session brief (read it verbatim to the team):

  1. Pull your duplicate report — Salesforce's native Duplicate Rules / Potential Duplicates view, or HubSpot's *Manage Duplicates* tool — filtered to Owner = you.
  2. Export to CSV. Sort by account name ascending, then created date descending, so pairs sit next to each other.
  3. Count total suspect rows, divide by the contacts you own, and write your duplicate rate at the top of the sheet.
  4. Flag every pair where first name + last name match exactly, OR email domain matches AND last name matches.
  5. For each flagged pair, write a decision code in a new column: KEEP (this record survives), MERG (combine), RTNG (route to RevOps for a tiebreak), DELT (delete junk).
  6. Bring the CSV and your laptop. We merge live in the room.

The reason the codes matter is that they are the audit trail. A rep who Slacks RevOps "hey can you look at this one" leaves no record; a rep who marks a row RTNG leaves a queryable trail RevOps can work through in order. Coach the room plainly: whoever shows up with 200 decisions already coded finishes in twenty minutes and spends the rest of the session merging. Whoever skipped the pre-work pulls their report while everyone else works — do not bail them out, because "I'll get to it after" is exactly the behavior that created the duplicates.

Set expectations on volume, too. On a book of a few thousand contacts, a first pass commonly surfaces several hundred suspect pairs. That number feels alarming until reps see how many collapse into mechanical decisions once the rules are applied. Most pairs are not judgment calls; they only feel that way because nobody wrote the rules down.

Fixing Duplicate Contacts in the CRM — 60-Min Training — figure 3

The merge-decision rules that make two reps agree

This is the heart of the session. Inconsistent merging is why cleanups don't stick: two reps hit the same pair, pick different survivors, and the CRM drifts again within weeks. Write the rules once, drill them, and merging becomes clerical instead of subjective.

Ban a handful of phrases outright, because each one is how bad merges happen:

Fixing Duplicate Contacts in the CRM — 60-Min Training — figure 4

Run a live demo on one rep's screen so the room sees the rules applied to real records — ten decisions, out loud, is enough. The lesson lands when reps watch roughly nine in ten pairs resolve mechanically: same names, older record wins, verified email, merge. Duplicates feel like judgment calls, but written rules turn them into clerical work.

Handling job-changers, activity history, and field conflicts

The edge cases are where cleanups quietly go wrong, so spend real time on the three that recur most.

Job-changers. When a buyer moves from Acme to Beta, the two records are not duplicates — they are two true relationships. Merging them attributes all of Beta's future activity to Acme (or vice versa) and erases the fact that this person is now a champion inside a new logo. The rule is fixed: never merge across accounts. Mark the old contact Departed so it stops surfacing in active views, create the new contact on the new account, and set a former-employer link so marketing gets a clean "buyer moved" signal. That signal is valuable — a champion who just changed companies is one of the highest-intent plays your team has.

Activity history. The single most common irreversible mistake is deleting the loser record before merging, which discards its notes, tasks, and logged emails. In the native Salesforce and HubSpot merge flows, history transfers to the survivor automatically. The verification step is non-negotiable: after each merge, confirm the survivor's activity count equals the combined pre-merge total. If it doesn't, stop and open a support case before processing more — a systematic gap usually means an integration or API-driven merge is stripping history, and you want to catch that on record two, not record two hundred. API merges in particular often require an explicit flag to preserve activities; the native UI does not.

Fixing Duplicate Contacts in the CRM — 60-Min Training — figure 5

Field conflicts. When two records disagree on a field, don't let reps freelance. Email resolves to verified, then corporate, then newer. Phone resolves to mobile. Title and company resolve to whichever is on the survivor unless the loser is clearly more recent and more complete. Owner resolves to the survivor's owner, with the other rep notified — never silently reassigned. The point of writing these down is that conflict resolution stops being a per-rep opinion and becomes a lookup.

One more discipline: spot-check ten percent of completed merges before anyone bulk-processes the rest. Silent merges into the wrong survivor are the top source of downstream attribution rework, and a ten-percent audit catches a systemic rule misread early. If the spot-check is clean, let reps proceed at speed; if it isn't, fix the rule interpretation in the room before the mistake scales across every book.

Installing prevention automation so cleanup sticks

Cleanup without prevention is a treadmill — duplicate rates regrow steadily once the manual effort stops, and within a few months a one-time scrub is undone. The second half of the session installs the layer that holds the line. Dedicated dedupe and routing tools handle this: LeanData for match-and-route logic tied to lead-to-account matching, Validity DemandTools for scheduled enterprise mass-merge jobs with audit trails, and Cloudingo as a lighter option common in HubSpot-centric shops. Pick based on where duplicates actually enter, not on brand preference.

The prevention layer has three inlets, because duplicates enter through three doors. Form fills need real-time matching so a returning lead updates the existing record instead of spawning a new one. Manual entry needs a required-field gate and an in-line duplicate warning so a rep typing a new contact is shown the existing match before they save. CSV imports — historically the worst offender — need a pre-import scan that flags matches against the live database before a single row lands.

Fixing Duplicate Contacts in the CRM — 60-Min Training — figure 6

Then run the math with the room, using their own numbers rather than borrowed statistics. Have each rep take their duplicate count, multiply by a realistic minutes-wasted-per-duplicate estimate and their fully-loaded hourly cost, and read the quarterly figure out loud. Seeing "this costs me a few hours a quarter, every quarter, forever" converts the skeptics faster than any benchmark slide. Then handle the standard objections directly: "I don't have time to dedupe weekly" — the math above is your time back, twenty minutes buys back hours. "RevOps should handle this" — RevOps installs the automation, but you are the only one who knows which record is the real buyer. "The automation will mis-merge" — the high-value guardrail routes material pairs to human review; the automation handles the obvious ones and escalates the rest. End the block by giving reps twenty minutes to apply their codes live while you walk the room and answer edge cases in real time.

Locking commitments and the weekly cadence

A session that ends in nodding produces no change. Close by collecting three written commitments per rep — written, not verbal, and collected on paper or in a shared doc so they are auditable next sprint.

Then make the results visible. Publishing rep-level duplicate rates in a shared channel does more for durability than any single cleanup, because it turns a private chore into a peer-visible number. Teams that run this as a recurring, manager-led ritual with public rates hold their gains; teams that run it once as a RevOps side-project watch the rate climb back within a quarter. The message to leave the room on is deliberately small: your book is cleaner than when you walked in, and the whole program going forward is twenty minutes every Friday. Keep it that simple and it survives.

Related questions

How often should we run a full dedupe training?

Quarterly for the manager-led session, weekly for the individual 20-minute rep block. The quarterly cadence resets standards and catches drift; the weekly block prevents the backlog from ever rebuilding. Skipping the weekly block is what forces the quarterly session to be a painful full scrub instead of a light tune-up.

What's the difference between merging and deleting a duplicate?

Merging combines two records into one survivor, preserving activity history, tasks, and notes from both. Deleting removes a record and everything logged on it. Always merge real duplicates; only delete genuine junk — test entries, spam form fills, obvious garbage rows with no history worth keeping.

Should reps or RevOps own duplicate cleanup?

Both, split by role. RevOps owns the prevention automation, the match rules, and arbitration of disputed pairs. Reps own the merge decisions on their own book, because they're the only ones who know which record reflects the real, current buyer relationship. Central-only cleanup fails because RevOps lacks that context.

How do we avoid breaking attribution when merging?

Keep the oldest-CreatedDate record as survivor so the original lead source is preserved, and verify the survivor's activity count equals the sum of both records after merging. If the counts don't reconcile, stop and investigate before processing more — a systematic gap usually points to an API merge stripping history.

FAQ

What duplicate rate should we actually target? Under 5% is a solid working bar; under 3% marks a high-performing, well-governed CRM. Above roughly 10% signals the prevention layer isn't installed — fix the inflow before any cleanup, or you'll refill the book faster than you can drain it. Set the target per rep and track it publicly.

Which dedupe tool should we use? It depends on where duplicates enter and how complex your routing is. Tools tied to lead-to-account matching and routing (like LeanData) fit high-complexity go-to-market motions; scheduled mass-merge tools with audit trails (like Validity DemandTools) suit enterprise Salesforce orgs; lighter options (like Cloudingo) fit HubSpot-centric teams. Evaluate against your actual inflow sources, not brand.

How do we handle a contact who changed companies — merge or split? Never merge across accounts. Mark the old contact Departed, create a new contact on the new account, and set a former-employer link. This preserves attribution to both companies and gives marketing a clean "buyer moved" signal — often a high-intent expansion play, since a familiar champion just landed at a new logo.

Can we just run one big cleanup and be done? No. Without prevention automation, duplicate rates regrow steadily as new form fills, manual entries, and imports arrive. A one-time scrub buys a few months before you're back where you started. The durable fix is the prevention layer plus the recurring weekly rep block — cleanup without prevention is a treadmill.

Who owns the merge when two reps each own one record of a pair? The owner of the survivor record (by the oldest-CreatedDate rule) executes the merge; the other rep is notified rather than silently overridden. If the two reps dispute ownership of the underlying account, RevOps arbitrates within a day using the written merge rules, and the resolution is logged for the audit trail.

Does merging preserve notes, tasks, and emails? In the native Salesforce and HubSpot merge flows, yes — history transfers to the survivor automatically. Verify by confirming the survivor's activity count equals the combined pre-merge total. API-driven or integration-based merges can strip history unless configured to preserve it, so always validate the first several merges before processing at volume.

Sources

flowchart TD S["Fixing Duplicate Contacts in the CRM —"] S --> N0["Why duplicate contacts are a revenue p"] N0 --> N1["How to run the pre-session audit on ev"] N1 --> N2["The merge-decision rules that make two"] N2 --> N3["Handling job-changers, activity histor"]
flowchart LR C["Fixing Duplicate Contacts in the CRM —"] C --> H0["The merge-decision rules that make two"] C --> H1["Handling job-changers, activity histor"] C --> H2["Installing prevention automation so cl"] C --> H3["Locking commitments and the weekly cad"]

Related on PULSE

Download:
Was this helpful?  
⌬ Apply this in PULSE
Free CRM · Revenue IntelligenceAudit pipeline, score reps, ship the fix