Campaigns
Create and manage WhatsApp marketing campaigns to send messages to your contacts.
Campaigns allow you to send WhatsApp messages to multiple contacts at once using pre-approved templates. You can target specific segments, upload contact lists via CSV, and track campaign performance.
Accessing Campaigns
Path: Campaigns (/dash/campaigns)
On the Campaigns page, you'll see:
- Top Actions:
- View/Add Templates – Navigate to WhatsApp Templates settings to view or create templates.
- Create Segment – Create a new contact segment for targeting.
- Create Campaign – Start creating a new campaign.
- Marketing Messages Remaining – Shows your available marketing message quota (or "Unlimited" if applicable).
- WhatsApp Health Status – Displays the health status of your WhatsApp Business Account (WABA) and Business verification status.
- Campaigns List – A table showing all your campaigns with filters, search, and management options.
Campaign Statuses
Campaigns can have the following statuses:
- Draft – Campaign is saved but not yet published. You can edit and publish it later.
- Scheduled – Campaign is scheduled to start at a specific time.
- Pending – Campaign is queued and waiting to start sending messages.
- Active – Campaign is currently sending messages to contacts.
- Paused – Campaign has been paused and can be resumed.
- Completed – Campaign has finished sending all messages.
- Cancelled – Campaign was cancelled before completion.
Creating a Campaign
Path: Campaigns → Create Campaign
The campaign creation process is a 4-step wizard:
Step 1: Select Channel & Template
- Select Channel: Choose a WhatsApp Business channel from the dropdown. Only active and connected channels are available.
- Search Templates: Use the search bar to find templates by name or body text.
- Filter by Type: Filter templates by category (Marketing, Utility, etc.) using the type filter dropdown.
- Select Template: Click on a template card to select it. The template
preview shows:
- Template name
- Category and status
- Language
- Preview of header, body, footer, and buttons (if applicable)
Note: If no channels are available, you'll see an empty state prompting you to create a channel first.
Step 2: Select Contacts
Choose how to select contacts for your campaign:
Option A: Segment
- Select Segment as the contact selection method.
- Use the segment combobox to search and select an existing segment.
- The system displays the number of contacts in the selected segment.
Option B: CSV Upload
- Select CSV as the contact selection method.
- Upload CSV File:
- Click "Upload CSV" or drag and drop a CSV file.
- The file must contain a Phone column (variations like "phone", "Phone Number", "mobile", etc. are accepted).
- Maximum 5,000 contacts per file.
- Additional columns (Name, Email, custom fields) are optional and can be used for template variables.
- CSV Validation:
- The system validates the file structure, checks for required columns, and detects duplicate phone numbers.
- Validation status is shown (Valid, Error, or Warning).
- If duplicates are found, you'll see a warning with the count.
- View Sample: Click "Download Sample CSV" to see the expected format.
Note: Phone numbers are normalized automatically. Duplicate phone numbers within the CSV are detected and shown in a warning.
Step 3: Set Variables
Configure template variables that will be personalized for each contact:
-
Header Variables (if template has a text header with variables):
- Enter the value or select a CSV column that contains the header variable value.
- For CSV method, you can map CSV columns to header variables.
-
Body Variables:
- For each variable in the template body (e.g.,
{{name}},{{order_id}}):- Enter a static value, or
- Select a CSV column (if using CSV method), or
- Use contact custom fields (if available).
- Variables are displayed with their names and you can configure values for each.
- For each variable in the template body (e.g.,
-
Button Variables (for URL buttons with dynamic URLs):
- If your template has URL buttons with dynamic URLs containing variables:
- Configure the variable values (static, CSV column, or custom field).
- If your template has URL buttons with dynamic URLs containing variables:
-
Carousel Variables (for Media Carousel templates):
- If your template is a Media Carousel:
- Configure variables for each carousel card's body text.
- Variables can be mapped to CSV columns or set as static values.
- If your template is a Media Carousel:
Variable Mapping Options:
- Static Value: Enter a fixed value that applies to all contacts.
- CSV Column: Select a column from your uploaded CSV (only available when using CSV contact selection).
- Custom Field: Use contact custom fields (if contacts have custom field data).
Step 4: Summary
Review your campaign configuration before publishing:
-
Test Your Campaign:
- Click Send Sample Message to test how the campaign will look.
- Enter a phone number and configure variable values in the drawer.
- Send a test message to verify the template rendering.
-
Campaign Summary:
- Template: Name of the selected template.
- Segment/CSV: Shows the selected segment name or CSV file name.
- Number of contacts: Total contacts that will receive the campaign.
- Variables: Summary of configured variables.
-
Actions:
- Save as Draft: Save the campaign without publishing. You can edit and publish it later.
- Publish: Start the campaign immediately. The campaign will begin sending messages to contacts.
Validation:
- Before publishing, the system validates:
- Message length (ensures messages don't exceed WhatsApp limits).
- Duplicate phone numbers (warns if duplicates are detected).
- If validation fails, you'll see dialogs explaining the issues.
Managing Campaigns
Campaign List
The campaigns list shows:
- Name – Campaign name.
- Created At – When the campaign was created.
- Status – Current campaign status (with color-coded badges).
- Metrics – Visual chart showing delivery progress (sent, delivered, read, clicked, failed).
Filters and Search
- Status Filter: Use the segmented control to filter campaigns by status (All, Draft, Scheduled, Pending, Active, Paused, Completed, Cancelled).
- Search: Search campaigns by name using the search bar.
- Sorting: Click column headers to sort by name or creation date (ascending/descending).
Campaign Actions
-
Click a Campaign Row:
- Draft campaigns: Opens the campaign editor to continue editing.
- Published campaigns: Opens the Campaign Analytics page.
-
Bulk Actions (select multiple campaigns using checkboxes):
- Delete: Delete selected campaigns (only Draft campaigns can be deleted).
-
Individual Actions:
- Publish (for Draft campaigns): Start sending the campaign.
- Pause (for Active campaigns): Pause message sending.
- Resume (for Paused campaigns): Resume sending messages.
- Cancel (for Active/Pending campaigns): Stop the campaign permanently.
Campaign Analytics
Path: Campaigns → Click on a published campaign
The Campaign Analytics page provides detailed insights into your campaign performance:
Campaign Stats
Real-time statistics showing:
- Total Contacts – Number of contacts in the campaign.
- Sent – Messages successfully sent.
- Delivered – Messages delivered to recipients.
- Read – Messages read by recipients.
- Clicked – Button clicks (for templates with buttons).
- Failed – Messages that failed to send.
Note: Stats auto-refresh every 5 seconds for active campaigns.
Clicks Histogram
A chart showing button click activity over time, helping you understand when recipients are most engaged.
Campaign Summary
Overview of campaign details:
- Template information
- Contact selection method (Segment or CSV)
- Total contacts
- Start and end dates (if applicable)
- Campaign status
Campaign Contacts Table
A detailed table showing the status of each contact:
- Phone Number – Contact's phone number.
- Name – Contact name (if available).
- Status – Delivery status (Sent, Delivered, Read, Clicked, Failed).
- Sent At – When the message was sent.
- Delivered At – When the message was delivered (if applicable).
- Read At – When the message was read (if applicable).
- Clicked At – When a button was clicked (if applicable).
- Error – Error message (if status is Failed).
Actions:
- Download Failed: If there are failed contacts, a "Download Failed" button appears in the top actions. Click it to download a CSV file with failed contact details for troubleshooting.
Template Preview
Click View Template in the top actions to open a sidebar showing:
- The complete template preview
- How variables are rendered
- Button configurations
Best Practices
- Test Before Sending: Always use "Send Sample Message" to verify your template and variables before publishing.
- Segment Targeting: Use segments to target specific groups of contacts for better engagement.
- Variable Personalization: Use CSV columns or custom fields to personalize messages with contact-specific information.
- Monitor Performance: Check Campaign Analytics regularly to track delivery rates and engagement.
- Handle Failures: Download failed contacts CSV to identify and fix issues (invalid phone numbers, opt-outs, etc.).
- Respect Limits: Be aware of your marketing message quota and WhatsApp rate limits.
- Template Approval: Ensure your templates are approved by WhatsApp before using them in campaigns.
Troubleshooting
Campaign Not Sending
- Check that your WhatsApp channel is active and connected.
- Verify template status is "APPROVED" (not PENDING or REJECTED).
- Ensure you have sufficient marketing message quota.
- Check WhatsApp Business Account health status.
High Failure Rate
- Download the failed contacts CSV to see error messages.
- Common issues: invalid phone numbers, opt-out contacts, rate limits.
- Verify phone number formats in your CSV or segment.
Variables Not Working
- Ensure CSV columns match variable names (case-insensitive).
- Check that custom fields exist for contacts if using custom field mapping.
- Verify variable syntax matches template requirements (snake_case format).
Template Issues
- Templates must be approved by WhatsApp before use.
- Check template status in WhatsApp Templates settings.
- Verify template language matches your contact's language preferences.
Advanced Topics
Advanced Campaign Features
- Segments - Create sophisticated segments for precise targeting
- Custom Fields - Use custom fields for advanced variable mapping
- WhatsApp Templates - Master template creation and management
Campaign Analytics & Optimization
- Marketing Insights - Deep dive into campaign performance metrics
- Conversation Insights - Analyze how campaigns drive conversations
- Contacts Overview - Understand contact engagement patterns
Advanced Targeting
- All Contacts - Use advanced filters to create precise campaign audiences
- Labels - Leverage labels for campaign segmentation
- Leads Board - Track campaign-generated leads through your pipeline