Campaigns
Description
WhatsApp Campaigns is Reach’s module for sending bulk messages to your contacts using templates approved by Meta. Your account’s marketing and sales teams use it to announce promotions, payment reminders, catalog updates, or any communication that needs to reach many contacts at once over WhatsApp.
Unlike a manual send, the module lets you plan on a calendar, tells you how much it will cost before you confirm the send, measures results with WhatsApp’s real delivery receipts (not estimates), and lets you resend only to people who can still receive the message if something failed.
Prerequisites
- Your account must have the campaigns module enabled.
- Your user needs campaign permissions (see the permissions table below). By default these come with the Super Admin, Admin, Staff - Gestor, and Ubiquo-Soporte roles.
- To send, you need at least one WhatsApp template approved by Meta on your account.
- If you’re sending to a segment, contacts must already have tags created in Contacts.
- Your account needs enough WABA template balance to cover the send.
1. Check the campaigns calendar
The calendar shows you, at a glance, which campaign goes out today, which ones are scheduled, and which ones have already been sent. The side panel summarizes the month and, at the bottom, shows the available WABA template balance.
- Go to the Campaigns module inside Conversations.
- Use the Day / Week / Month selector to change the calendar view.
- Check the side panel: Upcoming campaigns, the Month summary, and the WABA template balance.
- Click New campaign to start creating one.
Sending · 62% · 18,301 of 29,500 11:00 12:00
Calendar and side panel. Today is marked with what's still left to go out. Switch between Day, Week, and Month at the top right.
2. Create a campaign
The wizard walks you through five steps: number and template, audience, content, send and cost, and confirmation. At each step it warns you about what could go wrong before you spend a message.
1.4 MB · 9,462 rows · uploaded 2 min ago
| Phone | Name {{1}} | Source |
|---|---|---|
| +502 4211 7702 | Ana Torres | Their data |
| +502 5219 8830 | Rosa Jiménez | Fallback |
| +502 3016 5544 | María López | Their data |
| +502 7702 3311 | Fill in | Fallback |
3. Review a campaign’s report
Open any campaign from the calendar or the history to see its report, split into four tabs. Sent, delivered, read, and reply data comes from WhatsApp’s real delivery receipts.
- Click a campaign from the calendar or history to open its report.
- Switch between the Summary, Recipients, With problems, and Interactions tabs.
- In Recipients, search by number or name, or click a row to see the message detail.
- Use Export to download recipients and statuses, the original file, or errors, as CSV.
Export
| Recipient | Status | Delivered | Read | Reply |
|---|---|---|---|---|
APAna PérezNew +502 5572 5586 | 10:00:19 | 10:47:02 | "I'm interested" · button | |
#+502 4471 8892 no contact | — | — | The number doesn't have WhatsApp |
Campaign report. Switch tabs at the top; in Recipients, click a row to see its detail.
4. Resend to recoverable recipients
When a campaign ends with errors, you can resend it with a single button to everyone who failed for a reason that another attempt can fix. The module automatically applies Meta’s rules: who can receive it now, who has to wait, and who never gets written to again.
- In the report, open the With problems tab.
- Click Resend to [N] recoverable.
- Check who’s included based on timing (some have to wait 24 hours) and confirm the resend.
- The result is added to the same campaign, not a new one.
Never resent to them96
5. Cancel or stop a campaign
A campaign moves through eight possible statuses. Each one shows a banner above the report with what you can do at that moment — including canceling or stopping the send.
- For a Scheduled campaign: open it and click Cancel campaign. No message goes out and no balance is deducted.
- For a Preparing or Sending campaign: click Stop send. What’s already gone out is measured normally.
Draft
- What it means
- It was started and not sent. It doesn't have numbers yet.
- What you can do
- "Continue" picks the wizard back up where it left off. You can also delete it.
Scheduled
- What it means
- It has a set date and time. Its cost counts toward "Scheduled in October" in the balance.
- What you can do
- "Cancel campaign", with confirmation. Once it starts sending, it can no longer be cancelled — only stopped.
Preparing
- What it means
- The system reads the file, validates contacts, and queues the messages.
- What you can do
- "Stop send", while it's still possible.
Sending
- What it means
- Messages are going out. The progress bar updates.
- What you can do
- "Stop send" until everything is queued.
Sent
- What it means
- Dispatch finished. The report is complete.
- What you can do
- Resend to recoverable recipients, create segments, compare against another campaign, and export.
Cancelled
- What it means
- It was cancelled while scheduled. Nothing went out and no balance was deducted.
Stopped
- What it means
- Someone stopped the send. What already went out is measured normally.
- In the report
- What never made it out shows up as "Not sent (stopped)".
Failed
- What it means
- No message went out, or WhatsApp didn't deliver any of them.
- What you can do
- "View errors" to identify the cause.
Fields and options
Creation wizard fields
| Field | What it’s for |
|---|---|
| WhatsApp number | The account’s WhatsApp Business number the send will go out from. |
| Template | The Meta-approved template that will be used. Shows its quality and whether it’s paused. |
| Audience · File | A CSV with one row per contact. The system validates duplicates, format, and rows missing a variable. |
| Audience · Segment | One or more Contacts tags. Counts unique contacts, even if a contact is in several tags. |
| Template variables | Where each value comes from (contact data or a fixed value) and what to do if it’s missing: use a fallback or exclude the contact. |
| Send timing | Send now or schedule a date and time, in the account’s time zone. |
| Estimated cost | Recipients × template price based on its category, against the WABA template balance. |
Resend availability by error type
| Label | What it means |
|---|---|
| Retry now | A temporary WhatsApp failure. It can be resent right away. |
| Available from… | Meta’s marketing limit: you have to wait 24 hours from the error. |
| Needs a fix | The data doesn’t match the template’s variables. It has to be fixed before resending. |
| No retry | Numbers without WhatsApp, or people who asked to stop receiving promotions. They’re never resent to. |
Expected result
- The campaign stays scheduled on the calendar, or sends immediately, depending on what you chose.
- The report fills in with WhatsApp’s real delivery receipts (sent, delivered, read, replied) as they arrive.
- If there are recoverable errors, the module groups them by cause and tells you whether they can be retried, when, or if they can’t be recovered.
- The conversations the campaign opens, and orders paid within the following 7 days, stay linked to that campaign to measure attributed sales.
- Tags you create from the report (read it, replied, bought) stay available in Contacts for your next campaign.
Important considerations
- Audience by file accepts CSV only, not Excel (.xlsx).
- With audience by file, each text variable comes from its own column — you can’t set a single value for everyone the way you can with segments.
- People who already opted out of marketing messages, or who are blocklisted, are automatically excluded from any send.
- The report doesn’t update on its own while the campaign is sending: refresh the tab or reload the page to see the latest numbers.
- Error titles are saved in the language the account was set to at the time of the error, not the language of whoever views it later.
- WhatsApp doesn’t report when someone opens a link in the message: the module measures button taps, not link clicks.
Important Note:
The cost is calculated against the account's WABA template balance. If it's not enough, the system won't let you send until you adjust the audience or top up the balance. And resending for Meta's marketing limit requires a 24-hour wait from the error — it's not something Reach can skip.
Best practices
- Check the WABA template balance before scheduling several campaigns in the same month, to confirm the pool covers all of them.
- Use “Create segment” from the report (people who read, replied, or bought) to build your next campaign with better targeting.
- Before sending, check the per-recipient preview in the content step — that way you confirm the fallback-value variables look right.
- If a campaign ends with errors, first check how many are actually recoverable before resending: resending to numbers without WhatsApp doesn’t do anything.
- If you need to confirm whether a specific customer received a message, use the search in Recipients instead of reviewing the whole conversation.
FAQ
Why does the resend only offer me part of the recipients who failed?
Because not every error recovers the same way: some can be retried right away, others need a 24-hour wait because of Meta’s marketing limit, and others (numbers without WhatsApp, marketing opt-outs) never recover. The module only offers to resend to those who can actually receive it at that moment.
How do I confirm whether a specific customer received a message?
Open the campaign’s report, go to the Recipients tab, and search by number or name. Clicking the row shows you the exact message that was sent and the time of each status (sent, delivered, read, replied).
Can I use an Excel file instead of CSV for the audience?
No, for now uploading the audience by file only accepts CSV format.
Does resending a campaign create a new campaign?
No. The resend is added to the same campaign: the report keeps each recipient’s latest attempt, and the total cost includes every attempt that was charged.