Personalization
Use template variables to personalize each message with recipient data.

Campaigns allow you to send bulk WhatsApp messages to multiple contacts at once. Whether you're sending promotional offers, updates, or notifications, Whatomate handles the delivery efficiently while respecting WhatsApp's rate limits.
Select Template
Choose an approved message template for your campaign.
Define Audience
Select contacts or upload a contact list for targeting.
Set Variables
Configure template variables for personalization.
Schedule (Optional)
Schedule the campaign for a specific date and time.
Review & Send
Review the campaign details and send or schedule it.
You can add recipients to your campaign in two ways:
Add recipients one at a time by entering:
For bulk imports, upload a CSV file with your recipient data:
Prepare Your CSV
Create a CSV file with columns for phone number, name, and template parameters:
phone,name,param1,param2+1234567890,John Doe,Order #123,December 25+0987654321,Jane Smith,Order #456,December 26TEXT header parameter: if the template's header has a variable
({{...}}), add a column named header. Meta indexes positional
placeholders per component, so header {{1}} and body {{1}} are two
distinct values — the reserved column name avoids that collision. The
header column always comes before the body parameter columns. For
example, a template with header Our {{season}} sale and body
Hi {{customer_name}}, use code {{coupon}}:
phone,name,header,customer_name,coupon+1234567890,John Doe,Summer,John,SAVE20+0987654321,Jane Smith,Winter,Jane,SAVE15The recipient dialog also provides a Download sample CSV link that generates a template with the correct columns for your campaign's template — no manual setup required.
Upload and Validate
The system automatically validates your CSV against the selected template:
Review and Import
Preview the validation results before importing:

Track your campaign performance with detailed analytics:
| Metric | Description |
|---|---|
| Total | Total number of recipients |
| Sent | Messages successfully sent |
| Delivered | Messages delivered to recipients |
| Read | Messages opened by recipients |
| Failed | Messages that failed to send |
The campaign itself moves through a lifecycle, shown on the campaign card and detail page:
| Status | Meaning |
|---|---|
| Draft | Created but not yet queued for sending |
| Scheduled | Set to start at a future date/time |
| Queued | Handed off to the send queue, waiting for a worker |
| Processing | Workers are actively sending messages |
| Paused | Sending temporarily halted; can be resumed or retried |
| Completed | All recipients processed |
| Cancelled | Stopped by a user; no further sends |
| Failed | Campaign could not complete |
Each recipient's message status is tracked individually:
Each failed recipient also records a failure reason — the error message returned by WhatsApp (e.g. an invalid number or a template mismatch) — so you can see exactly why a message didn't go out and fix the data before retrying.
While a campaign is queued or processing you can pause it to halt sending, then resume it later. A campaign can also be cancelled, which stops it for good.
On a completed, paused, or failed campaign, use Retry Failed to re-queue every recipient whose message failed. Whatomate resets those recipients back to pending, clears their previous error, and puts the campaign back into processing — recipients that already succeeded are left untouched, so no one is messaged twice.
Personalization
Use template variables to personalize each message with recipient data.
Scheduling
Schedule campaigns for optimal delivery times.
Rate Limiting
Automatic rate limiting to comply with WhatsApp policies.
Analytics
Real-time tracking of delivery and engagement metrics.