A family buys a Household membership with a parking pass and two guest passes added on. The card they get in the mail shows their name, level, and expiration date, and nothing about parking. Then the gate attendant has to look them up every time they arrive. The add-on was sold and paid for in Altru, but it never made it onto the card.
In our experience, the membership card output centers on the membership itself: who the cardholders are, what level they hold, and when it expires. Add-ons are recorded with the membership, but they typically don’t come through in the card file, and its columns aren’t something you can easily extend. Verify this against your own file before relying on it. Below is how to get the add-on information (and other fields you need) onto printed cards without retyping anything.
First, confirm what your card file actually contains
Before building a workaround, run a card export for a handful of test memberships that you know have add-ons, and open the file in a spreadsheet. Note three things:
- Which columns you get. Cardholder names, membership level, dates, and some form of membership or constituent ID are typical.
- Whether any add-on data appears at all. If it does in your setup, you may only need to adjust your print template.
- Which column uniquely identifies the membership. This is the key you’ll use to bring in everything else. A membership ID or lookup ID is best; a name is not good enough, because households share names and people share surnames.
If you aren’t sure whether a field can be added to the card file through configuration in your version of Altru, ask Blackbaud support before you build around it. It’s a short question and can save you a recurring manual step.
The workaround: a second file joined on the membership ID
If the card file can’t be changed in your setup, treat it as one half of the data and build the other half yourself with a query.
1. Build a membership query for the missing details
Create a membership query that returns the same identifier your card file uses, plus the add-on information you want printed: the add-on name, quantity, and anything else that matters at the door. Limit it to the memberships in your current card batch, for example by transaction date range or by the same selection criteria you use to pick memberships for printing.
Add-ons can come back as multiple rows per membership (one row per add-on). Decide now how you want them on the card. Usually that’s a single line such as “Parking, 2 Guest Passes,” so plan to combine rows in the next step.
2. Merge the two files
Put the card export and the query results in the same workbook. Use a lookup on the membership ID to pull the add-on text into a new column of the card file. For memberships with no add-ons, have the formula return a blank, not an error, so the card prints cleanly.
3. Point your print template at the merged file
Whether you print in-house with a mail merge or send a file to a card vendor, give them the merged version and add the new column to the card layout. Test with a membership that has several add-ons and one that has none, and make sure long add-on names still fit on the card.
Other fields people want on the card
The same approach covers more than add-ons. Common extras include:
- A “member since” year for recognition
- A barcode value that matches what your scanners read
- Number of admissions or guests included at the level
- A household label different from the primary cardholder’s name
- A short benefit note, such as reciprocal program participation
If the value lives somewhere in Altru that a query can reach, including smart fields, you can usually bring it in by the membership ID. If it doesn’t live in Altru, fix that first. Keeping it in a side spreadsheet means it will drift out of date.
Keeping it from becoming a manual chore
The weak spot here is the copy-and-paste step. A few habits help:
- Save the query and the workbook as a template. Each batch you paste in the new card file and the new query results, and the formulas do the rest.
- Use the same date range for both files. Pulling the card file one day and the query the next is an easy way to end up with memberships that appear in one file but not the other.
- Spot-check before sending to print. Sort by the add-on column and scan for memberships you know should have one. A blank where there should be text usually means an ID didn’t match.
- Write down which add-ons print. Not every add-on belongs on a card. Agree with your membership and front-of-house staff on which ones matter at the door, and filter the query to those.
Cutting out the export step
If the query half of this is the part your team keeps redoing, Data Bridge can sync an Altru query to Google Sheets. With the add-on query feeding a sheet directly, the lookup only needs the card file pasted in, rather than a fresh query export for every batch.
Quick answers
Can I just add a column to the Altru card export?
Not in a general way that we can confirm. Check with Blackbaud support for your version. Until then, the query-and-merge approach is dependable.
Why not skip the card file and print entirely from a query?
You can, if your query reproduces everything the card file gives you, including the cardholder logic for households. Many teams keep the card file because it already handles those rules, and add only what’s missing.



