A Black Friday code looks simple from the outside: type it in, the price drops. Behind it in Altru sits a discount, the rules for what it applies to and when, and the reporting you’ll want in December when someone asks whether the sale was worth it. Get those three right before the code goes into an email, and most of the weekend’s problems never happen.
This guide covers how to plan the promotion, what to set up and test in Altru, and the mistakes that tend to show up after the email has already gone out.
Decide what the code actually discounts
Before anyone opens Altru, write down the offer in one sentence. “20% off new and gift memberships purchased online, November 27 through December 1” is something you can configure and test. “Holiday savings on everything” is not.
Questions to settle first:
- Which items? Memberships, admission tickets, program registrations, or a mix. Gift memberships are the usual Black Friday focus, but each item type is set up differently in Altru, so each one is its own piece of work.
- Percentage or fixed amount? A flat dollar amount is easier to explain in an email and easier to reconcile. Percentages scale with price, which matters if you sell several membership levels.
- Online only, or at the desk too? If a member walks in Saturday with the email on their phone, staff need an answer. Decide it now.
- Who can use it? Anyone, or only members? Once per household, or unlimited?
- Does it stack? If you already have a member discount or a renewal incentive, decide whether the code combines with it.
Setting it up in Altru
In Altru, a discount is something you configure once and then make available to the items and sales channels where it should apply. Exact screens and options depend on your version and setup, but the general sequence looks like this:
- Create the discount. Name it something you’ll recognize in a report a year from now, such as “BF2026 Gift Membership 20%.” Avoid generic names like “Holiday Promo” that you’ll reuse and then can’t separate.
- Attach a promotion code if guests should type something in, rather than having the discount apply automatically. Pick a code that’s short, easy to type on a phone, and hard to confuse (avoid the letter O next to a zero).
- Limit where it applies. Restrict it to the membership levels, ticket types, or programs you chose above, and to online sales if it’s web-only, as far as your configuration allows.
- Set start and end dates, and be clear about time zones and whether “ends Monday” means midnight Sunday or midnight Monday.
- Make it available on the right web forms. A discount that exists in Altru but isn’t enabled for the web form your email links to will simply not work for the guest.
The exact options vary with your Altru configuration, and some combinations (usage limits per constituent, stacking rules, applying codes to specific membership add-ons) may or may not be supported the way you’d like. If any part of your offer depends on one of those, test it in a sandbox or ask Blackbaud support before you announce it. It’s much easier to adjust the offer on Tuesday than to explain a broken code on Friday.
Test it like a guest would
Run real test transactions a few days ahead, on a phone, from the actual link in your draft email:
- Enter the code in lowercase, uppercase, and with a trailing space. Guests paste codes from emails and often pick up extra characters.
- Try it on an item it should not apply to and confirm it’s rejected.
- Try it before the start time if your dates allow, and confirm what the guest sees.
- Complete a purchase, then look at the transaction in Altru. Check that the discount shows on the revenue record and that the membership or ticket was created correctly.
- Refund or void your test transactions afterward so they don’t inflate your numbers.
Plan the reporting before the sale starts
Build your query now, not on December 2. A revenue or sales query filtered to the discount you created, with transaction date, item, gross amount, discount amount, and whether the buyer was a new or existing constituent, will answer most of the questions leadership asks. If you sell gift memberships, add the recipient so you can see how many went to people who weren’t already in your database.
Save it, run it on Friday afternoon, and you’ll know early if the code isn’t being applied.
Common problems
“The code doesn’t work”
Usually one of three things: the guest is on a form where the discount isn’t enabled, the item in the cart isn’t covered by the discount, or the dates haven’t started or have already ended. Keep a short reply ready for your inbox and phone staff that covers all three.
The code got shared further than you meant
Codes end up on coupon sites. If the discount was meant for members only, a public code will be used by non-members. If that would be a real problem, restrict the discount in Altru instead of relying on the code staying private.
Desk staff don’t know about it
Even an online-only offer will reach the front desk. Give staff a one-paragraph note with the offer, the dates, whether they can honor it in person, and who to escalate to.
Where Social Good fits
Holiday promotions are mostly email clicks on phones, so the page a guest lands on matters. Checkouts replaces Altru web forms with a branded, mobile-friendly checkout for tickets, memberships, and donations, with Apple Pay and Google Pay, and the data writes back to Altru. If you’re considering it before a sale, confirm during setup how your specific discounts will be handled.
Quick answers
Can I use one code for both memberships and tickets?
Possibly, depending on how your discounts are configured. It’s often cleaner to use separate discounts so your reporting splits naturally by item type.
Should I reuse last year’s code?
Create a new discount each year. Reusing one makes year-over-year comparisons harder and keeps an old code working longer than you meant.



