Create a broadcast
This article walks you step by step through the campaign creation form: choosing the template, targeting contacts, filling in variables, estimating the cost, pre-authorizing the card, and sending. Expect 3 to 5 minutes for a first campaign, once the prerequisites are in place.

Prerequisites
Before clicking New campaign, check that:
- Your WhatsApp number is connected (see Connect a phone number).
- You have at least one approved template (auto-imported from the Meta library or created manually).
- Your Meta quality rating is not in the red.
- Your bank card is registered for pre-authorization.
- Your contacts are already in the database.
Step 1 — Start creating
- Go to Campaigns from the side menu.
- Click New campaign in the top right.
- You land on a form with several sections.
Give the campaign an internal name (visible only to you, not to recipients) — it will help you find it in the history. For example: Summer sale promo 2026, April quote follow-up.
Step 2 — Choose a template
The template is the Meta-approved content you're going to send. Reepli lists all the templates imported from the Meta library plus the ones you created manually, filtered by the languages you've configured.
Selection
- The list of approved templates is displayed, with category and language.
- Filter by category if needed (Utility / Authentication / Marketing).
- Click a template to see the preview: header, body, footer, buttons.
- Confirm your choice with Select.
If no template matches
You can create a new template from the Templates section of the admin area. Expect anywhere from a few minutes to 24 hours of Meta approval before you can use it.
Details in Message templates.
Only templates with an approved status can be used in a campaign. A pending template is not offered.
Step 3 — Define the audience
The audience is the list of contacts who will receive the template. Reepli does not store named segments — you rebuild your filters on the fly for each campaign.
Available filters
| Criterion | Examples |
|---|---|
| Contact stage | Qualified, Quote sent, Won (see pipeline) |
| Intent score | Score ≥ 70, score < 40 |
| Labels | vip, salon-2026, paris |
| Last activity | Wrote in the last 7 days, dormant for 30 days |
| Free search | Name, number, email |
All filters combine with logical AND. The recipient counter updates in real time with each adjustment.
Exclusions
Below the filters block, you can add exclusions:
- Labels to exclude (for example
unsubscribed). - Stages to exclude (for example Lost).
- Contacts who have already received a campaign this week.
Manual selection
If you prefer to choose individually, switch to Manual selection: tick the contacts in the list.
Preview the audience
Click View list to display the recipients. Check before committing the cost.
If you expected 200 recipients and the counter shows 4,200, your filters are too broad. Add a precise label or narrow the targeted stage. Better to refine than to send 4,000 wasted messages.
Step 4 — Personalize the content
If the template contains variables ({{1}}, {{2}}…), you must fill them in.
Fill type
| Type | Description |
|---|---|
| Static | A fixed value for all recipients (e.g. "20%", "May 15") |
| Dynamic | Pulled from a contact field (e.g. name, number) |
For each variable:
- Choose static or dynamic.
- If dynamic, select the source field in the dropdown.
- Set a default value in case the field is empty for some contacts.
- Check the rendered preview.
Header media
If the template has a media header (image, video, document):
- Image: JPG/PNG max 5 MB.
- Video: MP4 max 16 MB.
- Document: PDF max 100 MB.
The media is uploaded once and sent to all recipients.
Buttons
- URL button: if the URL is dynamic (
https://example.com/order/{{1}}), enter the suffix. - Quick reply button: the button text is fixed in the template, you cannot change it here.
Step 5 — Estimated cost and pre-authorization
Cost display
Reepli calculates in real time:
- Number of recipients filtered.
- The template's category (Utility / Marketing / Authentication).
- Meta rate by country (based on the dialing code of each contact's number).
- Total estimated cost = sum.
Example: 200 contacts × €0.150 (Marketing France) = €30.00 excl. tax.
Bank card pre-authorization
When you click Start sending:
- Reepli asks Stripe for a pre-authorization on the estimated amount (slightly increased to absorb variations).
- Stripe holds this amount on your card without charging it yet.
- If the pre-authorization fails (card declined, limit reached), the send is canceled.
- Once the send is complete, Reepli charges the actual amount (which may be lower if some messages failed).
You'll see the operation as two lines on your bank statement: authorization, then charge.
Step 6 — Sending
Click Confirm and send. Reepli:
- Pre-authorizes the card.
- Creates the campaign (status In progress).
- Sends the messages to WhatsApp in batches (rate regulated to about 80 messages per second per number).
- Updates the sent, delivered, read, and failed counters live.
- Charges the actual cost once the send is complete.
You're redirected to the campaign page where you track progress in real time.
Real-time tracking
On the campaign page, five counters:
| Counter | Meaning |
|---|---|
| Sent | Accepted by WhatsApp |
| Delivered | Reached the recipient's phone |
| Read | Opened by the recipient (double blue tick) |
| Replied | The recipient replied |
| Failed | Permanent error (unknown number, block, etc.) |
Details in Campaign analytics.
Campaign statuses
| Status | Meaning |
|---|---|
| Draft | Being created (not yet sent) |
| In progress | Send in progress |
| Completed | All messages processed |
| Canceled | Canceled before completion |
| Failed | Critical failure (rare — typically quality rating in the red or tier exceeded) |
Cancel a campaign in progress
If you spot a problem mid-send:
- Go to the campaign page.
- Click Cancel campaign.
- Confirm.
Sending of the remaining messages is stopped. Messages already sent cannot be recalled. The charge is adjusted to the cost of the messages actually sent.
Common errors
| Error | Cause | Solution |
|---|---|---|
| Template not approved | The template is no longer approved | Check the status, recreate it if deactivated |
| Quality rating too low | The rating dropped to red | See Messaging limits |
| Tier exceeded | Tier cap exceeded over 24h | Wait or split the send |
| Card declined | Pre-authorization declined by the bank | Update the card in Settings → Billing |
| The number is not on WhatsApp | The contact has no WA account | The message counts as failed; not re-billable by Meta |
Best practices
- Start small — 50 to 100 contacts for the first campaign. Check the rendering and the metrics before rolling out at scale.
- Test on yourself — create a mini audience (you + a colleague) and send first. Check the rendering, variables, and buttons on a real phone.
- Use labels to track — tag your audience with
campagne-soldes-maibefore sending. You can then filter in contacts to see who received / replied. - Mind the default value — a message that says
Hello ,to 30% of your audience kills the effect. The default value saves the day. - Respect the frequency — 4 to 5 campaigns max per month per contact. The automatic exclusions based on recent send history are there for exactly that.
Related articles
If you get stuck on a send, support can step in quickly — chat at the bottom right of the dashboard or email [email protected].