The year-end letter went out to 4,000 households. The board wants to know what it raised. You run the appeal report, and the number looks low. Then someone from development mentions three donors who said they “gave online after getting the letter.” Those gifts are in Altru. They just aren’t in the report.
Appeal reporting in Altru works well for gifts entered in revenue with an appeal attached. It gets unreliable once gifts arrive through other channels, especially online donations that come in as sales orders. Below is how to work out where your appeal numbers are coming from, how to close the gaps, and how to build a results view you can trust.
Start by figuring out what the appeal report actually counts
Before changing anything, pull a small sample. Choose a recent appeal and list every gift you know came from it: checks with reply cards, phone gifts, online gifts. Then compare that list to what the appeal report shows.
Usually the gifts that are missing share one thing: they came in through a path where nobody attached the appeal to the transaction. Gifts entered by hand in revenue with the appeal selected tend to show up. Gifts made through a web form or at the point of sale often don’t, because the transaction is recorded as a sales order and the appeal is either not captured or stored somewhere the report doesn’t read.
Exactly how your system behaves depends on how your web forms and revenue settings are configured, and that varies between organizations. Don’t take anyone’s word for it, including ours. Make a test gift on your own donation form in a sandbox or training environment, then look at where the appeal (if any) ends up on that record.
Three ways to get online gifts credited to the appeal
1. Give each appeal its own donation form or link
If the letter sends donors to a URL that’s specific to that appeal, every gift made through it can be tied back. Depending on your setup, that might mean a separate web form per appeal, or a form whose designation or appeal defaults to the campaign. It’s more forms to maintain, but it’s the cleanest attribution you’ll get.
2. Use source codes or finder numbers consistently
Print a code on the reply device and ask online donors to enter it. Response will be imperfect, since plenty of people skip optional fields, but any code you do capture lets you match the gift to the mailing with confidence.
3. Match by “who was mailed, who gave”
This is the fallback that catches everything else. Keep the list of constituents included in the mailing (a selection or the mailing’s output), then query revenue for gifts from those constituents within a response window, often 60 to 90 days after the drop date. Include sales order revenue in that query, not only payments and pledges.
You’ll pick up some gifts that would have arrived anyway. That’s normal, and it’s why many teams report “attributed” and “influenced” revenue as separate figures.
Building the results view
Once you can pull the gifts, the metrics most boards and development directors want are simple:
- Pieces mailed, taken from the mailing’s constituent count.
- Number of responders and response rate (responders divided by pieces mailed).
- Total raised and average gift, split by channel: mail, online, phone, in person.
- Cost per dollar raised, using your printing and postage costs.
- Segment results: current members versus lapsed members versus non-member donors, or whatever segments you mailed.
Altru’s queries can give you the raw rows: constituent, gift date, amount, transaction type, appeal, and segment. What’s harder in Altru alone is putting those rows next to each other across appeals and years without exporting to a spreadsheet each time. Many teams end up building one revenue query and one mailing-list query, exporting both, and doing the math in Excel.
If you go that route, save the queries rather than rebuilding them, give them clear names tied to the appeal, and keep the same response window from year to year so the comparisons hold up.
Fix the process before the next mailing
Reporting is easier when attribution happens at entry:
- Decide, before the drop, which appeal, form, and code each segment gets.
- Tell gift-entry staff how to handle reply cards that come in without a code.
- Check a few online gifts during the first week to confirm they’re picking up the appeal the way you expect.
- Write the response window into your appeal plan so next year’s report uses the same rules.
None of this needs new software. It needs agreement on how appeals are tagged and a couple of saved queries.
Where Social Good fits
If the export-and-spreadsheet step is what wears you down, Data Bridge syncs Altru query results to Google Sheets and other tools, so a sheet built on your appeal revenue and mailing-list queries can stay current without manual exports. The attribution work above still has to happen in Altru; Data Bridge just moves the results to where you build the report.
Quick answers
Why do online gifts appear in revenue but not on the appeal report?
Most often because the online transaction was recorded without an appeal, or the report only reads certain revenue types. Test one gift in a sandbox to see which applies to you, and ask Blackbaud support if the result is unclear.
How long should the response window be?
Sixty to ninety days after the drop is common for mail appeals. Year-end appeals sometimes run through mid-January. Pick a window and keep it consistent.



