Bulk Delete or Inactivate Constituents in Altru
← Back to Blog

How to Delete or Inactivate Many Constituents at Once in Altru

October 31, 2026

Sooner or later every Altru database picks up a pile of constituent records nobody wants: a test import that went sideways, years of one-time ticket buyers with no email, records created twice by a web form. The natural instinct is to select them all and hit delete. Altru doesn’t make that easy, and there are good reasons to slow down before trying.

Here’s what is realistic, what to do instead of deleting, and how to work through a large list without damaging your revenue history.

The short version

  • Deleting constituents in Altru is generally a one-record-at-a-time action, and a record with revenue, memberships, or other transactions attached usually can’t be deleted at all.
  • Inactivating or flagging records is the safer goal for most cleanups, and it can be done at scale with some planning.
  • A big share of “records we want gone” are actually duplicates, which should be merged, not deleted.

Blackbaud adjusts what Altru can do in bulk over time, so if you need a definitive answer for your version, test in a sandbox or ask Blackbaud support whether a global change or import option currently covers constituent deletion or inactivation.

Why Altru resists mass deletion

A constituent record is the anchor for everything tied to that person or organization: gifts, ticket orders, membership history, households, relationships, communications. Deleting the record would orphan or remove that history, which breaks revenue reports and audit trails. That’s why records with financial activity are protected, and why bulk deletion isn’t a casual tool.

The records you can safely delete tend to be the ones that never had activity: bad imports, test entries, and blank shells. Those are also the easiest to find with a query.

Sort the list before you touch anything

Build a constituent query for the records you think you want to remove, then split the results into three groups. Each group gets a different treatment.

1. Duplicates of a real person

Same name and email, or same name and address, as another record. Don’t delete these. Merge them into the record you want to keep so their tickets, gifts, and membership history consolidate in one place.

2. Real people you no longer want to contact

Lapsed buyers, deceased constituents, people who asked to be removed from mailings. These should stay in the database because they have history. Mark them inactive or deceased where appropriate, and set communication preferences or solicit codes so they drop out of marketing lists.

3. Records with no history at all

Test records, junk from a botched import, entries with no revenue or transactions. These are the true deletion candidates. Add query output fields for revenue count, membership, and order history so you can prove each one is empty before removing it.

Inactivating a large group

Clicking into hundreds of records to mark them inactive is slow, so look for a bulk path first:

  1. Check for a global change or update import. Depending on your version and permissions, there may be a way to update a field across a selection of constituents. Confirm in a sandbox before running it on live data, because these changes are hard to reverse.
  2. Use a constituent attribute as a flag. If a native inactive field can’t be updated in bulk, an attribute such as “Archive – do not contact” can often be added through an import. Then exclude that attribute from every marketing query and selection.
  3. Save the query as a selection. Keep the list you acted on as a static selection with a date in the name. If someone asks in six months why a record was inactivated, you’ll have the answer.

Whichever route you choose, export the full list with constituent IDs before you start. That spreadsheet is your undo button.

Deleting the records that really should go

For the “no history” group, deletion is typically done from each constituent record. That’s tedious but manageable for a few dozen records. If you’re looking at thousands, such as a whole bad import, contact Blackbaud support before you begin. They can tell you whether there’s a supported way to reverse or clean up an import and what it will and won’t touch.

A few habits that save pain:

  • Have one person own the cleanup so two staff aren’t deleting from the same list.
  • Re-run the query right before deleting. A “blank” record may have picked up a ticket order since you built the list.
  • Do it outside of high-traffic sales periods so you aren’t competing with front desk and web activity.

Keeping the pile from growing back

Most junk records come from the same few places: web checkouts that create a new constituent instead of matching an existing one, walk-up sales entered under a new name, and imports without matching rules. Review your duplicate-matching settings for web forms and imports, and run your “empty record” query on a schedule, monthly or quarterly, so the cleanup stays small.

Help with the duplicate group

In most databases the duplicate group is the largest of the three, and it’s the one that’s hardest to work through by hand. Social Good’s Deduper finds duplicate constituent and email records in Altru and helps you fix them, which shrinks the list you’d otherwise be tempted to delete.

Quick answers

Can I delete a constituent who bought a ticket?
Generally no. Records with transactions are protected so revenue history stays intact. Inactivate or flag them instead.

Will inactivating a constituent remove them from my email lists?
Not automatically in every case. Make sure your marketing queries and selections filter out inactive or flagged records, and check that any tool syncing from Altru uses those same filters.

Continue reading

How to Track Instructor Activity for Scheduled Programs in Altru

How to Track Instructor Activity for Scheduled Programs in Altru

“How many classes did Maria teach last spring, and which ones?” It sounds like a question Altru should answer in ten seconds. In practice, many education departments end up digging through calendars, email threads, and a payroll spreadsheet to piece it together, because the instructor was never recorded anywhere a query could find. Altru is

How to Turn a Group Sales Overpayment Into a Donation in Altru

How to Turn a Group Sales Overpayment Into a Donation in Altru

A school books a field trip for 60 students, sends a check for the full quote, and then 48 kids show up. The teacher says, “Keep the difference, it’s a gift.” Now you have a group sales order that is overpaid, money that is really a donation, and a deposit that has to balance. The

Can a Spouse Be a Fundraiser in Altru? Solicitor Credit for Couples

Can a Spouse Be a Fundraiser in Altru? Solicitor Credit for Couples

It happens more often than you’d expect. A board member and her husband both care about your capital campaign. She asks a friend for a gift, but it was really his introduction and his follow-up phone call that closed it. Development wants him credited as the fundraiser on that gift. Then someone at the desk

Social Good platform

See it in action

Get started with Social Good

Book a demo to see Social Good Software in action for Altru.

Book a Demo
Social Good platform

See Social Good in action

Tell us a bit about your organization and we’ll take you straight to short demo walkthroughs of the software.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.