Campaign processing
Once a campaign is initiated, the system follows a strict set of validations and steps to ensure message delivery is accurate, compliant, and efficient:
Active Contacts Only
Only contacts marked as active within the selected contact list will be considered for the campaign. Inactive contacts are automatically excluded.
Template Validation
The message template selected for the campaign must be in an approved and active state. Templates under review or rejected will prevent the campaign from proceeding.
WhatsApp Opt-In Requirement
Contacts must have explicitly opted in to receive WhatsApp messages from the business. Any contacts lacking valid opt-in will be skipped.
Message Dispatch & Status Tracking
Messages are sent to qualifying contacts, and the delivery status is tracked at the campaign level. Each message can hold one of the following statuses:
On Hold (held_for_quality_assessment)
Failed
Sent (accepted or submitted)
Delivered
Read
Reported
Message Visibility
All messages sent via campaigns are also logged in the individual chat history of the respective contacts for easy reference.
Batch Processing
A single campaign can include up to 1,000 contacts.
Processing occurs in batches of 100 contacts at a time to ensure stability and control.
Handling Missing Parameters
If the message template includes dynamic parameters and no values are provided for them, the campaign will be marked as failed and will not execute.
Campaign Interruption
You may stop a campaign while it is in progress. However, the campaign will complete the current batch of 100 contacts before halting.
Failure Threshold
If more than 25% of contacts fail in any given batch, the system will mark the entire campaign as failed and cease further processing.
Campaign Details Page Overview :
The Campaign Details page provides a comprehensive view of each campaign—before, during, and after execution. It helps users preview content, track performance, and identify issues for resolution.
Before the Campaign is Run
Template Preview
On the right side of the page, a visual preview of the selected message template will be displayed. This includes:
The scheduled date and time (displayed above the template).
Any dynamic variables used in the template (shown below the preview).
Validation for Dynamic Parameters
If any required dynamic variables are missing values, a warning will appear:
"Some variables are missing. Campaign will not be run without these values."
This allows users to correct the inputs before launch.
If the Campaign Fails to Run
In case the campaign fails during execution, an error message will be shown in the format:
"Error while running Campaign – {{reason}}"
The {{reason}} will specify the exact failure cause, which may include:
Campaign stopped because too many messages failed. Please check if the members in the Contact List are valid.
Campaign did not run because the values of the parameters were missing.
Contact List {{list.label}} was empty.
Contact List {{list.label}} was inactive.
Template {{template.name}} was inactive.
Template {{template.name}} was invalid.
Something went wrong with the application. Please contact support.
Once the campaign has finished processing, the following information will be displayed:
Message Statistics
A summary at the top of the page shows the delivery breakdown:
Total Messages → Failed → Sent → Delivered → Read
Tabs for Status Breakdown
The Campaign Details page includes four status-based tabs:
Failures
Sent
Delivered
Read
The Failures tab will be displayed by default with the Contact (linkable to Contacts page) and a link to with a link "Go to Chat" to navigate to its chat.
On clicking the other tabs, it will display the messages in the respective statuses with the following properties - Contact (linkable to Contacts page), Sent/Delivered/Read time with the link to navigate to its chat
This structured interface ensures complete visibility into campaign outcomes and offers easy access to follow-up actions or troubleshooting.