Skip to main content

Building a Sustainable WhatsApp Newsletter

WhatsApp is the most personal marketing channel there is. Messages land between family chats and friends, open rates are high, and people reply. That is also why WhatsApp and Meta are strict about how businesses use it. A newsletter built on real consent can run for years. A newsletter built on an imported list can get your number restricted within days.

This guide covers both sides: how to build an audience that wants your messages, and how Meta's enforcement works so you can see where the limits are before you reach them.

Read these first

This guide is the bridge between collecting subscribers and sending campaigns. It links to, and does not repeat:

Never message anyone who did not explicitly sign up

Every person on your WhatsApp newsletter must have actively and knowingly asked to receive marketing messages from you on WhatsApp. If you are not sure whether a contact gave that permission, they did not. Do not message them.

None of the following counts as consent to a WhatsApp newsletter:

SourceWhy it is not consent
Purchased or rented listsThese people have never heard of you. Buying numbers is prohibited by WhatsApp's Business Messaging Policy.
Scraped numbers (websites, groups, directories)Having a number is not the same as having permission to use it.
Old CRM or shop customer dataA customer who gave a phone number for delivery did not agree to WhatsApp marketing.
Numbers collected for a different purposeConsent to "order updates by SMS" is not consent to "weekly deals on WhatsApp".
Pre-ticked checkboxes, buried termsConsent must be a clear, active choice.
"They messaged us once for support"A support conversation is not a newsletter subscription.

Importing a contact and marking it as subscribed does not create consent. SendSeven's contact import lets you carry over subscriptions only when you confirm (optin_confirmed=true) that you already obtained the opt-in elsewhere. The subscription is then recorded with the opt-in method import, which shows that SendSeven did not witness the consent. Your own records (signup form, timestamp, wording shown to the person) are the only evidence. If you cannot produce that evidence for a contact, do not import them as subscribed. See Importing WhatsApp, Email, and SMS subscribers.

Sending to people without permission breaks WhatsApp's policies, anti-spam and privacy law (GDPR, ePrivacy, UWG in Germany, TCPA and similar laws elsewhere), and SendSeven's terms of service. It is also the fastest way to lose your number, as the next section explains.

2. Why Import-and-Blast Gets Numbers Banned

The usual pattern goes like this: a business connects a new WhatsApp number, imports a few thousand phone numbers from a spreadsheet, and sends a promotion to all of them on day one. Within hours or days, the number is flagged, the template is paused, and sending stops. The steps below show why.

Recipients decide your fate

Every WhatsApp user who receives a business message can block the business and report it as spam, directly from the chat. When a message arrives from a business the recipient does not recognize or never subscribed to, many recipients do exactly that. Meta counts these signals, along with the reasons people give, and uses them to judge you.

With a cold list, the block and report rate is high, and each block or report counts against your number.

The quality rating

Every WhatsApp business phone number has a quality rating, based on how recipients reacted to your messages recently:

RatingMeaning
Green (high)Recipients are engaging; few blocks and reports
Yellow (medium)Warning: negative feedback is rising
Red (low)Many recipients are blocking or reporting you; enforcement is likely

A low rating can get your number flagged. While flagged, your number cannot move up to a higher messaging limit, and if quality does not recover, Meta can lower your messaging limit or restrict the number.

Template pausing and disabling

Meta also rates each message template on its own. When a marketing template collects too much negative feedback, Meta pauses it automatically. You cannot send that template while it is paused. Templates that are paused repeatedly can be disabled permanently. If your newsletter depends on one template, one bad send can stop it.

Messaging limits

Meta caps how many unique customers you can start conversations with (by sending templates) in a rolling 24-hour window. That cap is your messaging limit, and it rises over time only if your quality stays high. A cold-list blast works against this in two ways:

  • You hit the limit immediately, because a new or unverified business starts with a low limit.
  • The negative feedback from that blast prevents upgrades and can lead to downgrades.

Restriction and bans

If the pattern continues, or if Meta finds a clear policy violation (such as messaging people who never opted in), enforcement escalates:

  • The phone number can be restricted from sending business-initiated messages for a period of time.
  • The WhatsApp Business Account can be restricted.
  • In serious or repeated cases, the account can be banned from the WhatsApp Business Platform.

Restrictions can be appealed in Meta's WhatsApp Manager, but appeals take time and are not guaranteed to succeed. You cannot fix a banned number by connecting it again. Its history stays with it.

The math of a cold blast

Even a small share of recipients blocking you is a strong negative signal when the send is large. A newsletter where everyone asked to join has almost no blocks. A cold list almost always has many. The same template, sent to the two audiences, can get opposite quality ratings.

3. Getting Real Opt-Ins with SendSeven

The best WhatsApp opt-in is one where the subscriber sends the first message. When someone taps a link, sees start already typed in WhatsApp, and taps send:

  • the conversation is user-initiated: they contacted you, not the other way around
  • the opt-in comes from their own verified WhatsApp account, so it is hard to fake and easy to prove
  • the message is stored in the conversation history in your SendSeven inbox, with a timestamp
  • they already know your business name and number, so your first newsletter will not come as a surprise

SendSeven builds its whole WhatsApp opt-in process around this.

Set up a default newsletter list

Create a newsletter list (for example "WhatsApp Deals") and mark it as the default list. With a default list, subscribers only need to send the single word start. Without one, bare start is ignored. See The Default List.

In the list's newsletter settings, write a welcome message that confirms the subscription and tells people how to leave. The built-in default already does both:

Welcome! You've successfully subscribed to our updates. Reply 'stop' to unsubscribe at any time.

Each newsletter list can also run an opt-in action and an opt-out action. For each one you choose a message (with optional buttons) or a Flow, either the same for all channels or different per channel. Use a Flow if you want to greet new subscribers with a short onboarding sequence, such as asking which topics they care about.

Put the opt-in where your customers already are

ToolWhere to use it
Newsletter widget on your website (Widgets → Create Widget)Shows your connected messaging channels as buttons. The WhatsApp button opens WhatsApp with the subscribe keyword already filled in, so the visitor only taps send.
Opt-in links from Promotion Toolshttps://wa.me/<number>?text=start, for email footers, social bios, order confirmation pages, and thank-you pages
QR codes and promo images from Promotion ToolsPackaging, receipts, shop counters, posters, events: "Scan & send START"
Printable one-pager from Promotion ToolsIn-store displays

Every one of these assets makes the subscriber send the message. None of them adds a phone number to a list without the person acting.

Tell people exactly what they are signing up for

Consent is only meaningful if people know what they agreed to. Next to every opt-in button or QR code, say:

  • what they will receive ("weekly deals", "new arrivals", "event invitations")
  • how often ("about once a week")
  • how to leave ("Reply STOP at any time")

People who know what to expect rarely block. People who are surprised often do.

How the keywords work

SendSeven handles opt-in and opt-out keywords automatically on WhatsApp. You do not need a bot or Flow. Keywords are case-insensitive and are processed before any bot, AI assistant, or Flow, so an assistant can never answer an unsubscribe request by mistake.

Subscriber sendsWhat happens
start or subscribeSubscribed to the default list; receives the welcome message (or the opt-in action)
start <slug>Subscribed to the list with that slug, e.g. start weekly-deals
stopUnsubscribed from every list on that channel
stop <slug>Unsubscribed from that one list only
stop allUnsubscribed from every list on that channel
A single opt-out word such as unsubscribe, cancel, stopp, abmelden, abbestellen, arrêt, baja, cancelar, sair, annullaTotal opt-out from every list on that channel

Some details to know:

  • The single-word opt-outs (English, German, French, Spanish, Portuguese, Italian) only count when they are the whole message, so "please cancel my order" is not treated as an unsubscribe. Accents are ignored (arret works as well as arrêt).
  • A bare stop from someone who is not subscribed changes nothing. It is passed on to your bot or inbox as a normal message, because people also type "stop" at bots.
  • Keyword handling only runs if your workspace has at least one list. Workspaces with no lists get no keyword replies at all.
  • Campaigns automatically skip contacts who have unsubscribed. You do not need to filter them out yourself.
Double opt-in is for email

SendSeven's double opt-in (a confirmation link sent by email) applies to the email channel only. On WhatsApp, the subscriber's own start message, sent from their verified WhatsApp account, is the confirmation. That is one more reason to keep the subscriber-sends-first approach and not import contacts as subscribed.

Make leaving easy and visible

A subscriber who cannot find the exit blocks you, and a block hurts your quality rating far more than an unsubscribe. So:

  • End your welcome message, and your newsletter messages regularly, with "Reply STOP to unsubscribe."
  • Consider adding a quick-reply button labelled "Stop" to your marketing templates. When a subscriber taps it, WhatsApp sends the button text back as a message, and SendSeven handles it like a typed stop.
  • Never make people explain why they are leaving, or send them anything other than the goodbye confirmation.

WhatsApp also lets users turn off marketing messages from a business in their app settings. After that, Meta rejects marketing templates to that person, and SendSeven records the send as failed. Respect it. Do not try to reach them another way.

4. Verify Your Business and Understand Messaging Limits

Business verification and display name

Before your WhatsApp newsletter can grow past a small audience, complete the following in Meta Business Suite / WhatsApp Manager:

  1. Business verification. Verify your business in Meta Business Suite (Security Center) with your legal business documents. Verification is what unlocks Meta's higher messaging limit tiers.
  2. Display name approval. The display name on your WhatsApp number must be approved by Meta and must clearly match your business or brand. A rejected or pending display name holds back your number.
  3. A complete business profile. Add a description, website, address, and profile picture. Recipients who recognize you are much less likely to block you.

Verification does not guarantee a higher limit. It makes you eligible for higher limits, which you then earn by sending good-quality messages.

How messaging limit tiers work

Your messaging limit is the maximum number of unique customers you can reach with business-initiated (template) messages in a rolling 24 hours. Replies inside an open customer service window do not count toward it. The limits form a ladder: a low starting limit for new or unverified businesses, then steps into the thousands, tens of thousands, a hundred thousand, and finally unlimited.

You climb the ladder by:

  • Keeping quality high (green, or at least not red)
  • Actually using your current limit. Meta raises your limit automatically when you consistently send to a large share of it with good quality
  • Staying verified and within policy

Meta changes the exact tier sizes, upgrade criteria, and how limits are shared across numbers in a business portfolio from time to time. Check the current rules in Meta's official documentation on WhatsApp messaging limits and quality rating.

Meta also limits how many marketing messages one individual user receives from businesses. If a recipient has recently received many marketing messages, Meta may not deliver yours, and SendSeven records that send as failed with a message explaining why. This is another reason to send fewer, more relevant messages.

See your limit and quality in SendSeven

Under Settings → Channels, each WhatsApp channel shows its current messaging limit tier and quality rating (green / yellow / red). SendSeven keeps these up to date from Meta. The same data is available through the API (requires channels:read):

GET /api/v1/whatsapp/channels/{channel_id}/sending-limit
{
"channel_id": "…",
"channel_type": "whatsapp",
"messaging_limit_tier": "TIER_2K",
"quality_rating": "GREEN",
"throughput_level": "STANDARD",
"phone_status": "CONNECTED",
"stale": false,
"supported": true
}

If a campaign reaches your messaging limit in the middle of sending, SendSeven does not mark the remaining recipients as failed. The campaign is throttled (throttle_reason: "whatsapp_messaging_limit"), the remaining recipients stay pending, and sending resumes automatically once the limit window allows it. This protects the campaign, but it also tells you that you are sending more than your number is trusted with.

5. Start Slow: Warming Up a Number

A new number has no history, and Meta has no data to trust it with. Your first sends set its reputation. Treat the first weeks as a warm-up.

Build the audience before you send

Collect opt-ins for a while before your first campaign. Every subscriber who sends start also starts a conversation that went well from your number, which builds good history. Answer questions that come in through those conversations promptly.

The warm-up warning in the campaign builder

When you send or schedule a WhatsApp campaign, SendSeven checks every WhatsApp number the campaign would use. A number counts as warming up when any of these is true:

  • it was connected less than 30 days ago
  • fewer than 3 earlier campaigns have been completed through it
  • fewer than 1,000 campaign messages have been sent through it so far
  • the audience is larger than the number's current Meta messaging limit
  • its Meta quality rating is not green

If a number is warming up and the campaign would reach more than 250 people through it at once, the builder shows a warning with the reasons and a recommended daily plan. You can either switch to split sending (below) or confirm that you understand the risk and want to send everything now. Over the API, the same check is available as GET /api/v1/campaigns/{id}/warmup-check, and sending or scheduling without confirmation returns 409 with the code warmup_acknowledgement_required. For a scheduled campaign you confirm when you schedule it, and it then goes out on time. It is only held (paused with throttle_reason warmup_acknowledgement_required) if the confirmation was never given or was reset by an edit, or if the WhatsApp audience grew by more than 20% and by at least 250 recipients since you confirmed. See Messaging Campaigns for the details.

If SendSeven cannot read your current Meta limit (for example, because Meta is temporarily unavailable), the history checks still apply, so a young number is still flagged.

Let SendSeven split the send over several days

The easiest way to warm up is to turn on split sending in the campaign's send step. SendSeven then sends the campaign as daily batches instead of all at once:

  • Recommended ramp: starts with 250 recipients on day 1 and roughly doubles each day, never above your number's current messaging limit.
  • Fixed daily batch: the same number of recipients every day, for example 500.
  • Send time (optional): the local time at which each following day's batch starts, in the campaign's timezone. Without it, each batch starts at the same time of day as the first one.

Batches are counted per WhatsApp number, because Meta's limits apply per number. Recipients on other channels in the same campaign all receive the message on day 1. Between batches, the campaign shows as throttled with the reason daily batch limit and continues automatically at the next batch's start time. You can pause at any point. When you resume, SendSeven continues with the next day's batch size from that moment, so resuming after a longer pause never sends all the missed days at once. A split can run for at most 60 days.

Choosing split sending with a first batch of 250 or fewer also removes the need to confirm the warm-up warning.

Send in waves, not all at once

Prefer to control every step yourself? Instead of split sending, you can send separate campaigns in waves. SendSeven campaigns send to lists, so split your audience into small waves:

  1. Create a tag, e.g. wave-1, and apply it to a small group of your most engaged subscribers (recent signups, active customers).
  2. Create a dynamic list in the list builder with two conditions: has opt-in for your WhatsApp newsletter list on the WhatsApp channel, and has tag wave-1.
  3. Send the campaign to that dynamic list. Next time, tag the next group wave-2, and so on.
Always include the opt-in condition in dynamic lists

A dynamic list includes every contact matching its filters who can be reached on the channel and has not explicitly opted out. It does not require a subscription by itself. For newsletters, always add the has opt-in condition, or send to the newsletter list directly. Otherwise a tag-only dynamic list could reach contacts who never subscribed.

Use scheduling with your audience's timezone so each wave arrives at a sensible local time, and keep duplicate skipping on (the default) so overlapping waves never message the same person twice within the window.

Built-in protection: warm-up warning and split sending

When you send or schedule a WhatsApp campaign in the app, SendSeven checks every WhatsApp number the campaign uses. If a number is still warming up (for example, it was connected recently, has little campaign history, has a quality rating that is not green, or has an audience larger than its current messaging limit) and the campaign would reach many people at once, SendSeven shows a warning with a recommended daily plan and asks you to confirm. You can also split a WhatsApp campaign over several days, either as a ramp that grows each day or as a fixed daily batch size. See Split Sending and the WhatsApp Warm-Up Warning in the Messenger Campaigns article of the SendSeven help centre.

A suggested ramp-up plan

These numbers are a cautious starting point, not Meta rules. Always stay within your current messaging limit and move to the next step only while the signals below look good.

PhaseAudience per sendFrequencyMove on when
Week 150 to 100 of your most engaged subscribers1 sendQuality stays green, almost no STOPs, some replies
Week 2~2501 to 2 sendsSame, and read rate holds steady
Weeks 3 to 4Roughly double each send, up to your current limit1 to 2 sends per weekQuality green, STOP rate low and stable
After thatFull listYour normal scheduleKeep watching every campaign

Never jump from a few hundred to your whole list in one step, even if your limit technically allows it.

What to watch after every send

SignalWhere to find itHealthy
Delivered and read countsCampaign statistics (GET /api/v1/campaigns/{id}/statistics)Most messages delivered; a steady share read
Failed count and error codesCampaign statistics, failed recipientsLow and explainable (e.g. numbers not on WhatsApp)
RepliesYour Conversations inboxPeople reply, ask questions, click through
Unsubscribes (STOP rate)List subscriber counts; contact.unsubscribed webhook eventsLow and stable from send to send
Quality ratingSettings → Channels, or Meta WhatsApp ManagerGreen
Template statusYour WhatsApp templates; Meta WhatsApp ManagerApproved, not paused

Stop-and-fix signals

Pause scaling immediately (or pause the running campaign with POST /api/v1/campaigns/{id}/pause) if you see:

  • the quality rating dropping to yellow, or to red
  • a template being paused by Meta
  • a jump in STOP / unsubscribe replies compared with previous sends
  • replies like "who is this?", "how did you get my number?", or angry messages
  • a sudden drop in read rate
  • your number being flagged in WhatsApp Manager

Then fix the cause before sending again: check who was in that send (were they all real opt-ins?), whether the content matched what people signed up for, and whether the frequency was too high. Go back to smaller waves until quality recovers.

6. Keep Quality High: Never Spam

Getting a good rating once is not enough. You keep it by respecting your subscribers every week.

  • Be relevant. Send what people signed up for. If you offer several topics, use separate newsletter lists (start weekly-deals, start events) so people choose what they get.
  • Cap your frequency. For most businesses, once a week or less is plenty. Keep to the frequency you promised at signup.
  • Use the right template category. Newsletters and promotions are MARKETING templates. Do not disguise promotions as UTILITY messages. Meta checks, can reclassify templates, and misuse damages trust. See Template Categories.
  • Personalize. Use template variables (for example the contact's first name) mapped from contact fields, and send in the subscriber's language.
  • Understand the 24-hour window. When a subscriber writes to you, a customer service window opens and you can reply freely. Outside that window, every business-initiated message must be an approved template. See 24-Hour Messaging Window.
  • Answer replies. A newsletter on WhatsApp is a conversation. Replies land in your SendSeven inbox, so make sure someone (or a bot) answers.
  • Respect local time. Schedule sends for daytime in your audience's timezone. Nobody wants a promotion at 23:00.
  • Clean your list. Remove contacts whose sends keep failing (for example numbers not on WhatsApp) and review subscribers who have not read anything in months. Reaching fewer people who care beats reaching more people who block you.
  • Honour every opt-out immediately. SendSeven does this automatically for keywords. If someone asks to leave in their own words ("please don't message me again"), unsubscribe them manually from the contact's page.
  • Do not re-add people who left. A contact who sent STOP can only come back by subscribing again themselves.

7. Launch Checklist

Before collecting subscribers

  • Meta business verification completed
  • WhatsApp display name approved; business profile complete
  • Newsletter list created and set as the default list
  • Welcome message says what subscribers will get, how often, and "Reply STOP to unsubscribe"
  • Goodbye message confirms the opt-out, nothing more

Collecting subscribers

  • Opt-in only through user-initiated channels: newsletter widget, opt-in links, QR codes
  • Every opt-in point explains content, frequency, and how to leave
  • No purchased, scraped, or repurposed numbers, and no imports without documented consent
  • Tested yourself: scan the QR code, send start, receive the welcome message, send stop, receive the goodbye message

Before the first campaign

  • MARKETING template approved, ideally with a "Stop" quick-reply button
  • First wave limited to a small group of engaged subscribers, or split sending turned on for a new number
  • Dynamic lists include the has opt-in condition
  • Scheduled for daytime in the audience's timezone

After every campaign

  • Quality rating still green
  • Template not paused
  • STOP rate and read rate stable
  • Replies answered
  • Next wave size decided based on the signals above

Do / Don't

DoDon't
Let subscribers send the first message (start)Import numbers and mark them as subscribed without proof of consent
Say what, how often, and how to leave at every opt-in pointHide the opt-out or make people explain why they are leaving
Verify your business and get your display name approvedBuy, rent, or scrape phone number lists
Warm up new numbers with small wavesSend to your whole list on day one
Watch quality rating, STOP rate, and replies after every sendKeep scaling while quality is yellow or a template is paused
Use MARKETING templates for promotionsDisguise promotions as utility messages
Send relevant content at a steady, promised frequencyMessage daily "just to stay visible"
Schedule for local daytimeSend at night or at random times
Clean inactive and failing contactsRe-add people who unsubscribed

Next Steps