You set up a “Member Adult” price type at a lower rate, add it to your online ticketing form, and within a week someone who has never been a member buys four of them. Now the gate staff have to choose between turning a family away and quietly eating the difference. Neither is a good outcome.
The underlying problem is simple: a public web form shows the same choices to everyone who opens it. Unless something on the form knows who the buyer is, a member price is just a cheaper button. This article covers how to think about that, the options available inside Altru, and how to cover the gaps you can’t close.
Separate price types vs. member discounts
There are two common ways organizations model member pricing in Altru, and they behave very differently online.
Member-only price types
You create distinct price types (Member Adult, Member Child, and so on) and put them on the program or event alongside the general admission price types. This is easy to set up and easy to report on, because member sales show up as their own line. The weakness is visibility: if the price type is on a public web form, anyone can pick it.
Membership-based discounts
Instead of a separate price, you sell regular price types and let a discount tied to membership reduce the price for qualifying buyers. Because the discount is meant to apply only when the buyer is a recognized member, a non-member shouldn’t end up with the lower price at all. The trade-off is that it only works when the form can identify the buyer as a member, which usually means the member signs in or is otherwise matched to their constituent record during checkout.
How membership discounts and member sign-in behave on your specific Altru web forms depends on your version and configuration. Before rebuilding your pricing around them, test the full purchase in a sandbox as a member and as a non-member, or confirm the behavior with Blackbaud support. Don’t assume either way.
Options if you keep separate member price types
Plenty of organizations stay with member price types because their reporting, revenue mapping, and staff training are built around them. If that’s you, these are the realistic approaches:
- Use two web forms. Build a public form with only general admission price types, and a second form that includes member pricing. Link the member form only from places non-members won’t casually land: the member newsletter, renewal confirmations, a members page that requires sign-in on your website. This isn’t security, just friction, but it removes the most common accident: a visitor who sees a cheaper option and takes it.
- Label member price types plainly. “Member Adult (membership card required at entry)” does more than “Adult – M.” Clear names reduce honest mistakes and give your staff something to point to when a non-member questions it at the door.
- State the rule at checkout and in the confirmation. Put the requirement in the form’s instructions and in the ticket confirmation email. Buyers who know they’ll be asked for a card at the door tend to pick the right price.
- Verify at entry. Whatever you do online, the gate is where member pricing actually gets enforced. Staff should know to check membership status for anyone holding a member-priced ticket, and what to do when it doesn’t match (collect the difference, offer to sell a membership, or honor it once and note the record).
- Audit with a query. Build a query of online sales with member price types and compare the buyers against active memberships at the time of sale. Run it monthly. If the mismatch list is short, the two-form approach is probably enough. If it’s long, the member form link is getting around, or the discount approach deserves a second look.
Promo codes as a middle ground
Some teams hand members a code that applies the member rate (confirm in a test purchase that your web forms accept codes the way you expect). It’s better than an open price type, but codes leak: they get posted in local deal groups, forwarded to friends, and reused for years. If you go this route, rotate the code on a schedule, put an expiration on it, and keep checking membership at entry. A code proves someone saw a member email, not that they’re a current member.
Decide what you’re actually protecting
It helps to be honest about the stakes. For a lot of organizations, the occasional non-member buying a member ticket is a few dollars of lost revenue and an awkward moment at the gate. For others, member pricing is deep enough, or timed entry capacity tight enough, that leakage matters. Pick the approach that matches your risk:
- Small price gap, low volume: two forms, clear labels, check at the door.
- Large gap or limited capacity: move to member identification during checkout (membership discounts with sign-in), and treat the gate check as a backstop.
- Member-only events or previews: keep these on their own form, linked only from member communications, and check every ticket at entry.
Where Social Good fits
The steps above can all be done in Altru without extra software. If you’re also reworking the online purchase experience itself, our Checkouts product replaces Altru web forms with a branded, mobile-friendly checkout for tickets, memberships, and donations, and writes the transactions back to Altru. If you’re evaluating it, ask us to walk through how your member and non-member pricing would be set up so you can judge the fit for your own rules.
Quick answers
Can I just hide a price type on one web form but not another?
Building separate forms with different price types on each is the most dependable way to control what the public sees. Test both forms end to end before publishing either link.
Is a hidden link enough to stop non-members?
No. It reduces accidental purchases, but links get shared. Pair it with a membership check at entry and a periodic audit query.



