Count Visits per Constituent in Altru
← Back to Blog

How to Count Visits per Constituent in Altru (and Trust the Number)

October 31, 2026

“How many times has this person visited?” sounds like one number. In Altru it can be three or four different numbers depending on what you count, and the first query most people build usually answers a slightly different question than the one they were asked. Before you open the query tool, decide what a visit is at your organization.

Step one: define “visit”

Altru doesn’t keep a single running visit counter on the constituent record. Instead, a visit leaves a trace in one or more places, and each one counts differently:

  • Orders. One purchase of admission, whether at the desk (daily sales) or ahead of time (advance sales or online). A family of five on one order is one visit by this measure.
  • Tickets. Each admission line on an order. That same family is five tickets, which tells you about attendance but not about how often the household comes back.
  • Membership check-ins or scans. If members show a card instead of buying a ticket, their visits may only appear as scans or zero-dollar transactions, depending on how your desk processes them.
  • Distinct visit dates. One person who buys a timed ticket in the morning and a separate add-on in the afternoon might generate two orders on the same day. Most people would call that one visit.

For loyalty, member engagement, or donor prospecting, distinct visit dates per constituent is usually the most honest number. For capacity planning, tickets matter more. Write your definition at the top of the query’s description so the next person knows what it measures.

Step two: check whether the visits are attached to anyone

This is where many counts quietly fall apart. A visit only counts toward a constituent if the transaction is linked to that constituent record. Walk-up sales processed without looking up the guest are anonymous, so they never show up in a per-constituent total.

Before trusting any number, pull a sample of recent admission orders and see what share have a constituent attached. If it’s low, your visit counts reflect your staff’s lookup habits more than your guests’ behavior. Online sales and member transactions tend to be linked; walk-up cash sales often aren’t.

Duplicates cause the opposite problem. If the same person exists as two constituent records, their visits get split between them and each record looks like an occasional guest. Clean up obvious duplicates before you report on loyalty.

Step three: build the query

The general approach in Altru’s query tool:

  1. Start from the right source. If you want one row per person with a count, start from a constituent-based query and pull in sales or order fields. If you’d rather count in a spreadsheet afterward, start from a sales-order-based query and include the constituent’s lookup ID and the order date.
  2. Filter to admission activity. Limit to the program or revenue types that represent a visit. Leave out donations, store items, and membership purchases unless they also mean the person came through the door.
  3. Set a date range. “Visits ever” is rarely useful. A rolling twelve months or a fiscal year gives you a number you can compare over time.
  4. Count. Depending on how your query views are set up, you may be able to use summary or count options on the output fields to get one row per constituent with a total. If the count option isn’t available for the field you need, or you need distinct dates rather than orders, export the order-level rows and count in a spreadsheet.

The exact fields available differ between Altru databases and depend on which query views your organization uses. If you can’t find a field that ties orders back to constituents the way you expect, build a small test query against a constituent you know well and check the results by hand. Blackbaud support can also confirm which view is the right starting point.

Counting distinct dates in a spreadsheet

With one row per order (lookup ID, name, order date), remove duplicate rows on lookup ID plus date, then use a pivot table with lookup ID as rows and a count of dates as the value. That gives you visits per person under the “distinct dates” definition, and the pivot makes it easy to bucket guests into one-time, occasional, and frequent visitors.

Getting the count back onto the record

A number in a spreadsheet is useful for a report. It’s less useful to the membership manager looking at a single constituent. Some options:

  • Smart fields. Altru’s smart fields can calculate values like counts or totals across a constituent’s revenue. Whether one can match your exact visit definition depends on what you’re counting; test it against your query results before relying on it.
  • Constituent attributes. If you calculate the count outside Altru, you can store it as an attribute and update it on a schedule. Just note it’s a snapshot, not a live value.
  • Saved selections. Even without storing the number, a selection like “3+ visits in the last 12 months, not a member” is a strong list for a membership conversion campaign.

Keeping it current

Visit counts go stale quickly, and re-running an export every month gets dropped when the season gets busy. Social Good’s Data Bridge syncs Altru query results to Google Sheets and tools like Mailchimp or ActiveCampaign, so an order-level visit query can feed a pivot sheet or a “frequent visitor” email segment without manual exports. The definition and query work above still has to come first.

Quick answers

Why does a member show zero visits when I know they come often?
Their visits are probably recorded as membership scans or not recorded at all, rather than as admission orders. Check how your desk handles member entry before counting.

Should I count by household or by individual?
For admission, households are often more accurate, since one adult usually buys for the group. If your orders are attached to individuals, consider rolling counts up to the household for loyalty reporting.

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.