Automate User-Defined Constituencies in Altru
← Back to Blog

How to Automate User-Defined Constituency Codes in Altru

October 31, 2026

Altru keeps some constituencies up to date for you. When someone buys a membership, makes a gift, or is set up as a volunteer, the record tends to pick up the matching system constituency without anyone touching it. The labels you create yourself are a different story. “Teacher,” “Press,” “Corporate Partner,” “Docent,” “Field Trip Contact”: those are user-defined, and in most databases someone has to add and remove them by hand.

That’s why user-defined constituencies drift. A teacher who booked a school visit three years ago still carries the code. A board member’s spouse got it by accident. A new press contact never got it at all. This article covers what you can realistically automate, what you can’t, and how to set things up so the codes stay trustworthy.

The honest starting point

As far as we know, Altru doesn’t offer a rule engine that says “when X happens, add user-defined constituency Y.” System constituencies are driven by the underlying records (a membership, a gift, a volunteer record). User-defined ones are just labels with optional start and end dates, and nothing in the record tells Altru when to apply them.

Blackbaud does update Altru, so if this matters to your team, confirm the current behavior with Blackbaud support or test it in a sandbox before you build workarounds. Ask specifically whether constituencies can be added in bulk through import or another batch process in your version, because that answer shapes everything below.

First question: does it need to be a constituency?

Many user-defined constituencies are really just the answer to a query. “Field Trip Contact” usually means “this person booked a group or school visit in the last two years.” If that’s the definition, you don’t need a stored code at all. You need a saved query.

A query recalculates every time you run it, so it never goes stale. Some good candidates for replacing a static code with a query:

  • Group and school contacts, based on group sales history.
  • Lapsed members, based on membership expiration dates.
  • Repeat visitors, based on ticket purchase history.
  • Event attendees, based on registrations.

If you also want the value visible on the record or available in other queries, look at smart fields. They calculate a value from existing data on a schedule, which gets you close to “automatic” for anything that can be derived from transactions.

Keep true user-defined constituencies for relationships Altru can’t see in the data: press, vendors, elected officials, partner organizations, staff, and VIPs. Those labels need a human decision anyway.

For codes you keep, make the adding part reliable

Since the labels can’t apply themselves, the goal is to make adding them part of a routine instead of something people remember to do.

Tie each code to an owner and a trigger

Write down, for each user-defined constituency, who adds it and at what moment. “The group sales coordinator adds Field Trip Contact when a school booking is confirmed.” “Marketing adds Press when someone is added to the media list.” A code with no owner is a code that slowly rots.

Use a recurring exception query

This is the closest thing to automation most teams get. Build a query that finds records that should have the code but don’t. For example: constituents with a school group booking in the past year who don’t carry the Field Trip Contact constituency. Run it on a schedule (monthly works for most organizations) and work the list. Then build the reverse query: records that carry the code but no longer meet the definition.

Add in bulk where you can

If your Altru setup allows constituencies to be added through import or another batch process, the exception query becomes the input file. Export the IDs, add the constituency in one pass, and spot-check a handful of records afterward. If bulk adding isn’t available to you, the exception list still turns a vague cleanup project into a defined, finishable task.

Use dates so codes expire on their own

User-defined constituencies can carry a start and end date. This is the most underused part of the feature. If a teacher relationship is only meaningful for two school years, give the constituency an end date when you add it. Your queries can then filter to active constituencies only, and stale codes stop polluting your mailing lists even if nobody remembers to remove them.

The same goes for board terms, advisory committees, and annual sponsors. An end date set at the time of entry is far easier than a cleanup project later.

Clean up what’s already there

Before automating anything, look at the current state:

  1. List every user-defined constituency and how many records carry each one.
  2. Retire codes nobody can define or nobody uses. Fewer codes means fewer to maintain.
  3. For each remaining code, write a one-line definition and decide whether it should become a query instead.
  4. Check for duplicate constituent records. A person split across two records will look like they’re missing a code on one of them, which skews every exception list you build.

Quick answers

Can a web form purchase add a user-defined constituency?
We’re not aware of a native way to do this. Test it in a sandbox or ask Blackbaud support for your configuration. The dependable route is to identify those buyers by query afterward.

Should I end-date or delete old constituencies?
End-date them. That keeps the history (“was a docent from 2019 to 2023”) while keeping them out of current lists.

How often should the exception queries run?
Match it to how often the lists are used. If marketing pulls the Press list weekly, check it weekly. For most other codes, monthly is plenty.

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.