WhatsApp campaign for contact lists

Conversa Labs

Last updated on Oct 13, 2026

Overview

A WhatsApp campaign sends a message to a contact list at once. You define the audience (by labels), choose the content (an approved HSM template or a message with variants), and decide when to send. The platform sends at a controlled pace and shows progress (sent, delivered, read and replied).

It's the right tool for announcements, promotions, notices and contact re-engagement β€” always respecting WhatsApp's rules for bulk messaging.

Prerequisites

  • Access to the Campaigns module.
  • A connected WhatsApp inbox.
  • Contacts with labels that define the audience.
  • For template-based campaigns: approved HSM templates on the inbox (see the templates and variables article).

Step by step

  1. Open Campaigns in the sidebar and select the WhatsApp type.
  2. Click Create campaign and give it a title.
  3. Select the WhatsApp inbox that will send it.
  4. Define the audience by selecting the labels of the contacts who should receive it.
  5. Build the content:
    • HSM template: pick the template and language, then fill in the variable values; or
    • Message with variants: write the message (using the variable picker) and, if you want, add variants so each contact receives slightly different wording.
  6. Adjust the send settings (min/max delay between messages, batch size and randomization) for a more natural send.
  7. In Conversation created by the campaign (when the feature is enabled on the account), choose the status of each contact's conversation, what happens when the customer replies, the assignment, the labels and what to do with a conversation that already exists.
  8. Choose when to send: send now, schedule for a date/time, or save as draft.
  9. Confirm and track the status and progress in the campaign list.

Settings & options

  • Title: internal identifier for the campaign.
  • Inbox: the WhatsApp number that will send the messages.
  • Audience: contacts selected by labels.
  • Content: HSM template (with variables) or a message with variants.
  • Send settings: min and max delay (seconds), batch size and variant randomization β€” these help reduce the risk of blocking.
  • Scheduling: send now, schedule, or draft.
  • Status: draft, scheduled, sending, paused, completed or failed.
  • Actions: pause, resume or cancel a running campaign. On the official API (WhatsApp Cloud), a campaign can be cancelled before it starts, during the send or while paused; pause and resume live on the campaign detail page. Pausing is reversible and, on resume, only whoever is still waiting receives it. Cancelling is permanent and asks for a confirmation that shows the campaign name and how many contacts are still waiting and will be skipped. If Meta refuses the template in the middle of the send, the campaign pauses automatically (see WhatsApp campaign results).
  • Progress: sent, delivered, read, replied and failed.

Conversation created by the campaign

Each contact receives the message inside a conversation. This section defines what happens to it:

Option Values Default for a new campaign
Status of the created conversation Pending Β· Open Β· Resolved Pending
When the customer replies Open the conversation Β· Keep the conversation pending Open the conversation
Assignment when it opens Inbox rules Β· Specific agent Β· Specific team Β· No assignment Inbox rules
Conversation labels none, or up to 10 labels of the account none
Contact's existing conversation Keep its current status Β· Apply status and labels Keep its current status
  • Pending: the conversation stays out of Open and does not notify the team. When the customer replies for the first time, it opens, receives the chosen assignment and the inbox team is notified once. Automations, flows and webhooks receive the opening like any other status change.
  • Automations on the Conversation Created event receive this conversation already pending, and the event does not repeat when it opens. To act when the customer replies, use the Conversation Opened event.
  • Notifications and lead score in batched sending. When the campaign is sent in batches, the conversation it creates, open or pending, does not notify the team or add the support event to the contact's lead score at send time. Both happen once, when the customer replies for the first time. Assigning an agent still notifies that agent as usual.
  • Open: the usual behavior β€” the conversation enters Open as soon as the campaign is sent. Campaigns created before this feature keep working this way.
  • Resolved: the conversation is created resolved and reopens on its own when the customer replies, following the regular inbox rules.
  • Assignment: happens at the first reply and never replaces an agent who is already assigned.
  • Existing conversation: by default the campaign reuses the conversation without changing its status. Applying the status does not accept Resolved, because resolving a conversation in progress would send the satisfaction survey to the customer right before the campaign message. With Pending, applying the status takes a conversation that is being handled out of the agent's Open list until the customer replies, and each reused conversation notifies webhooks and automations of the status change.
  • On the campaign detail page, the Opened by a reply card shows how many pending conversations the customer's reply opened.

Use cases

  • Announce a promotion to customers in a specific label.
  • Send an important notice (hours change, new product) to the right audience.
  • Re-engage inactive contacts with a segmented offer.
  • Confirm attendance at an event or remind people of a date.

Tips, limits & best practices

  • To start conversations with people outside the 24-hour window, WhatsApp requires an approved HSM template β€” free-text messages only work inside the service window.
  • Use the send settings with delays between messages and smaller batches: very fast sends increase the risk of blocking (anti-ban).
  • On the official API, the pace follows the number's limit at Meta: 80 messages per second at first, up to 1,000 once Meta releases the number, and 20 on a number that also uses the WhatsApp Business app (coexistence). Campaigns use up to the limit minus 5: 75, 995 or 15 messages per second. The limit covers the sum of every automated send from the number (campaigns, follow-ups, flows, distribution and sales recovery). While Meta has not confirmed the number's level in the last 24 hours, the default limit of 80 applies. The campaign detail shows the pace in use.
  • Segment well by labels and send only relevant content to reduce opt-outs and reports.
  • Test with a small audience before a large send.
  • Track the progress and pause the campaign if you notice many failures.
  • If an official API campaign stops advancing for more than 15 minutes, the campaign is paused and administrators get a notice; just use Resume, and nobody receives it twice. With batched sending enabled on the account, the platform first tries to resume the dispatch on its own, up to 3 times within an hour.
  • For large campaigns, prefer Pending: the team is only told about the conversations in which the customer actually replied, and the Open list is not flooded.
  • If a bot serves the inbox, the pending conversation stays with it when the customer replies; the bot hands it over to the team when needed.
  • No assignment only stops the campaign from assigning. If the inbox has automatic assignment turned on, the inbox can still assign the conversation later, in its next distribution.

Troubleshooting

  • I can't select the inbox: confirm there is a connected WhatsApp inbox.
  • Empty audience: check whether contacts exist with the chosen label.
  • Template doesn't appear: verify there are approved templates on the selected inbox.
  • Many send failures: lower the pace (increase the delays and reduce the batch size) and check the health of the WhatsApp number.
  • The conversation did not open when the customer replied: check that the campaign uses Open the conversation on reply and whether a bot serves the inbox β€” in that case the conversation stays pending with the bot. Pending conversations appear in the Pending list.
  • I can't apply the status to existing conversations: the option is disabled with the Resolved status; choose Pending or Open.

See also