One email address, three constituent records. One record came in through an online ticket purchase, one through a membership the desk keyed in last spring, and one through a donation form that put the middle initial in the first name field. Altru’s duplicate checks didn’t connect them because the names and addresses don’t line up closely enough. They share only the email address, and that’s the field that matters most for eTickets, renewal notices, and unsubscribes.
This guide covers how to find those shared emails, how to tell a real duplicate from a legitimate shared address, and what to do with each.
Why shared emails slip past duplicate checks
Altru’s duplicate detection is built mainly around names and addresses. Two records for “Jon Smith” and “Jonathan Smith” at different mailing addresses can look like two different people even when the email on both is identical. How much weight Altru gives email when it flags a possible duplicate depends on your version and settings. If you aren’t sure how yours behaves, create two test constituents in a sandbox with different names and the same email, then see whether either one gets flagged.
Many shared emails are also correct. Spouses often use one household inbox, and a parent may buy tickets for an adult child. Those records shouldn’t be merged. That’s why you need a list to review, not an automatic fix.
Step 1: Pull every email address, not just the primary
Build a constituent query with these output fields:
- Constituent lookup ID and name
- The email address field from the constituent’s email addresses collection (all of them, not only the primary)
- Whether that address is primary
- Household (if you use households)
- Date added, and the source or origin if you track it
- Membership status, if your query view exposes it
Including non-primary addresses is important. A common pattern is an email that’s primary on one record and sits as an old secondary address on another. If you query only primary email, you won’t see that overlap.
Leave out deceased constituents and organizations unless you have a reason to include them, and run the query. You’ll get one row per email address per constituent.
Step 2: Find the repeats in a spreadsheet
Altru queries are good at pulling lists, but they aren’t built to count how many times a value repeats across records. Exporting is usually the quickest route:
- Export the results to Excel or Google Sheets.
- Add a helper column that cleans the address: lowercase it and trim spaces. Jane@Example.com and jane@example.com are the same inbox, but an exact match won’t treat them that way.
- Add a count column. In Excel,
=COUNTIF(H:H,H2)works, with H as the cleaned email column. - Filter to counts greater than 1 and sort by the cleaned email so each group sits together.
- Remove groups where every row belongs to the same constituent. Those are the same address entered twice on one record, which you’ll clean up separately.
What’s left is your review list: every email that appears on more than one constituent record.
Step 3: Sort each group into one of three buckets
Same person, multiple records
The names are variations of each other (nickname, typo, maiden name), or one record is clearly a stub created by a web transaction. These should be merged. Before you merge, check which record has the membership, giving history, and correct address, and keep that one. Use Altru’s constituent merge rather than deleting a record, so revenue and history move to the record you keep. If you’ve never merged in your database, try a couple in a sandbox first and look at what carries over.
Different people, legitimately shared inbox
Couples or family members using one address. Make sure they’re in the same household and decide which person the email belongs to. Many organizations keep the email on one record and remove it from the other, so communications go out once and an unsubscribe applies to the right person.
Different people, wrong email
A staff member typed the buyer’s email onto the guest’s record, or a group leader’s address ended up on every attendee. Remove the email from the records it doesn’t belong to. When you can, note on the record where the bad data came from, so you can address it at the source.
Keep it from coming back
- Run the query on a schedule. Monthly is enough for most organizations. The first pass is the big one, and later runs are short.
- Find the entry point. If most new duplicates were created by online purchases, look at how your web forms match incoming buyers to existing constituents. If they come from the desk, give staff a clear rule: search by email before creating a new record.
- Watch your communication preferences. When you merge or remove an email, confirm that opt-outs end up on the record you keep. An unsubscribe that’s lost during cleanup is the kind of mistake that leads to complaints.
Doing this without the spreadsheet
The query-and-export approach works and costs nothing, but you’re re-exporting and re-sorting every time. Social Good’s Deduper is built to find and fix duplicate constituent and email records in Altru directly, so organizations that run this cleanup regularly don’t have to rebuild the spreadsheet each month.
Quick answers
Can two constituents in Altru have the same email address?
Yes. As far as we know, Altru doesn’t require email addresses to be unique across constituents, which is why shared addresses build up over time. If you need to know exactly how your database behaves, test it in a sandbox or ask Blackbaud support.
Should I merge every record that shares an email?
No. Merge only when it’s the same person. Shared household inboxes are normal, and merging two real people combines their memberships and giving history in ways that are hard to undo.



