Altru Query for Digital Membership Cards: Setup Guide
← Back to Blog

How to Build an Altru Query That Feeds Digital Membership Cards

July 10, 2026

A digital membership card is only as good as the query behind it. If the query pulls the wrong expiration date, skips the second adult on a household membership, or still includes people who lapsed last spring, members get cards that are wrong. Front desk staff then have to sort it out with a line waiting behind them.

This guide covers how to plan and build an Altru query that feeds wallet cards cleanly: which query type to start from, what one row should represent, which fields to output, and the edge cases to test before you turn on automatic updates.

Decide what one row means before you open the query designer

This decision shapes every other choice in the build, and it is easy to skip. A wallet card belongs to a person, but in Altru a membership can cover several people. Before choosing fields, settle on one of these:

  • One row per member (card holder). Every named person on a membership gets their own card. This is the usual choice for households and dual memberships, because each adult wants a card on their own phone.
  • One row per membership. Only the primary member gets a card. It is simpler, but expect the second adult to ask why they don’t have one.

Whichever you pick, the row needs a stable, unique identifier that does not change at renewal. If that identifier changes every year, your card platform may issue a brand-new card instead of updating the existing one, and members end up with two passes in their wallet.

Start from a membership-based query

Build from a membership-oriented query source rather than a general constituent query. A membership source gives you program, level, status, and dates directly, and you can then reach out to the constituent for name and contact details. Starting from constituents and reaching into memberships tends to produce duplicate rows when someone has an old membership and a current one.

If you aren’t sure which query source in your Altru setup exposes individual members versus the membership itself, build a small test query against a household you know well and compare the row count to what you expect. It is a quick check and saves a lot of guessing.

The fields most card platforms need

Each wallet card provider defines its own required columns, so check their import spec first. In practice the list usually looks like this:

  1. Unique member identifier, the stable key described above.
  2. Barcode value. This must be whatever your scanners already recognize as a valid membership at the door. Confirm it with whoever manages admissions before going live, and scan a test card.
  3. First and last name as they should appear on the card.
  4. Email address, used to deliver the “add to wallet” link.
  5. Membership program and level, so the card can show the right tier and, often, a different design per level.
  6. Expiration date of the current term.
  7. Status, if the platform uses it to mark cards expired or inactive.

Keep column names and formats consistent once you go live. Renaming a column or changing the date format later is a common reason for a sync that quietly stops updating.

Filters that keep the list honest

Start narrow and widen only after testing:

  • Include active memberships. Decide on purpose whether recently lapsed members stay in the feed so their card can flip to “expired,” or drop out entirely. Each card platform handles a missing row differently, so ask yours what happens.
  • Think about renewals that are paid but not yet started. If a member renews early, you want the card to show the new expiration, not a status that briefly reads as expired.
  • Exclude records with no email if your platform can’t deliver without one, but keep a separate list of them so staff can collect addresses at the desk.
  • Exclude deceased constituents and anyone flagged as do-not-contact, in line with your organization’s communication rules.

Test with the records that usually break things

Before you schedule anything, pull a dozen known members and check each row by hand:

  • A household or dual membership with two named adults
  • A member who upgraded mid-term
  • A gift membership where the purchaser and recipient are different people
  • Someone who renewed early, and someone who renewed after lapsing
  • A member with a duplicate constituent record

Duplicate records cause most of the surprises here. Two constituent records for one person can mean two cards, or a card tied to the record with the old email address. Cleaning duplicates before the first full send is far easier than recalling cards afterward.

Keeping it automatic

The point of the query is that nobody has to export a spreadsheet every Monday. Save it as a shared query, give it a clear name that says it feeds wallet cards, and add a note warning colleagues not to edit the output columns without checking with you first. Many accidental breaks come from someone adding a column for an unrelated report.

How the data actually reaches the card platform, whether through a direct connection, a scheduled export, or a sync tool, depends on the vendor. If you’re unsure what your Altru environment supports for scheduled or external access, ask Blackbaud support before you commit to a design.

Video walkthrough

The two videos below cover related setup for digital membership cards with Altru.

Where Social Good comes in

Social Good’s Digital Membership Cards provide Apple Wallet and Google Wallet membership cards for Altru members. The query planning above still applies: knowing what one row represents, which barcode your scanners read, and how renewals should appear makes any wallet card rollout go more smoothly.

Quick answers

Should second household members get their own card?
Usually yes. Build the query at the member level so each named adult has a row, and confirm each one has their own email address.

Will cards update when a member renews?
Only if the query reflects the new expiration and the unique identifier stays the same across renewals. Test with an early renewal before you go live.

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.