Campaigns
A campaign sends one approved WhatsApp template to many contacts at once, such as a promotion, a reminder or an announcement. Each message can be personalised with the contact's details. Relay then shows you who received it, who read it, who replied and why any messages failed.
When to use it
Use a campaign whenever you want to message a group of contacts, including people who haven't written to you recently. Campaigns always use approved templates, so they can reach contacts outside the 24-hour window.
For one-to-one conversations, use the Inbox.
Who can use campaigns
- Agents, admins and owners Agent+ can create, send, clone and delete campaigns.
- Viewers can see campaigns and their results. The New campaign button is disabled for them.
- Every send is checked against your plan's campaign-message allowance. If a send is refused because of your plan, you'll see an upgrade prompt. Owners and admins get an Upgrade button; other roles are asked to contact their admin. See Usage and limits.
The Campaigns section has two pages, Overview and All campaigns, and a New campaign button.
Overview
The Overview shows how all your campaigns performed over a period of time.
Date range
Choose Last 7 days, Last 30 days (the default), Last 90 days, This month, or a custom From/To range. A custom range can be up to 366 days long and can't end in the future.
All days are UTC days. Today's figures are still filling up. The range is kept in the page address, so you can bookmark or share it.
Account health
The Account health card shows Meta's view of your WhatsApp number. Click Refresh to fetch the latest figures from Meta.
| Card | What it tells you |
|---|---|
| Daily messaging limit | How many unique contacts your number can message in a rolling 24 hours, for example "1,000 unique contacts per day", or Unlimited. Meta raises the limit automatically as you send good-quality messages. Not yet known means Meta hasn't reported it yet, which usually takes up to a day after you connect. |
| Consecutive days of messaging | Your current streak of days (UTC) with at least one message sent. No live streak means nothing was sent today or yesterday. |
| Messaging quality rating | High, Medium or Low, based on how recipients react to your messages, for example by blocking or reporting you. Not yet known means Meta hasn't rated the number yet, which is not the same as a bad rating. |
If no number is connected, the card says No WhatsApp number connected, with a link to connect one.
Results in this range
| Tile | Meaning |
|---|---|
| Sent | Meta accepted the message for delivery. It has left Relay, but hasn't necessarily reached anyone. |
| Delivered | The message reached the recipient's phone. Phones that are off deliver later, so this number keeps climbing after a send finishes. |
| Read | The recipient opened the message (blue ticks). People who turn off read receipts never report a read, so this is always lower than the truth. |
| Replied | The recipient sent a message back within the window Relay counts replies in. |
| Failed | Meta rejected the message or couldn't deliver it. |
Percentages are shares of all the recipients of the campaigns in the range.
In flight right now is a live snapshot, not a total for the range. It shows how many recipients are Queued (waiting to be picked up), Processing (being personalised) and Sending (handed to Meta, waiting for a response).
Day by day and Export CSV
The Day by day chart plots Sent, Delivered, Read and Failed for each UTC day. Delivery and read receipts arrive after the send, so a day can show more deliveries than sends.
Export CSV downloads exactly what's on the page: a row per day, totals, rates and the in-flight snapshot.
All campaigns
- Search campaigns… finds campaigns by name.
- Delivery status filters by status: Draft, Sending, Sent or Failed.
- Sort by orders the list by Date created, Name, Audience size, Messages delivered, Messages read, Replies received or Recipients who clicked. The arrow button reverses the order.
- Each row shows the campaign, its audience, delivery figures and Status. Click View insights to open it.
- Clicks shows N/A when the campaign's template had no trackable link.
| Status | Meaning |
|---|---|
| Draft | Saved, not sent. |
| Sending | Messages are going out now. |
| Sent | Sending has finished. |
| Failed | The campaign could not be sent. |
Create a campaign
Click New campaign. The wizard has four steps: Template, Audience, Personalize and Send. You can go Back at any time, or Cancel to leave without saving.
-
Choose a Template
Pick the Send from number first. Then choose a template: only templates that are approved for that number are listed.
Choose the Send from number (1), then an approved template. -
Select Audience
Choose who receives the campaign:
- All Contacts
- Filter by Tags: contacts with the chosen tags.
- Custom Field: contacts whose custom field Is, Is not or Contains a value.
- Upload CSV: a list of phone numbers (and optionally names). Numbers that aren't contacts yet are added as contacts.
Exclude Tags (Optional) removes contacts with the tags you choose. It works with every option except Upload CSV. The Audience summary shows the estimated number of recipients.
Pick an audience type and check the Audience summary. -
Personalize Variables
For each variable in the template, choose where its value comes from:
- Static Value: the same text for everyone.
- Contact Field: the contact's Name, Phone or Email.
- Custom Field: one of your custom fields.
If the template has an image header, enter a public Image URL. The Preview shows the message with sample data. Next stays disabled until every variable is filled in.
Map every variable, then check the live preview. -
Review & Send
Enter a Campaign name, and check the Summary: template, audience, estimated reach, language and sending number. Then choose:
- Save as Draft to keep it for later; or
- Send campaign, then confirm in the Confirm campaign dialog. Sending cannot be undone.
Name the campaign and review the summary before sending.
Sending, pacing and limits
- Plan allowance: before a campaign starts, Relay checks it against your plan's campaign-message allowance. If it would go over, the send is stopped and you see an upgrade prompt.
- Wallet: if your workspace uses a prepaid wallet, sends are charged to it. If the balance is too low, you're asked to top up.
- Pacing: messages go out in small batches, one after another. On a number that also stays live in the WhatsApp Business App, sending is capped at 20 messages per second, because the phone shares the number's capacity. Large campaigns therefore take longer.
- Meta's limits: your number's Daily messaging limit and Messaging quality rating still apply. Contacts over the limit, or messages Meta throttles, fail with a reason you can see in the campaign's insights.
Campaign insights
Click View insights on any campaign. Next to the campaign name, the header shows the template and language, when it was sent, and who sent it: a teammate's name, or "via the public API".
Audience overview
A single bar shows where every recipient ended up. Each recipient is counted exactly once:
- Reached & read
- Ignored: delivered but not read.
- Failed
- In flight: still being sent.
- Unaccounted: no status has been recorded for the recipient.
Why messages failed
Failures are grouped by reason, with advice for each:
| Reason | What it means |
|---|---|
| Could not be delivered | The number isn't on WhatsApp, or can't receive this kind of message. Remove these contacts; re-sending won't help. |
| 24-hour window closed | Only an approved template could reach these contacts. |
| Withheld by Meta | Meta held back these marketing messages, for example because the contacts had already received their limit for the period, or had opted out. Send marketing to the same people less often. |
| Template problem | Meta rejected the template, for example because it's paused or disabled, or its variables don't match. Check it in Settings → Templates. |
| Rate limited | Messages went out faster than the number allows, or Meta throttled it for quality. These recipients can be re-sent. |
| Account or connection problem | For example an expired connection, an unregistered number or a restricted business account. Check your WhatsApp connection. |
| Unrecognised Meta error {code} | An error Relay doesn't recognise. Quote the code to support. |
| Reason not recorded | No reason was stored for these failures. |
Click Show these recipients on a reason to filter the recipients table to those contacts.
How people responded
For templates with quick-reply buttons, a chart shows how many responders tapped each button. Free-text replies are counted separately, and you read them in the Inbox. If the template had no buttons, or nobody has responded yet, the panel says so.
Message
The Message panel shows what recipients were sent. A note warns you if the template has been updated since the send, is no longer approved, or has been deleted.
Recipients
- Filter by status: Queued, Processing, Sending, Sent, Delivered, Read, Replied or Failed. Older campaigns may also show Pending.
- Columns: Contact, Phone, Status, Sent, Delivered, Read and Error.
- Export CSV downloads every recipient that matches the current filter, not just the page you're looking at.
Clone or delete a campaign
- Clone campaign starts a new campaign with this one's settings filled in.
- Delete removes the campaign, after you confirm. You can't delete a campaign while it's sending.
Troubleshooting
No templates in step 1. Only templates approved for the selected Send from number are shown. Approve or sync one in Message templates, or pick another number.
"No WhatsApp number is connected." Connect a number first. See Connect WhatsApp.
Many "24-hour window closed" failures. Outside the 24-hour window, only an approved template reaches a contact. A free-form or ineligible message fails. Check that the campaign's template is still approved.
"Rate limited" failures. You're sending faster than your number allows. Send smaller campaigns, or spread them out. These recipients can be re-sent.
Quality rating is dropping. Recipients are blocking or reporting your messages. Send to people who expect to hear from you, send less often, and make your templates clearly useful. A Low rating can reduce your daily limit.
The Day by day chart is empty. Nothing was sent in the selected range. Widen the range.
I can't click New campaign. Viewers can't create campaigns. You need the agent role or higher.