Merging duplicates β
After a few months β or a messy bulk import β you'll find duplicate member records. John Smith and J. Smith. Mary Brown and Mary B. Merging combines two records into one and carries every piece of history forward.
How duplicates happen β
The most common causes:
- A member registered twice β once at the front desk and once via the public visitor form.
- Two staff added the same person without realizing.
- Bulk import duplicated rows that didn't match an exact name + phone.
- A member changed phone numbers and got re-added by mistake.
Find duplicates β
Go to Members β Find duplicates. The scanner runs in the background and lists candidate pairs grouped by likelihood:
| Confidence | Match criteria |
|---|---|
| High | Exact name + matching phone or email |
| Medium | Same last name + first-name fuzzy match in the same org unit |
| Low | Just a similar full name |
You'll usually want to focus on High and Medium. Low often contains real but distinct people with similar names.

Merge a pair β
Click any pair. The merge dialog opens with the two profiles side by side.
Pick the "winner" β
The winner is the record that survives β the other one is soft-deleted. Default is whichever record was created first, but you can flip it.
Field-by-field choice β
For every field that differs, choose which value to keep:
- Field name β e.g. Primary phone.
- Left value β the winner's current value.
- Right value β the loser's value.
- Choose β pick one, or in some cases combine.
For text fields you can manually edit the merged value (useful when both sides have correct partial info).
What carries over automatically β
Regardless of which side wins, the following are always merged, not chosen:
| Data | Behavior |
|---|---|
| Attendance records | All rows from both members move to the winner |
| Donations | All donations from both move to the winner |
| Notes | All notes from both stay attached to the winner |
| Workflow run history | Combined |
| Custom field history | Combined; the value that wins is the one you picked |
| Family links | Combined and deduplicated |
WARNING
After merge the loser record is soft-deleted, not gone. It sits in the recycle bin for 30 days. If you spot a merge mistake, restore the loser and re-create the proper data.
Dismissing false positives β
If a pair is genuinely two different people (Mary Brown the elder and Mary Brown the daughter), click Not a duplicate. They won't be flagged together again.
You can review and undo dismissals from Members β Find duplicates β Dismissed if you change your mind.
Bulk merging β
For High-confidence matches you trust, there's a Merge all high-confidence button. It uses defaults (older record wins, non-empty values win) without prompting per pair.
TIP
We recommend doing the first 10 merges manually so you build intuition for the defaults, then bulk-merging the rest.
Permissions β
Only admins can merge. The action writes to two records simultaneously and updates foreign keys across attendance and giving β too risky to delegate to scoped roles by default.
After a merge β
Check the winning member's profile:
- The attendance tab should show records from both originals.
- The giving tab should show donations from both.
- The custom fields should match the values you chose.
If anything looks off, restore the loser from the recycle bin and try again β but you have 30 days, no rush.
Common questions β
What if I merge the wrong way? Open the recycle bin, restore the loser. Both records are back. The attendance and giving moved to the winner during merge β you'll have to manually reassign or run merge again the other direction.
Does merge fire workflows? No. The member.deleted trigger is suppressed during merges so you don't accidentally send "we're sorry to see you go" messages to the loser.
Can shepherds see duplicates in their scope? Yes β the scanner respects scope. But the merge action itself is admin-only.
Next steps β
- Active vs lost members β sometimes "duplicate" actually means "lost-then-came-back".
- Bulk import β preventing duplicates next time.