A first-time $25 gift is worth exactly $25 unless you do something with it. Convert that same donor to a $10/month sustainer and they're worth $120 in year one, and — for the ones who stay — several hundred over the relationship. The math is not subtle. What's subtle is the ask: when you send it, how you word it, and how you avoid torching your list (or your 10DLC registration) in the process.
Full disclosure: I work for ReadySMS. We build SMS infrastructure with the compliance stack baked in, so some of this is going to reference our tooling. But the timing and template logic below works on any platform. The point is to get the play right.
Why the sustainer upgrade belongs in SMS at all
Email still does the heavy lifting for most development shops, and it should — long-form appeals, impact reports, tax receipts. SMS earns its place on one job: the short, time-sensitive nudge that email buries. Opted-in donor lists tend to see response rates far above email — often in the 30–50% range for a well-timed message to a warm list (treat that as a rough industry approximation, not a promise).
The recurring-gift ask is exactly that kind of message. It's one decision, it's small ($10/month feels trivial next to a $25 one-time gift), and it converts best when it arrives while the donor still feels good about giving. Email's problem isn't reach — it's latency. Your upgrade appeal lands in an inbox with 40 other things. A text lands alone.
If you want the extended version of this flow — a four-message sequence that pushes toward $300/year — we wrote that up separately in Turning a $25 One-Time Donor Into a $300/Year Recurring Giver. This post is the tighter, single-decision version.
The consent question, before the timing question
Here's the mistake that quietly kills nonprofit SMS programs: assuming a donation form gave you SMS consent. It didn't, unless it explicitly said so with a checkbox the donor actively agreed to. A phone number captured on a donation form is a contact number, not a marketing-consent number. Texting a fundraising appeal to it is exactly the kind of use-case mismatch that gets traffic filtered — and worse.
Two things have to be true before you send the upgrade text:
- You have documented SMS opt-in for promotional/fundraising messages, separate from the transactional receipt.
- The message you send matches the campaign use case you registered under 10DLC.
We're fans of double opt-in for donor lists specifically because it filters out the accidental sign-ups who reply STOP the moment they hear from you. Yes, it costs you sign-ups — roughly 8% in our experience — but it saves you from a reply-STOP death spiral that can wreck your sender reputation. We walked through that tradeoff in Why Double Opt-In Loses You 8% of Sign-Ups but Saves Your Nonprofit.
ReadySMS handles the mechanics here: STOP is honored automatically and the opt-out propagates across every campaign so a contact who leaves stays gone. Quiet-hours enforcement holds sends outside permitted local hours. And before any bulk send, you can run a litigator/DNC scrub — more on that below.
Timing: the 48-to-96-hour window
The gratitude window is real and it's short. Send the upgrade ask:
- After the thank-you/receipt has landed (that's transactional — different consent, don't bundle the ask into it).
- Within 48 to 96 hours of the original gift. Soon enough that the donor still feels connected; late enough that it doesn't feel like a shakedown stapled to the receipt.
- Inside permitted local hours. Mid-morning or early evening on a weekday tends to work. Let quiet-hours enforcement catch the edge cases so you're not manually checking time zones.
One text. Not three. This is a single-decision ask, and stacking follow-ups on a fresh donor reads as desperate. If they don't convert, they roll back into your normal cultivation cadence.
The templates (compliance-annotated)
Every template assumes documented SMS opt-in and a matching 10DLC campaign. Segment counts matter for cost: plain GSM-7 text splits at 160 characters, then 153 per part after that. Drop in an emoji and the whole message becomes unicode, which caps at 70 characters per segment. Watch that.
Template 1 — the impact anchor
Hi {FirstName}, your $25 gift this week funded 5 meals at {Org}. Turning it into $10/month keeps a family fed all year. Start here: {link} Reply STOP to opt out.
Annotation: Concrete number, ties the past gift to a future one, single link. ~155 chars = 1 segment if you trim. STOP language present. Note "$10/month" is stated plainly — no vague "consider giving more."
Template 2 — the low-friction frame
{FirstName}, thank you for giving to {Org}. Would you make it monthly? $10/mo = steady support we can count on. Yes → {link}. Reply STOP to unsubscribe.
Annotation: Frames recurring as easier for the org, not more for the donor. Keep the arrow (→) — it's GSM-7 safe. STOP present.
Template 3 — the named-cost ask
Hi {FirstName} — $10/month covers one {specific thing, e.g. tutoring session} every month. Your first gift proved you care. Make it monthly: {link} Txt STOP to end.
Annotation: Names exactly what $10 buys. "Your first gift proved you care" reinforces identity without guilt-tripping. Watch length — this one likely spills to 2 segments; tighten the specific thing.
A note on wording that trips 10DLC review: avoid anything that reads like a prize, guaranteed outcome, or high-pressure language. Fundraising is a legitimate use case, but sloppy sample messages get rejected. If you've hit that wall, the SHAFT rejection rewrite guide covers how to get sample messages approved.
Scrub before you send — the cheap insurance
Even a clean, opted-in donor list decays. Numbers get reassigned. A donor from 14 months ago might not be that person anymore. And a number can pass a DNC check and still belong to a known TCPA litigator — those are two different databases, which we broke down in A Number Can Pass DNC and Still Sue You.
ReadySMS's standalone TCPA & DNC litigator scrub runs at $0.005 per contact and auto-suppresses matches before send. Do the math on a 4,000-donor upgrade list:
- Scrub: 4,000 × $0.005 = $20.00
- One-time gift already banked: covers it many times over.
Against TCPA exposure of $500–$1,500 per text, a $20 scrub on a 4,000-person send is not a close call. It doesn't make you lawsuit-proof — the sender is always ultimately responsible — but it removes the numbers most likely to cost you.
The economics of the ask itself
Let's price the actual send so you know what you're spending to make the ask.
Say you have 4,000 one-time donors eligible for the upgrade text this month. You send Template 1 at 1 segment each on ReadySMS Standard ($0.02/segment + $0.0045 carrier pass-through = $0.0245 all-in):
- Send cost: 4,000 × $0.0245 = $98.00
- Scrub cost: 4,000 × $0.005 = $20.00
- Total: $118.00
Now the return. A warm, well-timed upgrade ask to opted-in donors might convert somewhere in the low single digits to high single digits — call it 3% as a conservative planning number (frame it as an estimate, test your own). That's 120 new sustainers at $10/month:
- Year-one recurring value: 120 × $10 × 12 = $14,400
- Cost to generate it: $118
You will not hit that every month — your eligible pool refills slowly, and conversion varies. But the cost-to-return ratio on a single well-built text is the reason this play belongs in every mid-size development team's toolkit. Run your own numbers on the cost calculator with your real list size.
Putting it together
The whole play fits on an index card:
- Confirm SMS marketing consent exists (double opt-in preferred).
- Register a fundraising 10DLC campaign that matches the message.
- Scrub the eligible list for DNC and litigators — $0.005/contact.
- Send one upgrade text, 48–96 hours after the first gift, inside quiet hours.
- Non-converters roll into normal cultivation. Don't over-text.
None of this requires a bigger team. It requires the send to be clean — right consent, right timing, right list hygiene — so a $118 send can safely go after five figures of recurring revenue.
If you want to see how the consent handling, quiet-hours, and scrub tools fit together before you build the flow, the pricing page lays out the segment and scrub costs plainly, and you can start with 2,500 free credits — no card — to test your first upgrade batch on a small segment. Prove the conversion on 200 donors before you send to 4,000.