Track Which Letter Each Constituent Received in Altru
← Back to Blog

How to Track Which Letter Each Constituent Received in Altru

October 22, 2026

A donor calls and says, “I got two letters from you this month and they asked for different amounts.” Can you see which two? In a lot of Altru databases the honest answer is no. The mailing list went out of a query, someone did a mail merge in Word, the envelopes went to the printer, and the only trace left is a spreadsheet on a shared drive.

Good direct mail tracking in Altru doesn’t take anything fancy. It takes deciding where the history should live on the constituent record, and then making the “write it back to Altru” step part of every mailing instead of an afterthought.

First, figure out where your letters are actually produced

How you track depends on how the letter gets made. Most organizations have a mix of these:

  • Mailings run inside Altru’s marketing and communications tools (appeals, segments, mailings). These may keep some history of who was included. Before you build a workaround, open a test constituent who was in a recent mailing and see what Altru shows. If you’re not sure what your version records, test it in a sandbox or ask Blackbaud support rather than assuming.
  • Acknowledgment and receipt letters tied to revenue. These are usually linked to a gift, so the question is less “did they get one” and more “which version did they get.”
  • Exports and mail merges done outside Altru: a query exported to Excel, merged in Word or sent to a mail house. Altru has no idea these happened unless you tell it. This is where most of the gaps come from.

The rest of this article is mostly about that third group, because it’s the one that leaves constituent records blank.

Pick one place on the record to store letter history

There are two common choices. Either works; what matters is that everyone uses the same one.

Option 1: Interactions

Logging an interaction (a contact record) on each constituent is the most natural fit. It shows up where staff already look for contact history, it has a date, and it can carry a type or category plus a short summary like “Spring Appeal 2026, Letter B (lapsed donors).” The downside is volume: you’ll be adding one row per person per mailing, so you need a bulk method rather than typing them in.

Option 2: A constituent attribute

A dated attribute with a code table of letter names (for example, Spring26-A, Spring26-B) is easy to query and easy to report on. Make sure the attribute allows multiple values per constituent, otherwise each mailing overwrites the last one. Attributes are less visible to front-line staff than interactions, so if your development officers mostly read a constituent’s contact history, lean toward interactions.

Give every letter version a code before it goes out

“Which letter” usually means “which version.” If the spring appeal had a members’ letter, a lapsed-donor letter, and a general letter, those need three distinct codes, decided before the merge. A simple naming pattern helps:

  • Campaign or appeal name
  • Year or season
  • Version letter or audience

Add that code as a column in the export file itself, so the version each person got is recorded at the moment the list is split, not reconstructed later from memory.

Write the list back into Altru after every mailing

This is the step that gets skipped. A workable routine:

  1. Freeze the list. Queries change as records change, so save the final mailing list as a static selection or keep the exact export file, with constituent lookup IDs and the letter code on every row.
  2. Import the history. Use Altru’s import tools to add an interaction or attribute for each row. Confirm which record types your import supports before the first big mailing; run a test import of five or ten people and check their records.
  3. Remove the people who didn’t get it. If the mail house dropped bad addresses or the printer pulled duplicates, take them out before importing, or your history will claim letters that never went out.
  4. Spot check. Open a handful of records from different versions and make sure the right code landed on the right person.

Put a named person on step 2. If it’s “whoever has time,” it won’t happen.

Connect letters to the money that comes back

Knowing who received a letter is half the picture; knowing what it raised is the other half. Put the appeal or a source code on the reply device and make sure gift entry uses it, so revenue is tied to the same appeal and version. Then a single query can show, by letter version, how many went out and how many people gave. That comparison is usually what people are after when they ask about tracking letters.

What about everything mailed before now?

If old export files are still on the shared drive, they can be imported the same way, as long as they have constituent IDs. If they only have names and addresses, matching them is slow and error-prone; it’s often better to start clean from this season and note on the old files where they live. Don’t backfill from guesswork.

Quick answers

Can a query show every letter a constituent received?
Yes, once the history is stored as interactions or attributes. A constituent query filtered on that field, with the date and letter code as output columns, gives you the full list. For letters produced outside Altru, there’s nothing for a query to find until you add that history.

Should I log email sends the same way?
Keep print letters as the priority. If your email tool sits outside Altru, decide separately whether email history belongs on the record or stays in that tool, and be consistent.

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.