WhatsApp Bulk Messaging with the Official API: Templates, Opt-In and Buttons

WhatsApp Bulk Messaging with the Official API: Templates, Opt-In and Buttons
Share this post

WhatsApp bulk messaging is sending the same campaign to many contacts who agreed to receive messages through the official WhatsApp Business API. It is only sustainable with proven opt-in, approved templates in the right category and a visible opt-out button.

Browser extensions and unofficial apps put the number at risk. Businesses that want scale need to combine customer service automation with Meta’s rules on limits, quality and unsubscribes.

Key Takeaways

  • WhatsApp bulk messaging is only safe through the official API, with an opt-in that names the business and templates approved in the correct category.
  • Quick reply, URL and coupon buttons make one-tap responses easy, and a visible opt-out helps prevent blocks and reports, which lower the quality rating.
  • Meta controls volume in several layers (portfolio limit, pacing for new templates and a per-user marketing limit), and monitoring errors 131049 and 131050 prevents wasted sends.

What WhatsApp Bulk Messaging Is

The expression “bulk messaging” has two meanings in the market: an official one, provided for by Meta, and a risky one, done through unauthorized automation. Separating the two is the first step of any campaign.

Definition, Use Cases and Broadcast Lists

In the official sense, bulk messaging means sending templates approved by Meta to contacts who opted in, outside the 24-hour customer service window. According to the templates overview, templates are the only message type allowed outside that window.

Legitimate uses include promotions, abandoned cart recovery, appointment reminders and transactional notices, such as order confirmations. Each use fits one of the three template categories: marketing, utility or authentication.

A broadcast list in the WhatsApp Business app is something else: it is manual, depends on the phone and has limited reach. With coexistence with the API, the app’s broadcast lists become read-only.

Official API vs. Unofficial Tools

Extensions and apps that automate sending through regular WhatsApp violate the WhatsApp Terms of Service and can lead to the number being suspended. The risks, types of bans and recovery steps are covered in the guide to a banned WhatsApp number, and the guide to the unofficial WhatsApp API explains why those tools are risky.

Through the official API, there are clear limits, visible quality and built-in opt-out. The WhatsApp Business Messaging Policy requires opt-in before contact and respect for any opt-out request, inside or outside WhatsApp, including removing the person from the contact list.

With WhatsApp coexistence, the number stays active on the phone while campaigns go out through the API, and the team keeps serving customers in the app and on WhatsApp Web as usual.

None of these measures rules out every block, but they keep the operation within the rules, reduce the risk and provide indicators, such as the quality rating and template pausing, to correct course in time.

Opt-In and Consent for WhatsApp Campaigns

Without a valid opt-in, there is no safe bulk send. Consent is Meta’s first requirement for business-initiated messages and one of the legal bases provided for in Brazil’s data protection law (LGPD) for marketing campaigns. Similar rules apply under the GDPR in the EU.

Requirements for a Valid Opt-In

According to Meta’s opt-in guidance, the consent text must make it clear that the person agrees to receive messages on WhatsApp and must name the business. A generic agreement, with no defined channel, does not meet this requirement.

A well-written opt-in text brings together three elements:

  • Business name: the brand that will send the messages appears explicitly in the consent.
  • WhatsApp channel: the text mentions WhatsApp, not just “communications” in general.
  • Message type: the person knows whether they will receive promotions, order notices or both.

Separating opt-in by category, with promotions on one side and order notices on the other, is a good practice that supports customer retention. Meta also warns that persistently low quality leads to messaging limits and penalties.

Where to Collect and How to Record Consent

Channels accepted by Meta include SMS, website, IVR or phone support, in-person collection and paper forms. As a best practice recommended by Meta, the notice on every channel explains how the person can leave the list.

The consent record should store the date, the source and the exact text accepted, together with the contact’s profile. A CRM integration makes this control easier, because it serves both to prove the opt-in and to segment campaigns later.

Message Templates for Bulk Campaigns

Every campaign message is an approved template. The structure and category chosen determine whether it passes review, how much each delivery costs and how Meta treats it during sending.

Components, Limits and Marketing Formats

According to the template components documentation, only the body is required. The header, footer and buttons are optional, and variables personalize the name, order or coupon for each recipient without creating one template per person.

ComponentRequired?Limit
Header (text)No60 characters
BodyYes1,024 characters
FooterNo60 characters
Button labelNo25 characters

Marketing templates also have specific formats, according to Meta: coupon, carousel, limited-time offer, catalog and product. When comparing WhatsApp AI tools, check which of these formats each platform can send.

Categories and Recategorization

Meta’s categorization rules treat as marketing any template that mixes content, such as an order update with a promotion, anything generic (“{{1}}”, “Congratulations!”) and anything aimed at awareness, sales, retargeting or relationship building.

Since April 16, 2025, if the business has already received a misuse warning, the switch from utility to marketing is instant. A review can be requested within 60 days, but the campaign will already have gone out at the marketing price.

That is why transactional notices should use “pure” utility templates, with no embedded offer. Promotions, coupons and customer reactivation belong in marketing templates, created in the correct category from the start.

Interactive Buttons in Campaigns

WhatsApp template with interactive buttons and an unsubscribe option
A campaign template with interactive buttons and a visible unsubscribe option (the example shown is in Portuguese).

Buttons turn a bulk send into a conversation, because the customer replies with a single tap. They also have quantity and compatibility limits that affect campaign design.

Button Types and Quantity

A template accepts up to 10 buttons in total, and quick replies must be grouped together. Each button type plays a different role in the campaign:

  • Quick reply (up to 10): qualifies interest, such as “Tell me more” or “Not now.”
  • URL (up to 2): leads to the offer page, the cart or order tracking.
  • Phone number (1): starts a call for people who prefer to talk to the team.
  • Copy code (1): copies the discount coupon with a single tap.

The quick reply is the button that works best with automation. When the customer taps an option, a WhatsApp chatbot can continue the flow, answer questions and move the contact to the next stage of the sale.

Desktop Compatibility and the Opt-Out Button

According to the same documentation, templates with 4 or more buttons, or with quick replies mixed with another type, do not display on WhatsApp desktop. When the audience relies heavily on computers, the ideal is up to 3 buttons of a single type.

Every marketing campaign should include a visible opt-out, such as a “Stop promotions” quick reply. Meta treats clear opt-out instructions as a best practice, recommended to prevent blocks and reports, two signals that weigh on the quality rating.

A button that removes no one from the list has the opposite effect: the customer insists, loses patience and ends up blocking the number. That is why a tap on “Stop” must update the list before the next campaign.

How to Run WhatsApp Bulk Messaging Step by Step

The practical roadmap goes from a connected account to the first monitored send. Each step depends on the previous one, and skipping preparation usually shows up later as delivery errors or a drop in quality.

Preparing the Account and the Contact List

The first step is to connect the number to the WhatsApp Cloud API, the version of the official API hosted by Meta, either directly or through Embedded Signup, the guided onboarding run by a solution provider.

Next, the business checks the quality rating in WhatsApp Manager and cleans up the list. Only contacts with a recorded opt-in should remain, and anyone who has already asked to leave must be removed before the first campaign.

It is also necessary to define who will reply to the audience. A successful campaign can generate many conversations at once, and a multi-agent WhatsApp inbox distributes these replies across the team without losing history.

Creating, Approving and Sending the Campaign

With the account ready, the campaign follows six steps:

  1. Define the goal and the template category (marketing or utility).
  2. Write the template with variables, buttons and an opt-out option.
  3. Submit the template for Meta’s approval.
  4. Segment the audience by opt-in category and history.
  5. Run a test send to a small batch and monitor pacing.
  6. Release the rest and monitor metrics and errors.

The test batch protects the number, because it reveals problems before the full send. With automation tools, teams can schedule batches, pause the campaign when warning signs appear and reschedule failed sends.

Segmentation and Sending Frequency

Segmentation can combine opt-in category, purchase history and recent engagement. Because the read rate influences the per-user limit, sending to people who do not read reduces delivery for future campaigns.

The ideal frequency varies from business to business, and Meta does not set a fixed number. The practical criterion is to space out campaigns and prioritize the conversation inside the customer service window whenever the customer replies.

For a food delivery business, for example, it makes sense to send the promotion only to people who ordered in recent months and let a delivery chatbot close the order in the conversation. The campaign turns into a sale without new templates.

Messaging Limits, Pacing and Per-User Limits

Meta releases volume gradually, based on the business’s history, the audience’s reaction and the marketing cap for each person.

Limit Tiers and How to Move Up

Messaging limits count unique recipients in 24 hours outside the window. The tiers are 250, 2,000, 10,000, 100,000 and unlimited, and the limit applies to the entire business portfolio (the company account in Business Manager), not to each number.

From 2,000 upward, the limit moves up one tier within 6 hours when quality is high and the business has used at least half of its limit in the last 7 days. The tier and the quality rating appear in WhatsApp Manager.

Conversations inside the customer service window do not count toward this limit, and a support team that replies quickly to people who reacted to the campaign does not consume it.

Template Pacing and Pausing

Template pacing applies to marketing and utility templates that are new, recently unpaused or without a green (high) quality rating. After an initial batch, the remaining messages are held (status held_for_quality_assessment) while Meta assesses the audience’s reaction.

Meta aims to deliver held messages within one hour in 99% of cases. If the feedback is negative, however, the template is paused and the held messages are dropped (error 132015).

Pauses last 3 hours and then 6 hours, after which the template is disabled. Attempts with a paused template are not charged, and the number’s other healthy templates keep going out.

The pause notice arrives through the message_template_status_update webhook. Following good customer service practices, with relevant content, helps keep feedback positive and the template active.

Per-User Limit and Error 131049

The per-user limit restricts how many marketing templates each person receives, across all businesses. This limit is dynamic and depends on the person’s recent read rate. When it is reached, the send fails with error 131049.

Meta’s guidance is to wait at least 24 hours before retrying the same marketing message, because excessive retries block delivery for up to 24 hours.

Marketing sent inside the customer service window does not count toward this limit, and the rule does not apply in the European Economic Area (EEA), the United Kingdom, Japan and South Korea.

In practice, follow-up automation should reschedule recovery messages for another day, instead of retrying the same contact right after the error.

Bulk Campaign Costs and Metrics

Every delivered template adds to the bill, and every campaign leaves traces of results and risk. Looking at cost and metrics together shows whether bulk messaging sells without putting the number at risk.

Per-Delivery Pricing

Meta charges per delivered message, based on the message category and the recipient’s country, according to Meta’s pricing page. Since July 1, 2025, templates in the marketing, utility and authentication categories are charged per delivery.

Through September 30, 2026, non-template messages and utility templates sent inside the customer service window are not charged, according to the official rate card, which should be checked before each campaign.

From October 1, 2026, Meta charges for service messages, the free-form messages sent inside the window, with 1,000 free service messages delivered per phone number per month, and also for utility templates sent inside the window. In Brazil, for example, utility, authentication and service messages cost R$ 0.035 per delivered message, and marketing costs R$ 0.3217. The guide to WhatsApp API pricing covers the details.

The Marketing Messages API has the same pricing as the Cloud API and adds delivery optimization and conversion metrics. Replying quickly with AI in WhatsApp customer service takes advantage of the interest the campaign generated and helps convert inside the conversation.

Official Metrics per Template

Meta’s template analytics show, for each template, messages sent, delivered, read, clicks and cost. With the Marketing Messages API, the dashboard also includes conversions attributed to the campaign.

The data is daily and kept for 90 days. Reads and clicks only count up to 7 days after the send, which calls for care when comparing campaigns from different dates or closing reports early.

These numbers should be read alongside the team’s customer service metrics, such as response time and resolution. The business then sees the full path, from the template sent to the sale closed in the conversation.

Campaign Health Indicators

Some indicators anticipate delivery problems. The list below is an editorial suggestion, with no official Meta benchmark, with the recommended action for each signal:

  • Unsubscribes and replies: a spike in opt-out requests signals the wrong segment or content with little relevance.
  • Errors 131049 and 131050: a high number calls for a review of frequency and a list cleanup.
  • Quality and paused templates: a medium or low rating, or a template pause notice, calls for a break in campaigns and a review of the copy.

Opt-Out and LGPD in Bulk Campaigns

Opting out has two layers: the control WhatsApp itself gives the user and the requirements of Brazilian law. The two meet in a single process for recording and honoring the request.

Opt-Out, Error 131050 and the user_preferences Webhook

According to the marketing templates documentation, users can turn off marketing from a business in WhatsApp’s “Offers and announcements” setting. After that, every marketing template to that person fails with error 131050.

The user_preferences webhook signals when the person stops or resumes accepting marketing. Syncing this status with the CRM avoids useless attempts, and platforms connected to the official API can handle this sync automatically.

Recognizing words such as “STOP” or “UNSUBSCRIBE” in free text is a good practice, not an official rule. AI agents can identify this request in the conversation and update the list automatically.

Withdrawal of Consent and Data Handling

Under Brazil’s General Data Protection Law (LGPD) (in Portuguese), consent can be withdrawn at any time, “through a free and easy procedure” (art. 8, §5). In practice, leaving must be as easy as joining.

This applies to a button in the message, a keyword typed in the conversation or WhatsApp’s own setting. The campaign should also use only the necessary data, such as name and purchase history, without collecting more than the purpose requires.

When an AI agent replies to campaigns, a well-defined prompt must include clear rules to recognize opt-out requests, confirm the unsubscribe and never insist with someone who asked to stop.

Frequently Asked Questions About Bulk Messaging

The answers below cover questions that usually come up in the first campaign and go beyond the step-by-step guide.

Can a business send a campaign to past customers who never opted in?

No. The WhatsApp Business Messaging Policy requires opt-in before contact, and an old sign-up that does not mention WhatsApp or the business name does not meet this rule. The path is to ask for consent through an accepted channel, such as the website, SMS or phone support, and only then add the contact to campaigns.

What changes when the customer replies to the campaign?

The reply opens the 24-hour customer service window, during which the business can send free-form messages without a template. These conversations do not count toward the portfolio limit, and replying quickly with AI in customer service takes advantage of the moment when interest is high.

Can WhatsApp bulk messaging include images, videos or PDFs?

Yes. According to Meta’s components documentation, the template header can be media, such as an image, video, GIF or PDF document, in addition to text and location. The media appears at the top of the message, above the body and buttons.

Where can a business find out why a campaign message was not delivered?

The error code, such as 131049, 131050 or 132015, arrives in the message status webhook. A template pause appears in the message_template_status_update webhook and in WhatsApp Manager, which makes it possible to separate failures for a single contact from problems with the entire template.

Conclusion

Lasting campaigns depend less on volume and more on discipline: consent that names the brand and the channel, a template in the right category, a one-tap opt-out and attention to limits, pauses and error codes. This keeps the number protected and turns each send into a conversation with people who want to buy.

ConverZap brings together AI agents on the official API with coexistence, template-based bulk sends with unsubscribe options, CRM integration and dashboards for sends, replies and unsubscribes. Talk to the ConverZap team to plan your first campaign within the rules.

Share:

Subscribe to our newsletter
Get news and updates about WhatsApp automation and AI agents
Read more
Talk to our team
See how ConverZap can help your business on WhatsApp
Conexão da ConverZap com a API oficial do WhatsApp pela Meta
plugins premium WordPress