The education coordinator wants to know the moment someone books the summer camp online. Development wants a heads-up whenever a board member or major donor buys tickets, so someone can say hello at the gate. Both are reasonable asks, and both come down to the same thing: “tell me when this sale happens, not every sale.”
Altru is good at recording those sales. It’s less obvious how to get a person notified about them. Below is how to think about the problem, what you can build with standard Altru tools, and where the gaps are.
Two different alerts that sound like one
Before building anything, separate the two kinds of alert, because they’re filtered differently:
- Program-based alerts. “Email me when anyone buys the overnight program, the members-only lecture, or a camp session.” The trigger is what was sold.
- Constituent-based alerts. “Email me when any of these 40 people buys anything.” The trigger is who bought it.
Some teams want both combined, like “tell me when a trustee books the gala dinner.” That’s fine, but build and test each filter separately first. Combined criteria are where alerts quietly stop matching anything.
What to expect from Altru out of the box
Altru web forms can send confirmation emails to the buyer, and depending on how your forms are set up, some organizations also route a copy to a staff inbox. That gets you an email for every sale on that form, which works if a program has its own dedicated form and low volume. It doesn’t help when one form sells many programs or when the trigger is the buyer’s identity.
We’re not aware of a built-in setting that sends a staff email only when a particular program or a particular constituent appears in a sale. If you think your version has one, check with Blackbaud support or test in a sandbox before planning around it. In practice, most teams solve this with queries and a routine.
Build the query that defines the alert
Whatever ends up sending the notice, the logic lives in a query. Get that right first.
For a specific program
- Start a query on sales or revenue that can see program or event detail along with the transaction date and sales channel.
- Filter to the program (or programs) you care about. Use the program itself rather than a price type name, since price types tend to get renamed and reused.
- Filter to online sales if that’s all the requester wants. Advance sales and group sales entered by staff usually don’t need an alert, because a staff member already knows about them.
- Add a date filter for “since yesterday” or “today” so the results only show new activity.
- Output the buyer’s name, contact info, program, date and quantity: whatever the recipient needs to act without opening Altru.
For specific constituents
- Decide how you’ll mark the people you care about. A constituent attribute (for example, “VIP alert”) is easier to maintain than a hand-picked selection, because anyone with the right access can add or remove it on the record.
- Build the sales or revenue query with a filter on that attribute and the same recent-date filter.
- Think about households. If a trustee’s spouse buys the tickets, does that count? If so, you’ll need to include household members or mark both people.
Run each query against a past month of real sales. If it returns nothing, or returns half your visitors, fix the filter before anyone relies on it.
Getting the result to a person
A query nobody looks at isn’t an alert. Without additional tools, the realistic options are:
- A named daily check. Save the query, give it an obvious name, and assign one person to run it each morning and forward anything that shows up. It’s manual, but it’s dependable when it’s on someone’s task list.
- Use it as a selection for staff follow-up. Turn the query into a selection so the same group can feed a call list or a mailing without being rebuilt.
- Put it in front of the right people. If your team uses Altru dashboards or saved reports, surface the query results there so the requester can check without asking someone else.
Be honest with the requester about timing. A morning check means “you’ll know by tomorrow,” not “you’ll know when they click buy.” For most programs and VIP greetings, next-day is enough. For something like a same-day private tour, it may not be, and you might need a dedicated form with its own staff notification instead.
Small things that break alerts
- Refunds and exchanges. Decide whether a refunded sale should still alert. Usually it shouldn’t, so filter on status if your query allows it.
- Duplicate constituent records. If your major donor has two records and only one carries the VIP attribute, sales on the other record never match.
- Program changes. When next season’s camp is set up as a new program, the old filter won’t catch it. Put a review of alert queries on the same checklist you use when building a new season.
- Too many alerts. If the result list is long every day, people stop reading it. Narrow the filter rather than accepting the noise.
Where Social Good fits
The manual step is running the query and sending the email. Email Designer sends automated, branded emails from Altru queries without manual exports, so the filtering work above carries straight over. If you want to use it for staff-facing notices as well as guest emails, talk with us about your specific setup first.
Quick answers
Can I get an alert the instant a sale happens?
Not reliably with queries alone, since they show results when someone runs them. A dedicated web form with its own staff notification is the closest native option for a single program.
Should I flag VIPs with an attribute or a selection?
An attribute. It lives on the constituent record, it’s visible to staff, and adding someone doesn’t require editing the query.



