Most bans aren't from a single violation - they're from a built-up suspicion profile. The algorithm doesn't penalize one "cheap" line of text; it penalizes patterns. Understanding the system's logic means working inside its tolerances, not against them.
WhatsApp builds an account model before content analysis. Behavioral signals are the most sensitive layer.
Sent vs received ratio. If an account sends 10× more than it receives - that's an anomaly. Normal users have dialogues, not monologues.
Activity ramp speed. A jump from 5 messages a day to 200 is a classic red flag. The algorithm notices the spike, not just absolute volume.
No-reply chains. More than 10–15 outbound messages in a row with no inbound within 5–10 minutes triggers heightened scrutiny. A direct behavioral marker of bulk sending.
Who initiates. An account that always starts and never replies is statistically atypical. The higher the share of cold first messages - the worse the profile.
Saved to contacts. If recipients don't save your number - the system reads it as unwanted contact.
All of this feeds a behavioral score before a single word is checked.
A complaint is the heaviest signal in the system. Mechanics differ by product. A detailed breakdown of three bulk metrics is in a separate article; here - the general logic.
Business App (not API): 3–5 complaints within 1–2 hours is enough for a temporary block. The threshold is intentionally low - Meta doesn't want mass outreach through personal numbers.
WABA API: a percentage threshold applies. Exceeding 0.3% complaints on delivered messages isn't just a warning. It's a direct Tier hit: trust level drops, daily send limits shrink. Restoring Tier is harder than losing it.
A single complaint on a new account is a separate story. In the first days after registration, complaint weight is higher. One complaint on a warmed account with history - one outcome. One complaint on a three-day-old account - another.
Signature analysis looks for identity patterns, not just "banned words."
100% identical text in 10–15+ messages in a row - almost a guaranteed trigger. This includes structurally similar templates with the same lexicon, not only exact copies.
Partial word swaps don't always help. The algorithm is trained on template similarity, not exact match only. Same sentence structure, rhythm, marker-word distribution - swapping "discount" for "deal" changes nothing. That's why nested Spintax matters more than swapping one token.
High-risk words: discount, free, gift, earn, broadcast, webinar, offer, buy, delivery. Each isn't an auto-ban, but each adds to the suspicion stack. Several in a repeating template - serious.
For WABA: manipulative lines like "Last chance," "Deadline…," "Your access will soon be limited" are prohibited. Templates with such wording won't pass Meta moderation; if they did and got complaints - blocked with Tier consequences.
Repeating the same image in 10–15+ messages within an hour - a signal. The system detects pixel match plus watermarks, logos, ad banners.
PDF attachments sent in sequence to different contacts are analyzed too. Commercial content inside raises risk.
Short links (bit.ly, t.me, wa.link) are tracked separately as a mass-send marker - bots use them, and the algorithm knows.
Phones and emails in message body raise suspicion. Heavy emoji - especially 💰🚀🔥🤑 - act as visual ad signatures.
A layer many underestimate - where multi-account setups burn.
| Signal | Risk level | What happens |
|---|---|---|
| Frequent IP changes (different geo) | 🔴 Critical | Profile anomaly, up to instant ban |
| Android emulator | 🔴 Critical | Near-certain ban at scale |
| VPS / cloud hosting | 🟠 High | WhatsApp sees infrastructure traits |
| VPN / proxy without history | 🟠 High | Counted as activity-hiding marker |
| Virtual number without SIM | 🔴 Critical | Banned at registration or first day |
| Stable IP + real device | 🟢 Safe | Close to normal user behavior |
WhatsApp analyzes not only what you send, but from where and on what. Online bulk services on server IPs land in this layer automatically. Environment is part of the account signature.
The algorithm is trained on billions of accounts and builds a "normality" model per profile.
Anomaly means deviation from the account's own history - not an abstract average. A sudden outbound spike, sharp growth in new recipients, inbound collapse - all computed as statistical anomaly.
That's why warmup works: gradual activity growth avoids a contrast jump; the system reads smooth growth as organic.
And why a cold start with bulk messaging is account suicide.
Figures below are practical benchmarks, not official Meta docs. They reflect real-world campaign observations.
Business App:
WABA API:
Universal:
Spintax is the baseline variation tool. Syntax: {option1|option2|option3} - one random pick per message. Don't confuse with [A|B] - those are permutations.
Minimal working example:
{Hi|Good afternoon|Hello}, {name}!
{Wanted to share|Sending you|Take a look at} our {offer|material|overview}.
Unique combinations each send. Variation must hit structurally important spots, not just the greeting. The algorithm reads the full text.
Recipient name in the body - a separate personalization signal. The formula for a first message that gets replies is a separate breakdown - use it when your list allows.
On Business App - check daily volumes against the benchmarks above. On WABA - monitor complaint percentage in Meta Business Suite in real time, not after the fact.
Practical rule:
The system doesn't ban people who write a lot - it bans people who behave like bots. The difference is variation, pace, and account history.