Campaign Overview
What it is
Campaigns are BotBat's primary tool for delivering targeted marketing messages to groups of contacts across multiple communication channels, including WhatsApp, SMS, and email. A campaign bundles together an audience segment, a message template, a delivery channel, and an optional schedule into a single, trackable unit of outreach. Every campaign moves through a defined lifecycle that lets you monitor progress from initial creation all the way through to final delivery analytics.
The campaign system is designed around the principle that every message sent should be measurable. Rather than sending one-off broadcasts with no tracking, campaigns capture delivery status at the per-contact level, record engagement events (opens, clicks, replies), and surface aggregated metrics in real-time dashboards. This gives marketing teams the data they need to iterate on messaging strategy, identify underperforming segments, and optimize send times for maximum engagement.
Campaigns also support A/B testing natively. You can split your audience into variant groups, assign different message templates or content to each group, and let BotBat automatically determine the winning variant based on a metric you choose (open rate, click rate, or reply rate). The winning variant can then be sent to the remaining audience, ensuring that your best-performing content reaches the largest possible group.

Campaign lifecycle
Every campaign transitions through a series of states from creation to completion. Understanding these states helps you manage active campaigns and troubleshoot delivery issues when they arise.
| State | Description | Actions available |
|---|---|---|
| Draft | The campaign is being configured. No messages have been queued or sent. | Edit, clone, delete, launch |
| Scheduled | The campaign is finalized and queued for delivery at a specific future date and time. | Cancel schedule, edit (returns to draft), clone |
| Sending | Messages are actively being dispatched to the audience. Delivery is in progress. | View real-time progress, pause (if supported by channel) |
| Sent | All messages have been dispatched to the channel provider. Delivery confirmations may still be arriving. | View analytics, clone, export |
| Completed | All delivery callbacks have been received and analytics are finalized. | View analytics, clone, export, compare |

Supported channels
BotBat supports three messaging channels within campaigns. Each channel has different requirements for templates, content formatting, and delivery tracking. The table below summarizes the key differences to help you choose the right channel for your use case.
| Feature | SMS | ||
|---|---|---|---|
| Template approval required | Yes (Meta approval, 24-48 hours) | No | No |
| Rich media support | Images, documents, buttons, list messages | Plain text only | Full HTML, images, attachments |
| Open tracking | Read receipts (if enabled by recipient) | Not supported | Pixel-based tracking |
| Click tracking | Button tap events | Link shortener tracking | Link click tracking |
| Reply tracking | Full reply capture | Full reply capture | Reply detection |
| Typical delivery speed | High (batched by Meta) | High (carrier-dependent) | Very high |
| Rate limits | Meta-enforced tier limits | Carrier-specific throttling | Provider-specific (SES, SendGrid) |
When deciding which channel to use, consider your audience's preferences and the nature of your content. WhatsApp is ideal for conversational, high-engagement messages. SMS works best for short, time-sensitive alerts. Email is suited for longer-form content such as newsletters, product announcements, or content that benefits from rich formatting.
Audience targeting
The audience for a campaign is defined by selecting a contact segment. Segments are reusable groups of contacts built using BotBat's query builder, which lets you filter contacts by demographic attributes, behavioral events, tags, custom properties, and more. You can preview the number of contacts that match a segment before attaching it to a campaign, which helps you avoid the common mistake of launching to an empty or unexpectedly small audience.
For campaigns that target multiple segments, you can either create a combined segment using OR logic in the query builder, or clone the campaign once per segment to keep analytics separated. The latter approach is useful when you need to compare performance across distinct audience groups.

A/B testing
A/B testing allows you to experiment with different message variants within a single campaign. You define two or more variants (each with its own template or content), specify the percentage of your audience that should receive each variant, and choose the metric that determines the winner. Once the test period completes, BotBat can automatically send the winning variant to the remaining audience.
This feature is particularly powerful for optimizing WhatsApp button text, email subject lines, or SMS call-to-action phrasing. By testing on a small portion of your audience first, you reduce the risk of underperforming content reaching your entire contact list.

When to use
Use campaigns when you need to send a message to a defined group of contacts and track the results. Common scenarios include promotional outreach (marketing offers, product launches, seasonal sales), scheduled communications (newsletters, weekly digests, event reminders), performance-driven messaging where you need delivery and engagement metrics, and A/B testing to optimize message content before a full rollout.
Campaigns are not the right tool for one-to-one transactional messages (use the Transactional API instead) or for automated sequences triggered by user behavior (use Journeys for those).
Common pitfalls
- Segment with zero contacts: If the selected segment resolves to zero contacts at send time, the campaign will fail. Always preview your segment size before launching. Segment membership is evaluated at send time, not at configuration time, so contacts added or removed between scheduling and delivery will affect the final audience.
- Unapproved WhatsApp templates: WhatsApp requires that all message templates be approved by Meta before they can be used in campaigns. Submitting a campaign with a pending or rejected template will block delivery entirely. Allow 24 to 48 hours for template approval and check the template status in the Templates section before linking it to a campaign.
- Timezone mismatch: Scheduled campaigns use the account-level timezone configured in Settings, not your browser's local time. If you are in a different timezone than your account setting, the campaign will send at a different clock time than you expect. Confirm your timezone setting before scheduling.
- Rate limit throttling: Channels enforce rate limits, especially WhatsApp and SMS. Large campaigns are batched automatically by BotBat, so delivery to tens of thousands of contacts may take several hours rather than completing instantly. Monitor the Sending state to track progress.
- Duplicate sends to contacts: Launching the same campaign twice is not possible, but creating a similar campaign without checking recent send history can result in contacts receiving near-identical messages in a short timeframe. Review your recent campaign history before launching a new campaign with a similar audience.
Use the Campaign Analytics comparison feature to benchmark new campaigns against previous ones. This helps you identify trends in engagement rates over time and optimize your messaging strategy based on real performance data rather than assumptions.
- Campaigns Overview
- Campaign List
- Campaign Lifecycle
- Supported Channels
- Audience Targeting