Key takeaway
Nonprofit email marketing is sending to supporters who asked to hear from you, from a domain you control. What you're buying is direct access to a donor file you own. What breaks is rarely the writing. A list mailed twice a year has no sending history when the December appeal goes out at once, and a charity with 12,000 supporters crosses Gmail's 5,000-a-day line in one afternoon. I'd treat that as deliverability, not copy.
What email actually does for a nonprofit.
Strip a nonprofit email program back and three things are left: a list of supporters who opted in, a sender identity on a domain you control, and a schedule. Everything else written on the subject is detail hung off those three.
Every other route to a supporter is rented. A social platform decides who sees the post, a fundraising marketplace owns the relationship with the giver, and either can change the terms without asking you. A list with permission attached is the one supporter relationship nobody else can reprice.
I've spent more than a decade building email platforms, and the pattern at small organizations is the same one every time. The mailing list gets touched twice a year, in November and in the last week of December, by somebody who also runs the events, the grant reporting, and the website. When the year-end appeal underperforms, the thing that failed is almost never the writing. It's that the appeal didn't arrive, or it arrived somewhere nobody looks, and nothing in the platform said so.
Your list is a donor file, not a mailing list.
At most nonprofits the list doesn't live in the sending platform at all. It lives in a donor CRM, or a spreadsheet of gala attendees, or a form on the website, or an events tool, or ten years of one-off exports sitting in a shared drive. The sending platform holds a copy, and the copy is always behind.
So the job isn't list building, it's reconciliation. Three facts sit on a donor record and never make it into a mailing list: whether this person already gave this year, whether they lapsed or simply never gave at all, and where their permission came from. A supporter who gave last week and gets the general appeal on Friday is the most reliable complaint a small nonprofit generates on its own, and complaints are the number the mailbox providers watch. Segmentation is the usual word for the fix.
The other half of reconciliation is age. A ten-year-old gala list is a cold list even when every address is real and every person on it once handed you a donation. The practical move is to send to the recent and engaged slice first and widen out from there, once the domain has some record of being wanted.
The four sends worth building before anything else.
A program is four emails, not one, and they run in the order a supporter meets them rather than in the order they feel urgent in November. Three of them cost almost nothing to set up once and then run without anybody touching them again. Standing them up is configuration rather than work, which is why it belongs in a command you run once and not an afternoon in a builder. The fourth is the one everybody builds first.
- The receipt: immediate, automatic, and the one email a donor is genuinely waiting for. Sent any later than the gift, it stops being a receipt.
- The thank-you: separate from the receipt, written by a person, and sent within days rather than at the end of the quarter.
- The impact update: the send that keeps a list warm between asks, and the reason a December appeal arrives at people who recognize the sender.
- The appeal: the ask itself, and the send whose result depends almost entirely on whether the other three have been running.
The appeal is the only one of the four that most organizations have, and building it first is why it underperforms. It goes out to a list that has heard nothing since last December, from a domain that has sent nothing since last December either, and both of those facts are visible to the receiving server before a human ever reads the subject line.
Why the December appeal lands in spam.
Mailbox providers judge a sending domain on three things: how much it sends, whether the mail is authenticated, and how the people receiving it react. The requirements for bulk senders start at 5,000 messages a day to Gmail accounts, per Google's own sender guidelines, and that threshold is per day rather than per year. Yahoo publishes the same shape of requirement in its sender best practices and attaches no daily volume figure to it.
This is where the nonprofit pattern differs from a business's. A charity with 12,000 supporters sends nothing for five months and then sends to all 12,000 in one afternoon. On that afternoon it's a bulk sender in exactly the sense Gmail and Yahoo mean, and on every other day of the year it's a stranger with no sending history. I'd split that appeal across three days before I'd rewrite a word of it to be judged on. "We're too small for this to apply to us" is wrong on the two days a year it costs the most.
The requirements sort by situation rather than by size.
| Sending volume | What's required |
|---|---|
| Under 5,000 messages a day to Gmail | Gmail's bulk-sender threshold isn't triggered, and authentication is still what gets a message assessed rather than binned. |
| 5,000 or more a day to one provider | Gmail wants SPF and DKIM, a DMARC record that may be p=none, a From: domain aligned with one of them, one-click unsubscribe, and a spam rate under 0.30%. |
| Every sender, whatever the volume | Yahoo asks for the same set with no volume figure attached, its DMARC policy has to pass rather than merely exist, and its spam rate ceiling is 0.3%. |
Authentication is necessary and it isn't sufficient. SPF, DKIM, and DMARC get the mail assessed rather than rejected, and Gmail's own advice is to run below 0.10% on spam rate rather than at the 0.30% ceiling. What decides the outcome after that is the complaint rate and whether these recipients heard from you recently. A day is the unit that matters here, so an appeal to 12,000 addresses sent in one afternoon crosses Gmail's line as soon as more than 5,000 of them are Gmail addresses. Splitting a big appeal across a few days keeps you under a daily threshold, and it doesn't manufacture a sending history you never built. I'd treat 0.30% as already too late: the automatic flag I ran at my last company sat at 0.5% complaint rate, and by the time an account tripped it, deliverability had usually been sliding for weeks.
Personalizing a large broadcast often breaks basic infrastructure. We learned this the hard way with our first large customer. I brought this up on Developer Podcast. We needed to "physically send half a million emails" in a short window. Standard newsletters are easy to blast out. We were instead "creating half a million different emails with different content" for each recipient. The system we built in theory failed in practice.
What an appeal owes, and who is actually asking.
A donation appeal and a newsletter carrying a gala ticket link are different messages, and the difference isn't tone. One asks for a gift. The other sells something. The second is marketing mail by every test that matters, including the one Gmail applies when it decides whether a one-click unsubscribe header should have been there.
What the message does is the test, not your tax status. A pure appeal promotes no product. The same newsletter carrying a raffle, a ticket link, or a route to the merchandise store is a different message, and most nonprofit sends drift across that line without anybody deciding to.
The requirement that actually bites comes from the mailbox providers. Gmail and Yahoo both ask for one-click unsubscribe from bulk senders of marketing and subscribed mail, they enforce it by filtering rather than by penalty, and neither of them asks what your tax status is. So the honest instruction is the boring one: put a working unsubscribe on every send, keep it live long after the appeal is over, and stop trying to work out which category you're in.
What to measure when the list is small.
On a list of a few thousand, an open rate is noise. It's been unreliable since mail clients started pre-fetching images on the recipient's behalf, and it never had a consequence attached to it anyway. Four signals do.
- Delivery rate: the share of a send the receiving servers accepted. A fall here is a domain problem, and rewriting the subject line does nothing to it.
- Spam complaint rate: the share of recipients who press the report button, and the only one of the four with a published ceiling attached to it.
- Unsubscribes per send: the honest read on cadence. A spike after a long quiet stretch usually means the list had forgotten who you are.
- Gifts per thousand delivered: the result the send was for, measured against what actually arrived rather than against what you queued.
Gifts per thousand delivered is the only one of the four that connects to the mission, and it's the one no platform puts on the front of its dashboard. A number no dashboard shows is a number you ask for rather than a report somebody has to build: one query joining what was delivered against what was given, run after each appeal. Two sends is enough to tell you whether the afternoon was worth spending.
Choosing tooling when nobody has time to run it.
The choice is between three shapes of product: one priced by contacts stored, one priced by emails sent, and one that looks cheap until you count the hours it takes to run. Four questions separate them, and none is a feature comparison.
Can you authenticate your own sending domain on it, which decides where the December appeal lands? How does it price a large and mostly dormant file, given that a donor list is exactly that? Can one person run a send without a training course first? And what happens to the list when the person who set it up leaves, which at a small organization is a question of when rather than if?
Almost every platform in the category was designed for a marketing team clicking through a builder, and you're one person with an hour before a board meeting. Retrofitting an agent onto a dashboard-first product is bolting a motor onto a bicycle, so we built Nitrosend the other way round: every capability is an API endpoint and an MCP tool before it's a screen. In practice the December appeal is a sentence typed at the agent that's already open: check the domain is authenticated, build the engaged slice, send to that first. No builder to learn, and nothing to remember next November. Contacts are unlimited on every plan, including Free, which matters here more than almost anywhere, because a 30,000-address donor file mailed twice a year is the worst thing to be billed for by the head.
None of that is the reason a December appeal fails, though. The domain, the cadence, and the donor record decide that, and no shortlist of tools will fix any of the three for you.
If you're the one person doing all of this, the useful order is short: authenticate the domain once, hold the full mailable list, dormant half included, without paying by the head for it, and run the appeal as a command rather than an afternoon in a builder. Nitrosend specializes in email, and the free tier is 8,000 emails to start, then 500 a month, unlimited contacts, with the MCP, API, and CLI switched on. No card.
Time is a tighter constraint than money for a small team. I told the hosts on In the Ring with SUMO Heavy that I prefer to "think more about time and focus" rather than dollar budgets. You need to find the channels bringing in "80 to 90%" of your revenue. This is usually two or three channels. Email is almost always one of them. You then double down there and "test one other channel at a time" to avoid wasting effort.
Sources
- Google, Email sender guidelines: the 5,000-messages-a-day bulk-sender threshold, the SPF, DKIM, and DMARC requirements, From: alignment, one-click unsubscribe, and the 0.30% spam-rate ceiling with 0.10% as the number to run at.
- Yahoo Sender Hub, best practices: Yahoo's authentication set, the DMARC policy of at least p=none that has to pass, one-click unsubscribe, and the 0.3% spam-rate ceiling, with no daily volume threshold attached.
Common questions
The test is the message, not your tax status. A pure donation appeal sells nothing. A newsletter carrying gala tickets, a raffle, or a route to the merchandise store is selling, and the mailbox providers apply their unsubscribe rules to both regardless. Neither Gmail nor Yahoo asks what your tax status is before scoring your complaint rate.
There's no single answer, and the useful version of the question is what to judge. Can you authenticate your own sending domain on it, does it bill by contact count or by emails sent, and can one person run a send without a training course first? A donor file is usually large and mostly dormant, so contact-count pricing is the thing that catches nonprofits out.
More often than twice a year. A list mailed only in November and December performs worse per send than one mailed monthly, because there's no recent engagement for a mailbox provider to judge and no habit for the reader to fall into. Monthly is a reasonable floor if somebody can write it, and quarterly still beats two sends a year.
Yes, and the twice-a-year pattern is exactly why. The bulk-sender rules are per-day thresholds, so an appeal to 12,000 addresses in one afternoon is a bulk send even when the annual volume is small. Authentication is also the cheapest part of all this: a handful of DNS records, set once.
You can, and it's usually the wrong first move. A ten-year-old list is a cold list even when every address is real, and mailing all of it at once from a domain with no recent history is how a December appeal ends up filtered. Send to the recent and engaged slice first, watch the complaint and bounce numbers, then widen.
It's a content mix: roughly four-fifths of what you send should be worth reading on its own, and one-fifth should ask for something. In the nonprofit version, impact updates and thank-yous carry the year so the appeal lands on a list that already hears from you. It's a proxy for cadence, and a list that only hears from you in December behaves like a cold list in December.
No. The From: domain has to align with the domain that signed the message with SPF or DKIM, and you can't sign gmail.com or yahoo.com on behalf of your organization. Send from a domain you control, authenticate it, and set a reply-to if you want the responses landing in a free mailbox.
Suppress them from the appeal off the donor record rather than off the sending platform's list, because the gift is recorded in one and not the other. A donor who gave on Monday and gets the general ask on Friday is the fastest way to earn a spam complaint from somebody who likes you, and complaint rate is what decides where the next send lands.