“JANE SMITH ” with a trailing space. “john doe” in all lowercase. “123 MAIN ST APT 4B” next to “123 Main Street, Apt. 4b.” Whatever a guest types into an online form is what gets saved on the constituent record, and over a season it adds up. Mailing labels look sloppy, merge fields in emails read “Dear JANE,” and near-identical records turn into duplicates.
The fix has two parts: cleaning up what’s already in Altru, and catching bad formatting earlier so the cleanup doesn’t have to be repeated every month.
Know what Altru will and won’t do on its own
Altru stores names and addresses as they arrive. We aren’t aware of a built-in setting that automatically proper-cases names or trims extra spaces on records that come in from web forms, and nothing on the public forms stops someone from typing in all caps. Blackbaud does change the product over time, so check current Altru documentation or ask Blackbaud support before assuming either way. Plan as if formatting is your job.
Step 1: Find the messy records
Start with a constituent query that pulls the fields you care about: first name, last name, address lines, city, state, ZIP, and the date the record was added or changed. Limit it to records created by your online channels if you can identify them, since that’s where most of the problems come from.
Don’t count on query filters to spot capitalization problems. In our experience, text filters in Altru queries treat “SMITH” and “Smith” as the same value, and trailing spaces are easy to miss in query results. If you want to confirm how your own queries behave, try a filter on a name you know is in all caps. The dependable approach is to export the query results to a spreadsheet and flag rows there:
- All caps: a formula that compares the name to an uppercase version of itself, using a case-sensitive comparison such as
EXACT(A2, UPPER(A2))in Excel or Google Sheets. - All lowercase: the same idea with
LOWER. - Extra spaces: compare
LEN(A2)withLEN(TRIM(A2)). If they don’t match, the cell has leading, trailing, or doubled spaces.
Sort by the flags and you’ll see how big the problem really is before you decide how to fix it.
Step 2: Clean the data carefully
The obvious move is to run every name through PROPER() and call it done. Don’t, or at least don’t do it blindly. Automatic title-casing gets real names wrong:
- McDonald becomes Mcdonald, and MacKenzie becomes Mackenzie
- Names with an internal capital that isn’t after a space or apostrophe, like DeShawn or LaToya, lose it
- de la Cruz, van der Berg, and other particles get capitalized when the family doesn’t capitalize them
- Suffixes like III become Iii
- Hyphenated and two-part surnames can go either way
A safer process:
- Trim spaces on every row. That’s safe to do in bulk.
- Apply proper case only to the rows flagged as all caps or all lowercase. Names a person typed in mixed case are probably how they want them written, so leave those alone.
- Scan the results for Mc, Mac, O’, particles, and suffixes, and fix those by hand. It usually goes faster than people expect.
- For addresses, decide on one style (for example, “St” or “Street,” with or without periods) and apply it consistently. ZIP+4 isn’t an error. It’s valid and helps with mail delivery, so don’t strip it unless your mail house asks you to.
Step 3: Get the corrections back into Altru
For a handful of records, editing the constituent record directly is fine. For hundreds, you’ll want a bulk method. Depending on how your Altru is set up, that might be an import that updates existing constituents, matched on the constituent lookup ID, or a global change. Which options you have, and how they handle matching, varies with your configuration and permissions. Test on a small batch first (ten records you can check one by one), and take a fresh export of the affected records beforehand so you can put things back if something goes wrong. If you’re not sure your import will update existing records instead of creating new ones, ask Blackbaud support before running it.
Step 4: Make it a routine
Cleanup only stays done if someone keeps doing it. Save the query, filter it to records added since the last run, and repeat the export-and-flag check every month or before each big mailing. Once the backlog is gone, each pass only takes a few minutes.
Also look at where the data comes in. If your online forms let you add helper text, a short line like “Please enter your name as you’d like it to appear on your membership card” cuts down on all-caps entries more than you’d think. Whether you can add field-level validation (blocking all caps, for example) depends on the form tool you’re using. Altru’s own web forms may not offer much control over this, so test before you promise anything to your team.
Why this matters beyond looks
Inconsistent formatting is one of the quiet causes of duplicate constituents. “SMITH, JANE” from an online ticket purchase and “Jane Smith” from the membership desk may not be recognized as the same person, especially when one address says “Street” and the other says “St.” Cleaning up formatting makes your duplicate review much easier, and doing the duplicate review afterward catches the records that formatting alone won’t fix.
That second part is where Deduper comes in. It finds and fixes duplicate constituent and email records in Altru, so once names and addresses are consistent, you can merge the pairs that turn out to be the same person.
Quick answers
Should I fix capitalization before or after merging duplicates?
Before, if you can. Consistent names and addresses make true duplicates easier to recognize.
Is it safe to trim spaces on every record?
Yes. Leading, trailing, and doubled spaces are never meaningful in a name or address, so trimming in bulk is low risk. Capitalization is the part that needs a human eye.



