Home /how-it-works/adaptive-throttling
How does adaptive throttling protect my sender reputation?
Every outbound SMS is jittered 10-30 seconds between sends so the carrier sees human-paced texting, not a blast pattern. This is intentionally slower than competitor platforms that send 1 message per second, because the slow drip is the difference between a number that lands in inboxes and a number that gets shadow-banned by carrier spam filters. The pacing is non-negotiable; there is no "speed mode" toggle.
On this page
What adaptive throttling is
When you click "Send" on a campaign, we don't send all the messages at once. Instead, each message is queued, and the queue drains at one message every 10-30 seconds (randomized within that window per send) per sending number. That random distribution is the key — a perfectly-spaced pattern (every 15 seconds on the dot) still reads as machine-driven; a jittered pattern reads as human.
If you have multiple sending numbers (Growth tier and up), the throttle runs independently per number. Two numbers each at 1-per-15-seconds = 2 messages per 15 seconds across the account.
Why we jitter (and what 30007 is)
Carriers (T-Mobile, AT&T, Verizon) run their own spam-detection layers on top of the standard A2P 10DLC framework. The most-cited Twilio error code wholesalers run into is 30007: Message blocked by mobile operator due to anti-spam carrier filters. When 30007 fires, it usually doesn't mean your content tripped a keyword filter. It means the carrier saw a sending pattern that didn't match human behavior:
- Too many sends per minute from one number.
- Too-perfect intervals between sends (every 5 seconds exactly).
- Same-template content going to a high recipient count in a short window.
- A number that recently had a high opt-out rate.
Adaptive throttling addresses the first two directly. Template rotation (separate feature) addresses the third. DNC defenses (separate feature) address the fourth. Together they keep the 30007 rate under 1% on healthy accounts.
The math: how long does a 2,000-lead campaign take?
At 1-per-15-seconds (the average of the 10-30 second window), a single number sends 4 messages per minute, 240 per hour. A 2,000-lead campaign on one number takes ~8 hours to fully drain.
This is why higher-volume tiers ship more sending numbers. Number rotation spreads the load:
- Starter, 1 number: ~240 SMS/hour. 2,000-lead campaign in ~8 hours.
- Growth, 2 numbers: ~480 SMS/hour. 5,000-lead campaign in ~10 hours.
- Scale, 4 numbers: ~960 SMS/hour. 12,000-lead campaign in ~12 hours.
- Empire, 8 numbers: ~1,920 SMS/hour. 30,000-lead campaign in ~16 hours.
Quiet hours (9 PM-8 AM in the recipient's local timezone) pause the queue at night and resume at 8 AM. So a campaign started at 4 PM will pause at 9 PM, drain again from 8 AM the next morning, and finish over the course of one or two business days.
vs LaunchControl / REI Reply blast pacing
Competitor platforms typically send at 1 message per second per number, sometimes faster. This is achievable for them because they pool numbers across customers — if the carriers shadow-ban one number, the platform rotates you onto a different one and absorbs the loss. The platform is the sender of record, so the reputation hit is theirs.
With InsertLead's BYOT model, you're the sender. There's no shared pool to absorb the hit. So the only correct strategy is: send slowly enough that no individual send pattern raises a flag.
Some wholesalers find this frustrating coming from a faster platform. The honest answer is: yes, your campaign takes longer to send. The trade is that your reply rate is higher (because more messages actually deliver), your number stays warm (so future campaigns also deliver), and you don't lose two weeks every quarter to "my Twilio account is suspended." Run the numbers on your own deliverability and you'll usually find the slow path wins on dollars-per-reply.
What happens during a long-running campaign
A few things you can do while the campaign is draining:
- Watch live in the dashboard. Sent count + reply count update every few seconds. The reply-rate KPI is live.
- Read incoming replies. The AI autoresponder handles them in parallel; you can tune in to specific conversations or just glance at the Hot inbox as leads warm up.
- Pause the campaign. One click. Resume later.
- Add to the audience. Drop another import in, target the new batch, fire a follow-on campaign while the first is still running.
The throttle is not a UI you interact with directly. It's a background queue that we monitor for you. The only operational signal is in the dashboard's "Queued AI replies" KPI which counts messages waiting to drain — useful for spotting backlogs but not something you have to manage day-to-day.
Ready to try it? Request beta access