The Zoom lecture ended an hour ago. You have a CSV of 140 attendees from the webinar report, a handful of walk-in names your education coordinator wrote on a legal pad at last month’s garden workshop, and a director who wants all of it “in Altru” so attendance shows up on constituent records and in next quarter’s numbers. The event date is behind you, and Altru’s sales screens are built around dates that are today or later.
There is no single right way to back-enter past registrations. The right approach depends on what you actually need the data to do. Settle that first, then pick the method.
Start with the question: what is this record for?
Before anyone opens a constituent record, decide which of these you need:
- Attendance history on the person. You want to see “attended the March lecture” when you look up a donor or member, and pull lists of past attendees.
- Revenue. People paid (or will be invoiced), and the money has to land in Altru with the right date, designation, and batch.
- Program counts. Leadership or a grant report needs headcounts by program or event.
- Follow-up. You want to email attendees a recording, a survey, or a membership offer.
Most free virtual events only need the first and last items. Paid workshops need revenue handled correctly, and that changes the answer.
Option 1: Add registrants to an event record
If your organization uses Altru’s events area (the kind with invitations and registrants, often used for galas and member events), check whether you can still add registrants after the event date has passed. Behavior can vary with how the event and its registration options are set up, so don’t assume either way. Create a throwaway event dated last week in your sandbox, or on a clearly labeled test event in production, and try adding a registrant and marking them as attended.
If it works, this is usually the cleanest home for free virtual events: one event record per webinar, attendees listed as registrants, and the whole thing queryable later. If registration fees are involved, test that path separately, because adding a paid registration after the fact may create revenue dated today rather than on the event date.
Option 2: Ticketed programs and past dates
Programs sold through daily sales, advance sales, or group sales are a different story. Those workflows are designed to sell admission to a current or future scheduled time, and in many configurations you won’t be able to select a time that has already started. We’d steer you away from the common workaround of temporarily changing the program’s date or time to “reopen” it. That can disturb capacity, reporting on other orders, and any sales already tied to that schedule.
If you truly need these attendees reflected as program sales, call Blackbaud support with the specific scenario and ask what they recommend for your version and setup. For many organizations the honest conclusion is that ticketed programs aren’t the right container for after-the-fact registrations.
Option 3: Interactions or attributes on the constituent
When the goal is simply “show me who attended,” a constituent-level record is often enough and far less fragile:
- Interactions carry a date, a category, and notes, so you can log “Attended: Spring Speaker Series, Zoom” on the actual event date. They show up on the constituent record and can be pulled in queries.
- Attributes work well if you want a consistent, reportable tag, such as an attribute type for “Virtual program attendee” with the event name and date as the value.
Pick one convention and document it. Half your staff using interactions and the other half using attributes means nobody’s query is complete.
Getting a Zoom export into Altru without making a mess
The hard part of a 140-person attendee list is not the data entry. It’s matching people to the right existing constituent. Webinar registrations often use personal email addresses, nicknames, or a spouse’s account, and a careless import can create dozens of duplicates.
- Clean the export first. Remove staff, presenters, test logins, and repeat rows from people who dropped and rejoined.
- Match on email, then confirm on name. Run a query of constituents by email address and compare against the list in a spreadsheet. Treat name-only matches as “needs review,” not as a match.
- Decide how to handle new people. Someone who has never touched your organization may not belong in Altru as a full constituent at all. Agree on a rule before you start.
- Add records in one sitting. If your Altru setup supports importing interactions or attributes, a small test import of five rows will tell you whether the date field and matching behave the way you expect. If you’re unsure whether a given import type is available to you, ask Blackbaud support before building a large file.
- Spot-check afterward. Open a few constituent records and confirm the date reads as the event date, not the day you entered it.
When people paid
For paid past events, separate the attendance record from the money. Record attendance using whichever option above fits, and handle the payment as revenue in a batch so your finance team can set the correct date and designation and reconcile it against your processor deposits. Talk to whoever closes your books before entering anything, since backdating revenue into a period that is already closed creates its own problem.
Prevent the backlog next time
Most after-the-fact entry happens because registration lived somewhere else, such as a Zoom form, a sign-up sheet, or an email thread. Where you can, create the event or program in Altru before you announce it, and register people there as they sign up. When a third-party platform is unavoidable, schedule the import for the day after the event, while names and context are still fresh.
Quick answers
Can I just change the program date to register people, then change it back?
We don’t recommend it. Other orders, capacity, and reports tied to that schedule can be affected in ways that are hard to spot later.
Will interactions count toward event attendance reports?
Only reports and queries built to read interactions. Standard event or program reports generally look at registrations and sales, so build a query for the interaction category you chose.



