# Send a broadcast campaign

> The four-step wizard, step by step.

_Source: https://hexafloww.com/docs/whatsapp/whatsapp-broadcast_

---

A broadcast campaign sends an approved template to a list of contacts. The wizard at `/admin/whatsapp/campaigns/new` has four steps: Template, Audience, Variables, and Schedule & review.

> [!TIP]
> **Before you start**
> - A **connected WhatsApp number** — see [Connect WhatsApp](https://hexafloww.com/docs/connect-accounts/connect-whatsapp-automatic.md).
> - An **APPROVED template** — see [Create a message template](https://hexafloww.com/docs/whatsapp/whatsapp-templates.md).
> - Contacts who have **opted in** to WhatsApp — see [Audience, consent & frequency limits](https://hexafloww.com/docs/whatsapp/whatsapp-audience-consent.md).

## Step 1 — Template

Name the campaign and pick an approved template. The category (Marketing or Utility) shown here affects pricing and which consent and frequency rules apply.

## Step 2 — Audience

Choose who receives it — a segment, everyone opted in, or a hand-picked list. HexaFloww shows a live **skip breakdown** so you know exactly who is excluded and why:

- **Opted out (STOP)** — asked to stop WhatsApp messages.
- **No consent** — never opted in.
- **Frequency-capped by you** — messaged too recently or too often, per your compliance settings.
- **Meta capped** — Meta's own per-user marketing limit; a 7-day cooldown you can't override.
- **Duplicate numbers** — the same number appears more than once.

![Audience step showing the recipient count and skip breakdown](https://hexafloww.com/docs/whatsapp/campaign-audience.webp)

This step also shows your **tier headroom** (how many new conversations you can still start today). If your audience is larger, turn on **wave sending** to spread it over several days. There's also a one-click **consent attestation** for confirming you have permission to message this audience.

## Step 3 — Variables

If your template has placeholders, map each one to a **client field** (like first name), a **custom field**, or a **static value**. Always set a **fallback** for personal fields so a contact with a blank value still gets a sensible message. A live preview shows the message filled in with a real sample contact.

For a template with a media header, upload the image, video, or document here.

## Step 4 — Schedule & review

Send now or schedule for later. This step shows an **estimated cost** (GST-inclusive) and a **test send** so you can check the real message on your own phone first.

### The pre-flight checklist

Before it will launch, HexaFloww re-checks — and blocks if any fail:

- the template is still APPROVED and its quality isn't Red;
- your number's quality rating isn't Red;
- the audience fits your remaining daily limit, or waves are enabled.

A missing test send only warns you — it doesn't block.

## Managing a running campaign

From the campaign's page you can **pause**, **resume**, **cancel**, **duplicate**, or **retry failed** recipients. HexaFloww also auto-pauses a campaign if failures spike early, if your quality drops to Red, or if the template gets paused by Meta.

> [!TIP]
> **Next steps**
> - [Delivery, read & cost reporting](https://hexafloww.com/docs/whatsapp/whatsapp-reporting.md)
> - [Send WhatsApp from an automation instead](https://hexafloww.com/docs/automations/automations-overview.md)
