Running a professional WhatsApp campaign means operating a controlled workflow: document recipient opt-in, select an approved template, validate the audience and variables, check current messaging capacity, and send with traceable measurement. The campaign does not begin with a contact upload; it begins by defining who may be messaged, why, and who will handle replies and opt-outs.
If those decisions are unresolved before scheduling, the campaign is not ready—regardless of how polished the copy looks or how large the list is.
Which gates must a campaign pass before sending?
The official WhatsApp Business Messaging Policy says a business may contact people only when it has their mobile number and opt-in permission for subsequent messages or calls, and it must honor requests to stop communication. It also limits business-initiated conversations on WhatsApp Business Platform to approved templates and permits free-form replies within 24 hours of the user's last message.
Decision gate | Required question | Evidence of readiness | Reason to stop |
|---|---|---|---|
Opt-in | Did the person agree to this category of message? | Source, date, and wording of consent | A number without permission, or permission that does not cover the purpose |
Opt-out | Has the person asked the business to stop? | A suppression list refreshed before execution | Any active stop request |
Template | Is it approved and used for its designated purpose? | Approval state, language, and valid parameters | Rejected, paused, or unsuitable template |
Audience | Is the record valid, unique, and in the intended segment? | Phone validation, deduplication, and segment rules | Invalid, duplicate, or out-of-segment record |
Capacity | Does current messaging capacity support the launch plan? | A recent Meta value and a batch plan | Capacity exceeded or no reliable current reading |
Operations | Can the team handle replies, opt-outs, and escalation? | Campaign owner, coverage hours, and response path | No owner for downstream conversations |
This is not a complete legal checklist. Consent, notices, and data retention must also comply with the laws applicable to the company and its audience.
Step 1: Define a measurable objective and an owner for replies
“Increase engagement” is not a sufficiently specific objective. Name the event the recipient should complete: confirm an appointment, finish an order, reply with interest, or visit a defined page. Then decide who receives the responses and when a conversation moves to sales or support.
The objective determines both the template and the measurement denominator. An appointment reminder is evaluated by confirmations or rescheduling requests; a re-engagement campaign may be evaluated by qualified replies, not reads alone.
Step 2: Record opt-in and maintain one suppression list
Retain the source, date, and category of each opt-in. The recipient should understand the business identity, expected message type, and way to stop. The official policy recommends category-specific opt-in where it helps set a clear expectation.
Bring opt-out requests from WhatsApp and other supported channels into one suppression process and apply it before every campaign. Do not wait until after upload, and do not send a final promotional message to someone who has asked to stop.
Step 3: Prepare the audience before attaching a template
Start with an eligible source, then apply explicit rules:
Normalize phone numbers and country codes.
Deduplicate by contact, not merely by spreadsheet row.
Exclude invalid, non-opted-in, and opted-out records.
Segment by purpose, lifecycle stage, branch, or another field that materially changes the message.
Validate every field used by a template parameter, such as name, appointment time, or order number.
Preview eligible and excluded counts with a reason for each exclusion.
A larger list is not inherently better. A list whose origin and relevance can be explained is operationally useful.
Step 4: Choose an approved template and test every parameter
A template is a governed messaging asset, not only a copy block. Review its name, language, category, approval state, and designated use. Do not change the meaning of a parameter at send time or place unexpected sensitive data into a field that was not designed for it.
Build test cases for:
a fully populated record;
a long name or multilingual value;
a missing value that should exclude the recipient instead of producing broken copy;
a link or media asset opened on a physical device;
a quick-reply button that returns the conversation to the intended workflow.
If the company is setting up its channel and templates for the first time, complete the WhatsApp and Meta connection guide before tying a launch deadline to an untested configuration.
Step 5: Check the business portfolio messaging limit
Meta limits how many unique people a business portfolio can initiate messages with in a rolling period. The applicable tier can change with account state and Meta policy, so this evergreen guide does not publish fixed tier values. Check the current WhatsApp Business Platform messaging-limit documentation and the value returned for the account at execution time.
Do not confuse these three numbers:
Number | Source | Meaning |
|---|---|---|
Current messaging tier | Meta | The capacity Meta returns for the business portfolio |
Locally observed usage | Operating platform | Unique recipients the platform has recorded in its time window |
Estimated remaining capacity | Local calculation | Current tier minus the usage visible to that platform |
In Wats, remaining capacity is an estimate based on outbound template messages that passed through Wats during the previous 24 hours. If another system sends from assets under the same portfolio, that activity may not be fully reflected in the local usage count. Treat the number as a planning aid, not a guaranteed reservation at Meta, and use monitored batches with headroom.
Messaging capacity, phone-number quality, and template quality are separate concepts. Negative user feedback and policy violations can still lead Meta to restrict messaging, but the labels should not be collapsed into one “quality limit.”
Step 6: Run an internal test before choosing the send time
Send to an approved internal test list first. Review copy, parameters, media, buttons, and webhook events on real devices. Record the template and audience version used so that the launch is reproducible.
Scheduling is not only about when recipients may read. Make sure people are available to process replies and opt-outs after launch. A time with a high read rate can still be an operationally poor choice if no one can handle the resulting opportunities or complaints.
Hypothetical example: a service appointment reminder
This is an illustrative scenario, not a real customer campaign. A service center wants to remind customers who booked for the following day and opted in to appointment notifications.
Objective: receive a confirmation or rescheduling request.
Audience: next-day bookings after removing duplicates, opt-outs, and records without an appointment time.
Template: a correctly approved message containing the customer's name, date, and time, with Confirm and Reschedule quick replies.
Test: an internal record for each branch, a long-name case, and a missing-time record that must be excluded.
Execution: batches within current messaging capacity, with a response team available afterward.
Outcome: confirmations and rescheduling requests divided by delivered messages, while failures and exclusions remain separate.
The example does not assume Meta will place every reminder in a particular category. Actual content, classification, and approval determine the template's status.
Step 7: Separate Wats processing states, Meta events, and business outcomes
Meta's official Postman collection documents the message status object, including sent, delivered, read, and failed. An operating platform also needs states before a request reaches Meta and signals after a customer responds.
Layer | Examples | What it tells the team |
|---|---|---|
Wats processing | queued, sending, skipped | Whether the recipient entered the queue, execution began, or a pre-send rule excluded the recipient |
Meta message events | sent, delivered, read, failed | What happened after the send request and subsequent webhook updates |
Derived interaction | replied | Whether an inbound message from the contact was associated with the campaign |
Business outcome | confirmed, booked, or qualified, for example | Whether the defined objective occurred in the operating system or through verified classification |
These should not be shown as one equivalent funnel. skipped can happen before any request is made, replied is not a Meta delivery status, and a conversion can occur in another system hours or days later.
Step 8: Calculate rates with explicit denominators
Write the formula next to each campaign metric.
Metric | Practical denominator | Question answered |
|---|---|---|
Audience eligibility | Eligible records ÷ imported records | How much of the source passed consent and validity checks? |
Send acceptance | sent ÷ attempts submitted to Meta | Did the messaging platform accept the request? |
Delivery rate | delivered ÷ sent | How many accepted messages received a delivery event? |
Read rate | read ÷ delivered | How many delivered messages produced a read event, subject to receipt limitations? |
Reply rate | unique contacts who replied ÷ unique contacts delivered | Did the message lead to a conversation? |
Objective rate | unique contacts reaching the objective ÷ the preselected denominator | Did the campaign accomplish its business purpose? |
Opt-out rate | unique contacts opting out ÷ unique contacts delivered | Is the message category or frequency creating rejection? |
A different denominator may be valid for a different decision, but it must be visible and consistent across comparisons. The WhatsApp performance guide provides additional metric definitions.
How does Wats support this workflow?
Wats brings template synchronization, audience-list creation and previewed import, campaign creation and scheduling, recipient-level state, a send ledger, and eligible retry handling into one flow. It displays the Meta messaging tier alongside a local usage estimate and separates queue processing from later message updates.
After a campaign, responses arrive in the shared WhatsApp inbox, where conversations can be assigned and handled by the appropriate employee. These tools do not replace the company's responsibility to document opt-in, review templates, or define the campaign objective and formulas.
Conclusion: launch only after every decision gate is complete
A campaign is not ready merely because the copy is approved internally. It must pass opt-in, opt-out, template, audience, capacity, testing, and response-coverage gates. After launch, sent alone is insufficient: distinguish what your system processed, what Meta reported, and what the business actually achieved.
Keep a record of the audience and template versions, the time the messaging tier was checked, exclusion reasons, and metric definitions. That creates a campaign the team can explain, operate responsibly, and improve from evidence rather than guesswork.


