Opt-outs, Frequency Caps & WhatsApp Number Health
The guards that keep your number green: automatic STOP/START opt-out handling, a marketing frequency cap, and the quality and daily-limit signals in the composer.
A WhatsApp opt-out is a customer telling you to stop sending them business messages — and once they have, every future broadcast and drip campaign must skip them automatically, not just the next one. In ConvoFly, a customer who replies STOP is unsubscribed and confirmed within seconds, and from that moment on every campaign audience excludes them without you doing anything.
This matters more on WhatsApp than on email, because WhatsApp is a channel people guard. A recipient who cannot make you stop does not unsubscribe — they block and report, and blocks are the thing that drags down the quality rating attached to your phone number. A poor rating can freeze or reduce your messaging limit, which means the punishment for over-messaging is fewer people reachable per day, permanently.
ConvoFly gives you three built-in guards against that: automatic opt-out handling, a marketing frequency cap, and quality and daily-limit signals in the composer. This guide covers what each one does, exactly where to find it, and the one place the numbers are less precise than they look.
Why opt-outs are a policy matter, not just good manners
Honouring opt-out requests is part of the WhatsApp Business Messaging Policy that your number is bound by, and Meta's template guidelines govern what you may send in the first place. This is not a channel where you can run an unsubscribe link and call it handled — the request usually arrives as a plain-English reply in the middle of a conversation, and it has to be acted on there.
That is the practical argument for automation. A human reading "please stop messaging me" at 11pm on a Sunday will not get to it before your next scheduled send goes out. A keyword listener will.
STOP and START: the words ConvoFly listens for
ConvoFly watches every inbound message for opt-out and opt-in intent, so customers do not have to guess the magic word:
- Opt out — STOP, plus natural variants such as unsubscribe, opt out, cancel subscription and remove me. The contact is unsubscribed immediately and sent a confirmation so they know it worked.
- Opt back in — START, plus variants such as subscribe and opt in. The contact is resubscribed and can receive campaigns again.
The confirmation reply matters as much as the unsubscribe itself. Silence after "STOP" is what makes people escalate to blocking, because from their side an unacknowledged request looks like it was ignored.
The Opt-outs page: what you can actually do
Open the Opt-outs page using the button on the Broadcasts page. Four things live there:
- Review the list. Everyone who unsubscribed, searchable, with the date and the reason recorded against each entry.
- Export to CSV. One click gives you the full suppression list — useful for reconciling against another marketing tool so the same person is not messaged elsewhere.
- Add numbers manually. Paste in a do-not-contact list to suppress those numbers before you ever send to them. This is the step to run before your first campaign if you are migrating a list from another platform, so people who already unsubscribed there do not get re-messaged here.
- Re-subscribe a contact. If someone asks to come back, put them back on the list from this page.
Opted-out contacts are skipped by every broadcast and drip campaign, and the audience preview tells you how many were skipped — so if you build a segment of 1,200 people and the preview shows fewer, the gap is accounted for rather than mysterious.
Frequency caps: the fix for the most common cause of blocks
Most unsubscribes are not caused by a bad message. They are caused by a fine message arriving for the fourth time that week. A frequency cap limits how many marketing messages one person can receive in a rolling time window — for example, a maximum of 2 every 24 hours.
To turn it on:
- Open the Opt-outs page from the Broadcasts page.
- Find the Frequency cap card. It is off by default, so nothing is capping you until you switch it on.
- Set the maximum number of messages and the length of the rolling window.
- Save. It applies to every campaign from that point on.
Three details decide whether the cap does what you expect:
- Marketing only. Utility messages such as order and shipping updates are never capped — a customer who bought something still gets told it shipped.
- Broadcasts skip. Anyone already over the cap is left out of that send and shows as "skipped" in the report.
- Drip campaigns defer. A drip campaign does not drop the contact; it holds the step and sends it later, so the person stays in the sequence but receives it more slowly.
How each tool reacts to each guard
The same rule does not behave identically everywhere, and knowing the differences prevents a lot of "why did this person not get it" investigations:
| Situation | Broadcast | Drip campaign | Order-update automation |
|---|---|---|---|
| Contact has opted out | Skipped | Skipped | Skipped |
| Contact is over the frequency cap | Skipped, shown in the report | Deferred — step sent later | Not capped (utility) |
| Template rated 🔴 Low quality | Blocked from sending | — | — |
| Counted in the composer's "sent today" figure | Yes | No | No |
Template quality badges in the composer
When you pick a template in the broadcast composer, ConvoFly shows its category and a quality badge based on Meta's rating of that specific template: 🟢 High, 🟡 Medium, 🔴 Low. The rating reflects how recent recipients reacted to it, so it is a running score rather than a one-time approval verdict.
A 🔴 Low-quality template is blocked from sending. That is deliberate: continuing to push a template people are reacting badly to is the fastest route to damaging the number itself, which affects every campaign you will ever run rather than just this one. The fix is to write a replacement — usually shorter, more clearly relevant to why the person opted in, and with a genuine reason for arriving today.
A 🟡 Medium badge is a warning, not a block. Treat it as a prompt to look at what the template is asking of people before you send it to a large audience.
Reading the daily-limit banner — and its honest caveat
The composer also shows a per-number banner along the lines of "📱 your-number · 320 / 2,000 sent today · Tier 2K". That tells you your daily messaging limit, which tier you are on, and how much of the allowance today's sends have used.
The caveat matters: that "sent today" figure counts only broadcast sends. It does not include order-update automations or drip campaign steps. Meta's real limit is per-number across all template traffic, so on a busy day you are closer to the ceiling than the banner suggests. Treat it as a guide to how heavily you have been broadcasting, not as an exact remaining balance.
Quality rating and what it actually controls
Beyond individual templates, the phone number itself carries a quality rating. Meta's messaging limits documentation lists sending high-quality messages across all your numbers and templates as one of the two conditions for raising your limit — the other being that you have used at least half your current limit in the last 7 days. When both hold, the limit rises one level within 6 hours.
Two things follow. First, poor quality does not merely risk a warning; it stalls you on your current tier, and new numbers start at 250 unique recipients per 24 hours. Second, being timid is not safe either — a business that sends far below half its limit never clears the usage condition and stays put regardless of how clean its rating is. Meta's documentation does not publish the numeric quality thresholds, so treat any specific score quoted elsewhere with suspicion.
The winning position is steady volume to people who genuinely want it: enough to clear the usage bar, targeted enough that nobody blocks you.
A monthly hygiene routine
- Open the Opt-outs page and skim the recent entries. A cluster of unsubscribes dated to one campaign tells you which message misfired.
- Export the list to CSV and suppress those numbers in any other tool you message from.
- Check the frequency cap is still set to something you would tolerate as a customer.
- Look at your delivery reports for a rising failure rate — it is usually the earliest visible symptom of a list going stale.
- Retire any template sitting at 🟡 Medium that you keep reaching for out of habit.
- Before the next big send, prune the segment rather than widening it. Fewer, more relevant recipients is the only lever that improves cost, quality rating and conversion at the same time.
What ConvoFly cannot do for you
Automation handles the mechanics; it does not supply judgement. ConvoFly will not stop you scheduling a promotion to a list that never asked for promotions, and no keyword listener repairs a relationship with someone who felt spammed before they typed STOP. Meta's rules also sit above the app: a template Meta will not approve cannot be sent regardless of what the software allows, and the Business Messaging Policy applies to your account whether or not you have read it.
The reliable pattern is simple to state and harder to hold to: message people who opted in, about the thing they opted in for, no more often than you would want to be messaged — and let the opt-out, cap and quality guards catch the mistakes. For the wider set of habits, see broadcast best practices.
Frequently asked questions
How do WhatsApp opt-outs work in ConvoFly?
Automatically. A customer who replies STOP — or unsubscribe, opt out, cancel subscription, remove me — is unsubscribed and sent a confirmation immediately; START resubscribes them. Opted-out contacts are skipped by every broadcast and drip campaign, and the audience preview shows how many were skipped. You can view, search, export, import or re-subscribe them on the Opt-outs page.
Can I limit how many marketing messages a customer gets?
Yes. The Frequency cap card on the Opt-outs page is off by default; turn it on and set a maximum per rolling window, such as 2 every 24 hours. It applies to marketing messages only — order updates are never capped. Broadcasts skip contacts already over the cap; drip campaigns defer the step instead so the contact stays in the sequence.
Why can't I send a certain template?
If Meta has rated the template 🔴 Low quality, ConvoFly blocks it from broadcasting to protect the number itself. Every template shows a 🟢 High / 🟡 Medium / 🔴 Low badge in the composer, based on how recent recipients reacted to it.
Does the 'sent today' number show exactly how many messages I have left?
No. It counts only broadcast sends, while Meta's limit is per-number across all template traffic including order automations and drip steps. On a busy day you are closer to the ceiling than the banner shows, so treat it as a guide rather than a remaining balance.
Does over-messaging affect how many people I can reach?
Yes. Meta requires high-quality messaging across all your numbers and templates as one of the two conditions for raising your limit — the other is using at least half your current limit in the last 7 days. Blocks and reports work against the first condition, so heavy over-sending can leave you stuck on your current tier. New numbers start at 250 unique recipients per 24 hours.