You send a blast at 9 AM. Delivery looks ugly — a chunk of it silently vanishes, no error you can see, just a lower confirmed rate than you expected. So you tweak the copy, shorten the link, double-check the campaign registration, and resend the survivors at 2 PM. Suddenly it lands. Same message. Same list. Same number. What changed?
Not your message. The carrier's mood.
Full disclosure: I work for Ready, an SMS platform. So I spend a lot of time staring at delivery receipts across the day, and the time-of-day pattern is real enough that I've stopped treating it as noise. Carrier filtering isn't a fixed gate you either pass or fail. It's a scoring system that gets stricter when the network is under load — and the network is under load at predictable hours.
Filtering is a score, not a switch
When people picture carrier filtering, they imagine a rulebook: bad link, blocked; SHAFT word, blocked; unregistered traffic, blocked. Those hard rules exist. But most day-to-day filtering is a spam score the carrier assembles per message, per sending number, per campaign — and then compares against a threshold.
The score pulls from things like:
- Your sending number's recent reputation (complaint rate, opt-out rate, how "human" your traffic looks)
- Content signals (link shorteners, all-caps, money words, a bare link in a first message)
- Volume and velocity — how fast this number is pushing messages right now
- How congested the network is at that moment
That last one is the piece nobody tunes. When the carrier's spam engine is fielding a firehose of traffic, it tightens the threshold. A message that scores a marginal 60/100 sails through at 2 PM when the network is quiet and gets held at 9 AM when it isn't. You didn't change. The bar moved.
If you're already fighting a marginal score for other reasons — a shared number, a public shortener, a link in your first text — the time-of-day swing is what pushes you from "mostly delivered" to "quietly gutted." We've written about several of those marginal-score drivers separately: public URL shorteners and links in the first message are the two most common self-inflicted ones.
Why 9 AM and 6 PM are the worst windows
The network gets busy when everyone decides it's a good time to text their list — and everyone was taught the same "best times to send" playbook. So the marketing herd all fires at the top of the business hour.
The rough daily shape, from watching aggregate traffic (and this is an approximation, not a carrier-published curve):
| Window (recipient local time) | Network load | Filtering posture |
|---|---|---|
| 6–8 AM | Ramping | Moderate — early risers, low volume |
| 8–10 AM | Heavy | Strict — the "start of workday" blast pileup |
| 10 AM–12 PM | Moderate | Looser |
| 12–1 PM | Spiky | Mixed — lunch-hour promo surge |
| 1–4 PM | Light | Loosest — the sweet spot |
| 5–7 PM | Heavy | Strict — evening commute + dinner promos |
| 7–9 PM | Moderate | Looser but late |
| 9 PM–8 AM | — | Quiet hours; you shouldn't be sending anyway |
The two ugly bands — roughly 8–10 AM and 5–7 PM — are exactly when the "send at the start of the workday" and "catch them after work" advice tells everyone to fire. The advice isn't wrong about human attention. It's wrong about carrier attention, because it moves everyone into the same congested window at once.
The quiet 1–4 PM stretch is where a marginal message gets the benefit of the doubt. Not because your content improved — because the network had spare capacity to be generous.
Congestion and your own throughput ceiling stack
There's a second reason 9 AM hurts, and it's yours, not the carrier's shared network.
Every 10DLC campaign has a throughput ceiling — a messages-per-second cap tied to your trust tier. When you dump a 50,000-contact blast into the queue at 9 AM, you're pushing your own number at its maximum velocity at the exact moment the carrier is scrutinizing velocity hardest. High velocity is a spam signal. High velocity into a congested, strict-scoring network is the worst possible combination.
We covered the mechanics of that ceiling in why your 50,000-contact blast takes 4 hours and why a flash-sale blast won't all land in the first hour. The short version: your blast is already going to spread across a window whether you like it or not. The question is which window it spreads across.
If your throughput cap means a 50k send takes ~3–4 hours to drain, and you start it at 9 AM, the whole thing marinates in the two worst filtering bands. Start it at 12:30 PM and most of it drains through the 1–4 PM soft zone.
What "tuning the send window" actually looks like
You don't need a data-science project. You need to stop firing at the herd hours. Concretely:
- Default your marketing sends to the 1–4 PM local band. Not 9, not 5. This alone moves a marginal message from "held" to "delivered" more often than any copy tweak.
- Schedule by the recipient's local time, not yours. A 12:30 PM send from your desk is 9:30 AM for a third of a national list — right back in the strict morning band. This is the same trap as the multi-timezone quiet-hours problem: "send at X" only works if X is per-recipient.
- Start large blasts early enough that the tail still lands in the soft window. If your queue drains over 3 hours, a 12:30 PM start finishes around 3:30 PM — clean. A 3 PM start bleeds the tail into the 5–7 PM strict band.
- Keep transactional and urgent traffic out of this optimization. A shipping confirmation or a 2FA code should send when the event happens. Time-of-day tuning is for bulk marketing, where the send time is discretionary.
Where Ready fits (and where it doesn't)
Two things Ready does here directly. First, quiet-hours enforcement: sends are held outside permitted local hours based on the recipient's area, so you're not accidentally firing at 6 AM for the East Coast portion of a list scheduled off your West Coast clock. That keeps you out of the TCPA-exposure zone and out of the strictest early-morning filtering band as a side effect.
Second, throughput is metered against your registered campaign's ceiling rather than dumped all at once, so a blast paces itself instead of spiking your velocity signal into a congested network. Combined with scheduling into the soft afternoon band, that's most of the deliverability lift you can get from timing.
What Ready won't do is magically fix a message that's marginal for content reasons. If you're shipping a bare bit.ly link in the first text, or you registered a marketing campaign for what's really transactional traffic, the afternoon window buys you slack — it doesn't buy you immunity. Fix the content signal and pick the window; they compound.
Honesty check: the exact hourly filtering curve isn't published by any carrier, and it varies by carrier — T-Mobile's posture differs from AT&T's, which we get into in the T-Mobile vs AT&T throughput piece. Treat the table above as a directional pattern, not gospel. The reliable, testable claim is narrower and still worth acting on: the same marginal message delivers better in a low-congestion window than a high-congestion one.
A cheap experiment worth running
Before you trust any of this, prove it on your own list. Split a routine blast in two. Send half at 9 AM local, half at 2 PM local, identical copy, same day. Compare the carrier-confirmed delivery rate — not the "sent" count, the actual confirmed number, because a 98% "delivered" rate can be lying to you.
If the two halves land within a point of each other, congratulations — your message is scoring so cleanly that congestion doesn't matter, and you can send whenever suits you. If the afternoon half beats the morning half by several points, you just found free delivery you were leaving on the table every morning.
The practical takeaway
Filtering is a moving threshold, not a fixed gate, and it tightens when the network is busy. The herd sends at 8–10 AM and 5–7 PM, which is exactly when it's busiest. Default your discretionary marketing sends to the 1–4 PM local band, schedule by recipient timezone, and start big blasts early enough that the tail still lands in the soft window. Fix your content signals in parallel — timing amplifies a clean message, it doesn't rescue a dirty one.
If you want the quiet-hours and paced-throughput side handled for you while you experiment with send windows, that's built into Ready, and there are 2,500 free credits to run the 9-AM-vs-2-PM split test on your own list — sign up here, no card required. Run the test before you take my word for any of it.