Sending a WhatsApp broadcast message to a few hundred contacts is not technically difficult. Sending it without getting the number limited is, and that is almost entirely a question of how fast the messages leave. A tool that fires four hundred identical messages in ninety seconds is not saving you time; it is spending your number.
Spun sends campaigns one conversation at a time, with a real gap between each, and it will not let you go faster than the line can safely take. This page explains the controls: the ones you set, the ones Spun applies by default, and the one switch (Expert mode) that lifts the defaults for a manager who knows what they are doing.
What happens to each WhatsApp broadcast message when you press send
When you build a campaign you choose a pace, and the pace is a range rather than a fixed interval. Conservative leaves fifteen to thirty seconds between messages, normal leaves eight to fifteen, and the fastest setting leaves three to eight and is explicitly flagged as one to use only on an established number in good standing. Spun picks a random value inside the range each time rather than sending on a metronome, because a perfectly regular interval is itself a signal.
Before you commit, a preflight panel shows the run as WhatsApp would see it: recipients, how many are first contacts, how many are unsaved, whether the body is identical for everyone, links, the send window, the duration at the pace you picked, the line’s age and its Sending Health. Four hundred recipients at a conservative pace is a couple of hours, and seeing that number before you press send is usually what stops someone reaching for the fastest option. The panel has two buttons, “Adjust” and “Send anyway”, and “Send anyway” always works; its footer says it plainly: our estimate from observable behaviour, it never blocks a send.
Once the run is going, Auto-slow watches it. After 40 sends, if fewer than 15% of recipients have replied within 48 hours or more than 30% of sends are sitting on a single tick, the pace steps one preset slower and stays there; it never pauses a run by itself, and the second time it fires it suggests that you consider pausing.
- Conservative, roughly fifteen to thirty seconds apart. The right default for a new number, for group sends, or for any line that has had a warning.
- Normal, roughly eight to fifteen seconds apart. Suitable for most established lines.
- Fastest, roughly three to eight seconds apart, marked as a risk and worth avoiding unless the line has a long clean history.

The pace you choose is a request, not a guarantee of speed. The server caps it to what the channel can safely take, adds extra random jitter on top, and holds sends entirely during the quiet-hours window rather than delivering marketing at three in the morning.
Why a new number sends more slowly than an old one
A freshly connected WhatsApp number is the most fragile thing in this whole system. It has no history, so any burst of outbound messages looks exactly like what a spammer would do on day one. Spun treats new lines differently on purpose: for the first week after a number is connected its send rate is held to a warm-up tier of about three messages a minute, well below the normal ceiling, and campaigns inherit that limit whatever pace the composer offered.
New contacts are rationed separately. The daily first-contact budget allows 50 first messages a day by default while the line is under 30 days old and 150 after; anything over the budget is deferred to the next day, never dropped, and the campaign shows how many are waiting. Sending Health, the 0 to 100 score on the line under Settings > WhatsApp > Health, counts line age as one of its factors (fully earned at 90 days), so a new line has a little less headroom than an established one, and a New-line assistant on the same card (shown for lines under 14 days old) suggests Keep In Touch lists so the first traffic is two-way.
The rate a campaign actually runs at is the lowest of three things: the platform-wide ceiling, any limit set on that specific channel, and the reduced warm-up rate if the number is still new. You cannot opt out of the lowest of those by choosing a faster preset, which is the point.
Related: How Spun connects to your number
Choosing who actually receives it
A campaign is only as good as its list, and the fastest way to get a number restricted is to send to people who never asked. Spun builds audiences from what is already in the workspace rather than from an uploaded spreadsheet of strangers.
- By label: everyone tagged as a lead, a past customer, or whatever your labels mean.
- By segment: a saved, dynamic rule set built from labels, activity and custom fields, which stays current as contacts change rather than freezing at the moment you built it.
- By hand: pick specific conversations for a small, deliberate send.
Personalisation is per recipient: the “Personalize” row in the composer inserts each contact’s first name or full name, with a preview for the first recipient, so four hundred people receive four hundred slightly different messages rather than four hundred identical ones. The “Add opt-out line” button appends a short line such as “Reply STOP to unsubscribe” in the recipient’s language (editable, remembered per line), and an image going to more than 20 recipients gets a slight per-recipient variation by default. That is better for the reader and better for the number.
Related: How WhatsApp broadcast lists work, and their limits
A quick broadcast and a campaign are two different tools
The Broadcast Panel is for a one-off: pick recipients, write the message, choose a pace, send. Nothing is saved as a reusable object, and that is the right shape for "the shop is closed on Monday". Under the hood it now runs on the server as a quick campaign at the same pace as everything else, so closing the tab no longer stops it, a Stop button does, and the panel shows when it is paused for quiet hours and how many sends are deferred. Send to Multiple works the same way.
The Campaign Hub is for anything you want to plan, schedule, repeat or report on properly. It keeps the campaign as a record, holds its audience definition, and tracks each recipient individually so you can come back afterwards and see what happened to whom.
Related: Scheduling a single message instead
What you can see afterwards
- Per-recipient status, so a failure is a specific contact you can look at rather than a number in a summary.
- Progress while it runs, which matters when a paced send takes an hour; when a campaign is split across lines, progress is shown per line.
- The replies themselves, which land in the normal inbox as ordinary conversations, assigned and answerable by the team.
The replies are the actual output of a campaign. A broadcast that produces forty conversations nobody answers for two days is worse than not sending it, so plan for the inbox load before you plan the send.
Limits and cautions
- Consent is not optional. Messaging people who never opted in is the single fastest route to a restricted number, whatever pacing you use.
- A paced campaign takes real time. Hundreds of recipients is hours, not minutes, and that is deliberate.
- Spun can slow you down but cannot make an unwanted message wanted. Pacing reduces the operational signals, not the complaints, and Sending Health is our estimate from observable behaviour, not a number WhatsApp publishes.
- If three first contacts in a row fail while existing chats still deliver, Spun treats the line as restricted for up to 24 hours and defers new-contact sends to the next send window rather than pushing through.
- The line has to stay connected for the duration. A disconnect mid-campaign stops the run.
- This is not the WhatsApp Business API, so there are no pre-approved template messages and no per-message fee, and equally no official bulk-sending allowance.
Related: What Spun will not let you send
Choosing a line, or splitting across several
With more than one WhatsApp number connected, the composer asks which line a campaign should send from. You can pick one, or choose “Split across lines” and let several carry it: “Take turns” alternates recipients between them, “By percentage” gives each line a share, and “Match country” sends each recipient from the line whose country matches theirs, with a fallback line for everyone else.
Each line keeps its own pace, its own first-contact budget and its own quiet hours, and the campaign shows progress per line. Splitting shares the volume; it does not change what WhatsApp thinks of the content.
Every guard is optional
All of the above lives in Sending preferences, which managers can change per line: the daily first-contact budget, Auto-slow, pause while restricted, the new-line warm-up tier, the opt-out footer and image variation. Each one can be switched off on its own.
Expert mode is the single switch that lifts them all, along with the preflight prompts. Two things stay on regardless: the platform rate limit and the campaign daily limit. Sending Health stays advisory either way; it never blocks a send.
Sending Health is a 0 to 100 score per line (Healthy 80 and above, Watch 50 to 79, At risk below 50) built from what Spun can observe: replies, sending bursts, the share of new contacts, unanswered chats, single-tick sends, line age and disconnections. It is our estimate, not WhatsApp’s: a higher score reflects lower risk, it does not remove it.