You set up a link on your website for a daily tour, a summer camp session, or a monthly behind-the-scenes program. It works for a few weeks. Then someone calls to say the “Buy tickets” button lands on an empty page, or shows next Tuesday’s event when they wanted today’s. Nobody changed anything on purpose.
When an online link for an Altru scheduled program goes dead, the cause is almost always one of a small set of things: how the link points at the program, how far out events were generated, or how the online sales window is set. None of these look like a broken link from inside Altru, which is why they take a while to track down.
First, figure out which symptom you have
Two problems tend to get reported as “the link stopped working,” and they have different causes:
- The link shows nothing, an error, or an “unavailable” message. Usually the link points at something that no longer has sellable events behind it.
- The link works, but today’s (or tomorrow’s) event is missing. Usually a sales-window or cutoff setting is hiding events that still exist.
Test the link in a private browser window before you start. Logged-in staff sessions and cached pages can make a link look fine to you while visitors see something different.
When the link goes blank every few weeks
The link points at one event, not the program
A web link can be built against a specific event (one date and time) rather than the program as a whole. That link is perfect for a one-time gala and wrong for anything recurring. Once that event’s date passes or its sales close, the link has nothing to sell. If your team copies a fresh link every month and pastes it into the website, this is very likely what’s happening. Check whether the link you published identifies a single event or the program, and whether your Altru setup offers a program-level option for the web form you’re using. If you’re not sure which you have, ask Blackbaud support to confirm what the link resolves to.
Events were only created a few weeks out
Scheduled programs need events to exist before anything can be sold. Many teams generate a month or a season of events at a time. When the last generated date passes, the program still exists, but there’s nothing on the calendar, and the web page shows as empty. A recurring event that “expires every month” is often a monthly event-generation habit that someone forgot once.
The fix is procedural. Generate events further out, and put a recurring reminder on someone’s calendar to extend them before they run out. A simple query of future events by program, sorted by date, shows how much runway each program has left.
The program or price was changed
Editing a program, retiring a price type, or swapping which programs are offered online can quietly change what a published link shows. If the link broke right after a pricing update or a new season’s setup, start there.
When today’s event doesn’t show
This one is usually intentional behavior that nobody remembers setting up. Online sales for an event can close before the event starts, so the web page drops today’s 2:00 tour sometime in the morning even though there are open spots and the front desk can still sell it.
Things to check on the program and its events:
- The online sales cutoff. How long before the start time does online selling stop? A cutoff measured in days instead of hours will hide same-day events entirely.
- The sales start date. If online sales open a set number of days before each event, newly generated events may not be visible yet.
- Capacity held for other channels. If online capacity is separate from total capacity, a sold-out online allocation can make an event disappear from the web while the desk still has room.
- Whether the event is flagged for online sale at all. Events added by hand, outside the normal generation process, sometimes miss this.
Change one setting at a time and test with a private window after each change. The exact field names and where they live depend on your Altru configuration and how the program was built. If you can’t find the cutoff, a sandbox test or a Blackbaud support case is faster than guessing on a live program.
Also decide what you actually want. Some organizations close online sales an hour ahead on purpose so staff have a final headcount. If that’s your policy, keep it and tell visitors on the page (“Same-day tickets available at the front desk”) instead of letting them assume the event is gone.
Stop it from recurring
- Keep a short list of every published program link, where it lives on the website, and whether it points at a program or a single event.
- Assign one person to extend event schedules on a fixed date each month.
- After any program, price, or season change, click every affected link from a private window before you call the change done.
- Write the sales cutoff into your program setup notes so the next person doesn’t “fix” it by accident.
Another option for recurring programs
Some teams would rather not manage individual links at all. Social Good’s Calendar Builder puts an embeddable timed-ticketing calendar on your website that shows real-time availability from Altru, so visitors pick a date from the calendar instead of following a link someone has to replace. You still need events generated in Altru for there to be anything to show, so the scheduling habits above apply either way.
Quick answers
Why does my link work for staff but not for visitors?
Often caching or a logged-in session. Always test in a private window, and purge your website cache after replacing a link.
Can events be generated indefinitely?
Generating far ahead is generally fine, but very long schedules can be harder to edit when prices or times change. Many teams generate a season at a time and set a reminder to extend it.



