Every Altru database builds up people nobody expects to hear from again: the visitor who bought one ticket in 2017, the member who moved across the country, the donor who passed away, the record someone created twice at the front desk. Leave them alone and they clutter your queries, skew your counts, and occasionally get a renewal letter they should never have received. Delete them and you lose revenue history you will want later.
The fix is not a single “inactive” switch. It is a short policy that sorts people by why they’re inactive, because each reason calls for different handling in Altru.
Start by defining what “inactive” means at your organization
“Inactive” usually covers at least five different situations. Lumping them together is where most cleanup projects go wrong.
- Deceased. The person has died. You never want to mail or email them again, but their giving and membership history still matters for reporting and for the surviving household.
- Duplicate. The record isn’t a real separate person at all. It should be merged into the correct record, not flagged.
- Do not contact. The person is alive and may still visit, but has asked not to receive mail, email, or calls.
- Unreachable. Bad address, bounced email, no phone. They may still be a fan, you just can’t reach them.
- Disengaged. No ticket, membership, or gift in some number of years. Nothing is wrong with the record; they just haven’t been back.
Only the last group is really “inactive” in the everyday sense, and it’s the one most likely to come back. Treat it gently.
How to handle each group in Altru
Deceased constituents
Altru has a way to mark an individual as deceased on the constituent record, and that’s the right tool here. It keeps the history intact and should keep the person out of most communications. Before relying on it, confirm in a test that a deceased record actually drops out of the specific queries and mailing lists your team uses, and decide what happens to an active household membership when one member passes. That second question is a policy call, not a software one, and it is worth writing down before it comes up at the desk.
Duplicates
Don’t mark a duplicate inactive and move on. Two records for the same person split their history, which means a loyal ten-year member can look like two occasional visitors. Merge the duplicate into the record you want to keep, after checking which one has the correct address, email, and membership. Merging is usually not reversible, so review pairs carefully and work in small batches.
Do not contact
Use Altru’s communication preference settings (often called solicit codes in Blackbaud products) rather than a homemade attribute. The point is that every mailing and email query should already exclude these preferences, so the person stays protected no matter who builds the list. If your current queries don’t filter on them, fix the queries; a flag nobody filters on does nothing.
Unreachable
Mark the specific bad contact point, not the whole person. An invalid email should be marked invalid or removed, and a returned mailing address flagged, while the constituent stays fully active. That person may walk up to the ticket window next month and give you a new email.
Disengaged
For people who simply haven’t been back, most organizations use a constituent attribute or code (something like “Lapsed 5+ years”) applied by a query on last transaction date. That lets you exclude them from routine mailings to save postage, or target them deliberately with a win-back campaign. If you’re unsure whether your Altru setup supports a built-in inactive status for constituents, check with Blackbaud support or test in a sandbox before designing around it. An attribute you control is a safe fallback either way.
Why deleting is almost never the answer
It’s tempting to delete old records to “clean up,” but deletion removes the revenue, membership terms, and visit history tied to that person. Year-over-year reports change, member-since dates disappear, and if the person comes back you’re starting from scratch. Many Altru databases also block deleting constituents who have transactions attached, which is a hint about how Blackbaud expects this to be handled. Reserve deletion for true junk: test records, obvious garbage entries, and records with no history at all.
Make it repeatable
- Write the definitions down. One sentence per category, with the exact field or code used for each.
- Build one saved query per category so anyone can see how many records fall into it and spot-check them.
- Add exclusions to your standard mailing and email queries once, so new lists inherit them automatically.
- Re-run the disengaged query on a schedule. Once or twice a year is plenty for most organizations, and remove the code from anyone who has transacted since.
- Train desk staff on the duplicate problem. Searching before creating a new constituent prevents more cleanup than any after-the-fact process.
Where Social Good fits
Duplicates are the category that grows fastest and is hardest to spot by eye, especially when the same person uses a different email online than at the desk. Deduper finds and helps fix duplicate constituent and email records in Altru, so the merge step above isn’t a manual hunt. Everything else in this policy can be handled with Altru’s own records, preferences, and queries.
Quick answers
Should lapsed members be marked inactive?
Not right away. A lapsed member is your best renewal prospect. Most organizations wait several years without any transaction before tagging someone as disengaged.
Will flagging someone remove them from my counts?
Only if your queries and reports filter on that flag. Review the reports your board sees and decide whether each should include or exclude each category.



