30% of Annual Giving Lands in December's Last 3 Days — The Send Schedule That Captures It

Somewhere around a third of annual online giving lands in the final stretch of December, and a startling chunk of that clusters on December 31 itself — donors racing the tax-year deadline. That's the industry lore, and it's roughly right. Which means every nonprofit texting its donor list has the same idea at the same time: fire one enormous appeal on the 31st and hope.

Full disclosure: I work for ReadySMS, so I spend a lot of December watching nonprofits try to shove 40,000 messages through a single 10DLC campaign in a two-hour window and then wonder why half of them arrive at 9pm — after the donor already gave to someone else.

The problem isn't your copy. It's physics and carrier policy. A blast that big doesn't leave your platform instantly; it drains at a fixed throughput rate, and if you also spike traffic on a number the carriers have barely seen all year, you invite filtering. The fix is a send schedule, not a send button. Here's how to build one.

Why the Dec 31 mega-blast fails on its own terms

Two separate ceilings crush the one-shot approach.

Throughput (TPS). Every 10DLC campaign sends at a capped messages-per-second rate. Standard-registered campaigns move at a modest clip; even good ones don't teleport 50,000 texts. We wrote the full breakdown in why your 50,000-contact blast takes 4 hours, but the short version: at a typical throughput ceiling, a large list drains over hours, not minutes. If you hit "send" at 4pm on the 31st, your tail-end contacts get the ask at 8 or 9pm — past the moment they were sitting at their laptop with a card out.

Carrier reputation. Carriers watch traffic patterns. A number that sent 2,000 texts all year and then suddenly emits 40,000 in one afternoon looks — statistically — like a number that got compromised or bought by a spammer. That pattern gets messages filtered silently. No bounce, no error, just… not delivered.

Both problems have the same solution: spread the volume across days, and warm the number up before the big ask.

Warm the campaign before you need it

If your donor SMS program goes quiet from March to November and then explodes in December, you're starting from a cold reputation the exact week you can least afford it. Warming means sending some legitimate, engaging traffic in the weeks before your peak so the carriers have a recent, healthy pattern to judge you by.

A practical November-into-December warm-up:

  • Mid-November: an impact/gratitude text to your most engaged segment. No ask. "Because of you, we served 4,200 meals this fall. Thank you." High open, high reply, near-zero opt-outs — exactly the signal carriers like.
  • Late November: a soft Giving Tuesday teaser to a broader slice.
  • Giving Tuesday: your first real appeal, but to a fraction of the full list.
  • Mid-December: a progress update ("we're 60% to goal") to donors who haven't given yet.

By the time December 31 arrives, your number has a month of clean, replied-to, low-STOP traffic behind it. That history is what keeps the big day out of the filter.

While you're at it, make sure your 10DLC registration is actually done and approved. Approval typically takes 1–3 days, but December is the worst possible time to discover your campaign is stuck in review or got bounced for SHAFT-adjacent sample copy. Register in October.

Stagger the send: a day-by-day schedule

Instead of one blast, treat the final week as a sequence. Here's a schedule that captures the deadline urgency without dumping everything into one throttled window.

DateSegmentMessage intentRough share of list
Dec 26Lapsed + non-donors this year"One week left to make your 2024 gift"100% of segment
Dec 28Full list minus already-givenProgress + specific goal~50%
Dec 30Non-giversSharper deadline framingremaining
Dec 31 AMNon-givers"Tax-deadline tonight — X hours left"remaining
Dec 31 eveningNon-givers who opened but didn't clickFinal nudge, kept smallsmall tail

Notice what this does. No single send is your entire list. The Dec 31 morning push — the one that matters most — is already a reduced list because donors from the 26th, 28th, and 30th have peeled off. A smaller list drains faster, so those tax-deadline texts land while there are still hours on the clock.

Suppress givers ruthlessly. Nothing burns an opt-in list like texting someone their fourth "last chance" ask two hours after they donated. ReadySMS honors STOP automatically and propagates the opt-out across campaigns, but suppressing donors is on you — pull them out of the next send the moment the gift posts.

Rotate message variants so you don't look templated

Carriers also fingerprint content. Ten thousand identical-to-the-byte messages leaving one number in a burst is another spam-shaped pattern. Rotating two or three genuine variants of each send both spreads that fingerprint and lets you learn what converts.

Variants don't need to be dramatic:

  • A: "Sarah, your gift before midnight counts for 2024. Give here: give.org/yr"
  • B: "2 hours left to make a tax-deductible 2024 gift. We're $3,100 from goal: give.org/yr"
  • C: "Final call — every dollar before midnight is matched. Chip in: give.org/yr"

Two things to watch in that copy. First, use a branded link on your own domain, not a public shortener. bit.ly and its cousins share reputation across thousands of senders and get texts filtered — the mechanism is spelled out in why bit.ly links get your texts filtered. Second, watch your character count. Adding a celebratory 🎉 drops your segment limit from 160 characters to 70 and can quietly triple your bill — the full trap is in the hidden emoji tax.

Do the segment and cost math before you send

Say your active opted-in list is 30,000 and, after suppressing this-year donors, roughly 22,000 people cycle through the final-week sequence, receiving an average of two messages each — call it 44,000 sends. Keep each message under 160 GSM-7 characters and that's 44,000 segments.

On the Starter tier ($0.0155/segment) plus the $0.0045 carrier pass-through:

44,000 × ($0.0155 + $0.0045) = 44,000 × $0.0200 = $880.00 for the whole final week.

Now the emoji-tax version. Slip one unicode character into a 175-character message and it becomes three 70-character unicode segments:

44,000 × 3 × $0.0200 = $2,640.00

Same campaign, same reach, three times the cost — for one emoji and twenty extra characters. Trimming copy to a single segment is the single highest-leverage thing you can do; we watched one campaign cut cost 50% by removing 12 characters. Run your own numbers on the cost calculator before you commit copy.

Scrub the list, then let compliance run

Before the biggest sends of your year go out, spend a few dollars protecting them. The TCPA & DNC litigator scrub checks each number against known litigator and DNC-complainer lists at $0.005 per contact and suppresses matches. On a 22,000-person send that's $110 — cheap insurance against the $500–$1,500-per-text exposure a single litigator can create. It doesn't make you lawsuit-proof; compliance is always ultimately your responsibility. It just removes the worst-known landmines.

Then lean on the platform for the rest:

  • Quiet-hours enforcement holds sends outside permitted local hours automatically — so a stagger that spills toward late evening won't fire a text at someone at 10pm their time.
  • Automatic STOP handling honors opt-outs instantly and across every campaign.
  • Consent attestation is recorded for your bulk sends, building the audit trail you'll want if anyone ever asks how a donor got on the list.

Pair those with your own donor suppression and a warmed number, and the December 31 push behaves.

The practical takeaway

The 30%-in-three-days number is real, but you don't capture it by pressing one big button on the 31st. You capture it by:

  1. Warming the number through November so December traffic looks normal.
  2. Registering 10DLC early — October, not December.
  3. Staggering the appeal across Dec 26–31 so no single send fights the throughput ceiling.
  4. Suppressing donors after every gift so nobody gets over-asked.
  5. Rotating variants, keeping each to one segment, and using a branded link.
  6. Scrubbing and letting quiet-hours + STOP handling run.

If you're setting up your year-end program now, the nonprofit SMS fundraising strategies guide is a good companion read, and you can start on ReadySMS with 20 free test sends — plus a $25 credit when you register — to test your warm-up sequence before the money's on the line. Build the schedule in October, and December takes care of itself.