Every Altru database builds up leftovers. There’s an attribute category someone made for a 2019 gala, a “Mailing preference (old)” attribute nobody trusts anymore, or a few thousand notes from a data conversion that just say “imported.” At some point you want them gone. The trouble is that Altru works best one record at a time, and clearing out data in bulk takes more planning than you’d expect.
Below is how to think about bulk removal of attributes and notes, what to confirm before you delete anything, and what to do when there’s no clean bulk option for what you need.
First, be honest about what Altru will let you do
Altru gives administrators plenty of tools for adding and updating data in bulk, such as imports and batches. Bulk deletion is more limited, and what you can do depends on the data type and on your Altru setup and permissions. We can’t promise that your database has a one-step global delete for every attribute category or note type, so check before you plan around it:
- Look in the administration areas you already use for global or bulk processes, and see whether any of them covers attributes or notes on constituent records.
- If you have a sandbox, test there first. A bulk delete you haven’t tested should never run first in production.
- Ask Blackbaud support directly: “Is there a supported way to remove attribute X from every constituent that has it?” Ask the same about notes. Their answer for your version is worth more than any blog post, this one included.
One related limit often catches people: an attribute category usually can’t be deleted while records still use it. In practice you clear the values first, and then retire or delete the category.
Decide whether you really need to delete
Deleting is permanent, so check whether something smaller would solve the problem.
Attributes
If the issue is clutter (staff choosing the wrong category, or old categories showing up in dropdowns and query fields), see whether you can stop the category from being used going forward rather than wiping its history. That might mean restricting it, renaming it with an “OLD -” or “DO NOT USE” prefix, or removing it from the forms staff work in. Renaming is crude, but it’s reversible and you can do it in minutes.
Notes
Notes often hold the only record of a complaint, a major-gift conversation, or a request like “do not contact.” Before you delete a note type in bulk, have someone who knows your development and membership history look at a sample. Conversion junk is safe to remove. Context a gift officer will want in three years is not.
A safe order of operations for bulk removal
- Define the target exactly. Write down the attribute category (and value, if only some values should go) or the note type, plus any date range. “Old notes” isn’t a definition. “Notes of type Imported, dated before the conversion date” is.
- Build a query that returns exactly those records. Use a constituent query and include the attribute or note fields you plan to remove. Check the count against what you expected. If it’s off, fix the criteria now, before anything is deleted.
- Export a backup. Export the query results, including the constituent ID, the attribute or note values, and dates, and save the file somewhere your team can find it. If someone asks next year what a constituent’s old attribute was, this file is your answer.
- Get sign-off. Send the count and a sample to whoever owns that data (membership, development, marketing) and get a yes in writing.
- Run the removal. Use a supported bulk process if Blackbaud has confirmed one. If not, see the next section.
- Re-run the query. It should come back empty. If it doesn’t, find out why before you call the job done.
- Clean up what depended on it. Saved queries, smart fields, reports, and export definitions that referenced the removed attribute can break or quietly return blanks. Search for them and update them.
When there’s no bulk option
If it turns out there’s no supported way to mass-delete what you’re targeting, you still have a few choices:
- Work the query as a list. For a few hundred records, a staff member or volunteer working through a saved query, opening each record and removing the value, is slow but safe. Split the list across people and track progress with a date range or ID range.
- Ask about a data service. For thousands of records, ask Blackbaud whether they offer a scoped cleanup engagement. Get the scope and the backup plan in writing.
- Leave it and filter it out. Sometimes the cheapest fix is to stop the data from showing up: exclude the attribute from queries and reports, rename the category so nobody picks it, and stop adding new values. It’s not tidy, but it carries no risk.
Whatever you choose, record it in your database documentation: what was removed, when, by whom, and where the backup lives.
Stop the next pile from forming
Bulk cleanups usually trace back to a few habits: categories made for a single event, free-text notes used where a coded field would work, and imports that attach a note to every record. A short rule (“new attribute categories need admin approval and an end date”) prevents most of the next round.
Old attributes and notes are often part of a broader data-quality problem, and duplicate constituents are frequently part of the same mess. If you’re already doing a cleanup pass, Deduper from Social Good finds and fixes duplicate constituent and email records in Altru. It won’t delete attributes or notes. It covers the duplicate side of the same cleanup.



