Every Altru database builds up attributes nobody uses anymore: a “2019 Gala Table Captain” category, a volunteer interest list from a program that ended, a survey field someone added for one mailing. They still show up in the attribute picker on constituent records. Staff keep scrolling past them, and every so often someone picks one by mistake.
The natural move is to retire the whole attribute category and its code table in one step. In practice, Altru handles retirement at the level of individual code table entries, not the category itself. Here’s what you can actually do, and how to get close to “inactive” for a whole table.
What Altru lets you inactivate
For an attribute category that uses a code table (a dropdown list of values), each value in that table can generally be marked inactive. An inactive value stays on any records that already have it, so your history and reporting stay intact, but it stops appearing as a choice when someone adds a new attribute.
The attribute category itself is a different story. We aren’t aware of a native switch that hides a whole category from the attribute list while keeping its data. If you think your version may have one, check it in a sandbox or ask Blackbaud support before you plan around it. Assume for now that you’ll be working with the entries and the category name.
Retiring a category, step by step
1. Find out who’s still using it
Build a constituent query filtered on the attribute category, and output the value, start and end dates, and the date added. That tells you whether the category is truly dead or whether one department still adds to it every month. Check with that department before you change anything.
2. Check what depends on it
Search your saved queries, smart fields, reports, and export definitions for the category. An attribute that looks abandoned on records can still drive a mailing list or a board report. Inactivating entries won’t break existing records, but anything built to pull “people who have value X” may quietly start returning fewer rows if staff can no longer add that value.
3. Inactivate every entry in the code table
Open the code table behind the category and mark each value inactive. Once nothing in the list is active, staff have nothing to select, so new data effectively stops. Existing attributes on constituent records stay put.
4. Rename the category so it reads as retired
Because the category name will likely still appear in the list, make it obvious. A prefix such as “ZZ Retired – “ sorts it to the bottom of most alphabetical lists and tells anyone who sees it not to use it. Update the description too, with the date and the reason, so the next administrator knows it was retired on purpose.
5. Delete only if it’s truly empty
If your query in step 1 returns nothing and no queries or reports reference the category, deleting it is the cleanest option. Altru typically won’t let you delete a category or value that’s in use, which is a useful safety net. If there is data you want to keep, don’t delete: export it first, or simply leave the retired category in place.
What about categories that aren’t code tables?
Attribute categories built on free text, dates, numbers, or yes/no have no list of values to inactivate. For these, your options are renaming, updating the description, and deleting once the data is no longer needed. If the information still matters, consider exporting it to a spreadsheet for safekeeping before you remove the category.
Keeping the attribute list from growing back
Retiring old categories is half the job. The other half is making sure new clutter doesn’t pile up behind them:
- Name one owner for attribute categories, usually the database administrator, and route new requests through them.
- Ask “will we report on this?” before adding a category. If no one will query it, a note on the record may be enough.
- Use end dates on attributes that only apply for a season or campaign, so records show the value was time-bound.
- Review the list once a year, with the same usage query from step 1, and retire anything with no new entries in the past twelve months.
- Keep a simple log of what was retired, when, and why. It saves someone a lot of digging later.
Quick answers
Will inactivating a value remove it from constituent records?
No. Inactive values remain on the records that already have them and still appear in queries. They just can’t be selected for new entries.
Can I reactivate a value later?
Generally yes, by marking it active again in the code table. Test it in your sandbox first if you plan to do this often.
Is there a way to hide a whole category without deleting it?
Not that we know of as a single setting. Inactivating every entry plus a clear “Retired” name is the practical workaround. If hiding categories matters a lot to your team, confirm current options with Blackbaud support.



