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.

  1. Go to the Campaigns module inside Conversations.
  2. Use the Day / Week / Month selector to change the calendar view.
  3. Check the side panel: Upcoming campaigns, the Month summary, and the WABA template balance.
  4. Click New campaign to start creating one.
Calendar
New campaign
Search campaignChannel: All numbers
October 2026
MonTueWedThuFriSatSun
28
29
30
12.0k · 1 send1
October catalog
2
3
4
5
6
Launch test
7
8
9
Payment reminder
10
11
12
13
14
42.2k · 1 send15
October Mid-Month Promo
16
17
18
11.2k remaining19
Halloween Clearance · 62%
20
21
21.3k · 2 sends22
09:00Black Friday11:30November payments
23
24
25
Scheduled Sending Sent Cancelled Failed Draft

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.

1Channel and message 2Audience 3Send
WhatsApp number
WSWine Shop GT+502 3691 8970
WZWine Shop Zona 10+502 5544 1200
WVWine Shop Sales+502 2210 4433
Template
All 12Marketing 7Utility 4
promo_quincenaMarketing
Image
Hi {{1}}, this pay period you get an extra 10% off with the code {{2}}…
High quality · es · image · 2 buttons
recordatorio_pagoUtility
Hi {{1}}, your payment of {{2}} is due on {{3}}…
High quality · es · 1 button
lanzamiento_tiendaPaused by Meta
Video
{{1}}, watch the video…
Can't be sent until Meta reactivates it
Step 1 of 5

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.

  1. Click a campaign from the calendar or history to open its report.
  2. Switch between the Summary, Recipients, With problems, and Interactions tabs.
  3. In Recipients, search by number or name, or click a row to see the message detail.
  4. Use Export to download recipients and statuses, the original file, or errors, as CSV.
October Mid-Month Promo
Sent+502 3691 8970promo_quincenaMarketing
Created Oct 13 · Sent Oct 15, 2026, 10:00–20:14
Export
Recipients and statuses (CSV)Everyone, with their last status.
File errors (CSV)Only if rows were discarded.
Updated 2 min ago
Recipients
42,210
Sent
41,982
99.5%
Delivered
39,102
93.1%
Read
22,431
57.4%
Replied
3,214
8.2%
Net cost
$1,191.95
−$84.30 refunded
Attributed sales
$3,905.40
64 paid orders
Not delivered
2,773
6.6%

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.

  1. In the report, open the With problems tab.
  2. Click Resend to [N] recoverable.
  3. Check who’s included based on timing (some have to wait 24 hours) and confirm the resend.
  4. The result is added to the same campaign, not a new one.
During the send
2,773
Resend to 203 recoverable
The number doesn't have WhatsApp
Meta code 131026
1,890
No retry
View detail
Recipient's marketing limit
Meta code 131049
512
From Oct 16, 10:14
View detail
Internal WhatsApp error (Meta)
Meta code 131000
203
Retry now
View detail
203 can be retried now, out of 715 with a recoverable error.
Step 1 of 4

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.

  1. For a Scheduled campaign: open it and click Cancel campaign. No message goes out and no balance is deducted.
  2. For a Preparing or Sending campaign: click Stop send. What’s already gone out is measured normally.
Normal path
Side branches
Scheduled · goes out Thu, Oct 22 2026, 09:0012,400 recipients · estimated cost $376.96Cancel campaign

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.

Fields and options

Creation wizard fields

FieldWhat it’s for
WhatsApp numberThe account’s WhatsApp Business number the send will go out from.
TemplateThe Meta-approved template that will be used. Shows its quality and whether it’s paused.
Audience · FileA CSV with one row per contact. The system validates duplicates, format, and rows missing a variable.
Audience · SegmentOne or more Contacts tags. Counts unique contacts, even if a contact is in several tags.
Template variablesWhere 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 timingSend now or schedule a date and time, in the account’s time zone.
Estimated costRecipients × template price based on its category, against the WABA template balance.

Resend availability by error type

LabelWhat it means
Retry nowA 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 fixThe data doesn’t match the template’s variables. It has to be fixed before resending.
No retryNumbers 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.