Open a long-time member’s constituent record and you may find three copies of the same email address, two versions of their street address (one says “St.”, one says “Street”), and a phone number listed twice with different formatting. Nothing is technically broken, but it makes the record harder to read, it can send mail to the wrong place, and it chips away at staff trust in the data.
This article covers where those repeats come from, how to clean up a single record safely, how to find the rest of the affected records, and what slows the problem down going forward.
Where the repeats come from
Duplicate contact details on one record almost always trace back to transactions, not to someone typing a second email by hand. The common sources:
- Online purchases made without signing in. A member buys tickets on your website as a guest instead of logging in. The order carries its own name, email, address, and phone. When that order is matched to the existing constituent, the contact details from the order can be added to the record alongside what was already there, even when they are the same information typed slightly differently.
- Small formatting differences. “123 Main St” and “123 Main Street, Apt 2” are different strings, and so are “(555) 555-0100” and “555.555.0100.” Matching that compares exact text may treat them as new entries.
- Constituent merges. When two duplicate constituents are merged, their addresses, phones, and emails usually come along. If both records had the same details, the surviving record now has two of each.
- Imports and batches. Lists brought in from an event, a partner, or a spreadsheet can add contact info that already exists.
Exactly how Altru decides whether to add, update, or skip contact information from a given transaction can depend on your configuration and on the channel (front desk, web, or import). If you need to know precisely what happens in your setup, run a test purchase in a sandbox or ask Blackbaud support rather than assuming.
Cleaning up one record
Before you delete anything, decide which entry is the “real” one. A few minutes of care here prevents losing information you actually need.
- Pick the keeper. For each email, address, and phone, choose the most complete and correctly formatted version. Make sure it is marked as primary.
- Check what the extras are tied to. An older address might be the one a past gift or membership was mailed to, or it might carry a seasonal date range or a “do not mail” flag. An email might carry a solicit code or opt-out. If a duplicate carries a preference the keeper doesn’t, move that preference to the keeper first.
- Remove or inactivate the duplicates. Depending on your security rights and your organization’s data policy, you can delete the extra entries or mark them inactive. Some teams prefer inactivating so there is a history; others delete true duplicates because an inactive copy of the same email adds no value. Pick one approach and use it consistently.
- Leave a note. A short note on the record (“Removed duplicate email and address from web orders”) saves the next person from wondering what changed.
Be careful with opt-outs. If any copy of an email address is marked as do-not-email, treat the person as opted out. Deleting the copy with the opt-out and keeping a clean copy without it can lead to emailing someone who asked you to stop.
Finding every record with the problem
Fixing records as you happen to open them never catches up. A better approach is to build a list.
Create a constituent query that outputs the constituent ID along with each email address (or address line, or phone number). Export it and sort or group by constituent and value. Any constituent with the same value appearing more than once is a cleanup candidate. For addresses and phones, normalize before comparing: lowercase everything, strip punctuation, and standardize “Street” to “St” and similar abbreviations, otherwise near-duplicates slip through.
Then work the list in order of impact:
- Active members and recent donors first, since they are the people you mail and email most.
- Records with conflicting opt-out flags next, because those carry real compliance risk.
- Everyone else as time allows.
Whether duplicates can be removed in bulk depends on the tools and permissions available to your Altru setup. If you are unsure, confirm with Blackbaud support before trying a mass update, and take an export of the affected records first so you can recover if something goes wrong.
Slowing it down at the source
Cleanup is only half the job. These changes reduce how many new repeats show up:
- Encourage sign-in for members. Make the login option obvious on your ticketing and renewal pages, and mention it in member emails. Guest checkouts by existing members are a common source of repeat contact entries.
- Standardize front desk entry. Agree on a format for phone numbers and address abbreviations, and have staff search for the constituent before adding new contact details.
- Review merges before you finish them. When merging duplicate constituents, look at the combined contact info right away and remove repeats while the record is in front of you.
- Clean imports before they go in. Dedupe spreadsheets against your existing data first rather than after.
- Put a recurring check on the calendar. Rerunning the query monthly keeps the list short enough to clear in one sitting.
Where Deduper helps
Repeated details on one record often show up alongside a bigger problem: the same person existing as two or more constituents. Social Good’s Deduper finds and fixes duplicate constituent and email records in Altru, which is a useful companion to the record-level cleanup above.
Quick answers
Is it safe to delete a duplicate email address?
Usually, as long as you keep one copy marked primary and carry over any opt-out or solicit preference that was on the copy you remove.
Should I delete old addresses or mark them inactive?
If it is the same address entered twice, deleting the extra is generally fine. If it is a genuinely older address, many organizations keep it inactive for history. Follow your organization’s data policy.
Why do members keep getting new entries after I clean them up?
A common cause is buying online without logging in. Making sign-in easier to find, and reminding members to use it, reduces the repeats.



