Create a Campaign
What it is
The Campaign Creator is a multi-step wizard that guides you through every aspect of building, targeting, and scheduling a marketing campaign. The wizard walks you through channel selection, audience definition, message composition, optional A/B testing, scheduling, and a final review before launch. Each step validates your inputs so that errors are caught early rather than at send time.
The wizard is designed to be completed in sequence, but you can navigate back to any previous step to make changes before launching. All progress is saved automatically as a draft, so you can close the wizard and return later without losing your work. Drafts appear in the campaign list with a "Draft" status badge and can be resumed at any time.
Whether you are running a one-time promotional blast or setting up a carefully targeted campaign with personalization variables and A/B variants, the Campaign Creator provides the same structured workflow. This consistency ensures that every campaign you send has been properly reviewed and validated before a single message leaves the system.
When to use
- Promotional outreach: You want to send a marketing offer, product announcement, seasonal promotion, or any other message to a defined group of contacts and track the delivery and engagement results.
- Scheduled delivery: You need to queue a campaign for a specific future date and time, such as sending a flash sale notification at 9:00 AM on a Monday morning when your audience is most active.
- A/B testing: You want to compare two or more message variants (different copy, subject lines, or call-to-action text) to determine which performs best before rolling out to your full audience.
- Multi-channel messaging: You need to reach contacts on WhatsApp, SMS, or email and want a unified workflow for composing, targeting, and tracking the campaign regardless of channel.
- Personalized content: You want to use dynamic variables like
{{first_name}},{{company_name}}, or custom attributes to tailor the message content to each recipient.
Steps
Step 1: Navigate to the Campaign Creator
Open the Campaigns section from the main navigation sidebar. Click the Create Campaign button located in the top-right corner of the campaign list page. This launches the campaign creation wizard.
Step 2: Choose a channel
Select the messaging channel for your campaign. The available options are WhatsApp, SMS, and Email. Your choice here determines which templates are available in the compose step and which delivery and engagement metrics will be tracked.

| Channel | Best for | Template requirement |
|---|---|---|
| Conversational marketing, rich media, high open rates | Meta-approved template required | |
| SMS | Short, time-sensitive alerts and reminders | No approval needed |
| Long-form content, newsletters, HTML-rich messages | No approval needed |
Consider your audience's communication preferences and the nature of your content when choosing a channel. WhatsApp typically achieves the highest open rates, but requires pre-approved templates. SMS is limited to plain text but has near-universal reach. Email supports rich HTML formatting and attachments but may be subject to spam filtering.
Step 3: Select your audience
Choose the contact segment that defines who will receive this campaign. The dropdown displays all available segments along with their current contact count. Select a segment and verify the contact count shown below the dropdown to ensure your audience size matches your expectations.

If none of the existing segments match your needs, you can create a new segment directly from this step by clicking the Create Segment link. The query builder opens in a modal where you can define filter conditions using contact attributes, behavioral events, tags, and custom properties. After saving the new segment, it becomes immediately available for selection.
It is important to note that segment membership is evaluated at send time, not at the moment you configure the campaign. If contacts are added to or removed from the segment between configuration and delivery, the final audience may differ from what you see during setup. Always check the segment count close to your scheduled send time for the most accurate estimate.
Step 4: Compose your message
Write or select the message content for your campaign. For WhatsApp campaigns, you must choose from your list of approved templates. For SMS and email campaigns, you can compose content directly in the editor or select a saved template.

Use personalization variables to tailor the message to each recipient. Common variables include:
| Variable | Description | Example output |
|---|---|---|
{{first_name}} | Contact's first name | "Sarah" |
{{last_name}} | Contact's last name | "Johnson" |
{{company_name}} | Contact's company | "Acme Corp" |
{{phone}} | Contact's phone number | "+1234567890" |
{{email}} | Contact's email address | "sarah@acme.com" |
{{custom.attribute}} | Any custom attribute | Varies by attribute |
Variables that cannot be resolved for a given contact will fall back to a default value you specify, or will be replaced with an empty string if no default is set. Always define fallback values for critical variables to avoid sending messages with blank placeholders.
Step 5: Configure A/B testing (optional)
If you want to test message variants, enable the A/B testing toggle. You can create two or more variants, each with different content, and specify what percentage of the audience should receive each variant. Choose the winning metric (open rate, click rate, or reply rate) and the test duration. After the test period, BotBat automatically identifies the winning variant and can send it to the remaining audience.
Step 6: Schedule or send
Choose between immediate delivery and scheduled delivery. If you select Send Now, the campaign begins processing as soon as you confirm the launch. If you select Schedule, a date and time picker appears where you set the delivery time. Scheduling uses your account timezone configured in Settings, not your browser's local time.

For time-sensitive campaigns, consider your audience's timezone distribution. If your contacts span multiple timezones, sending at a single fixed time may not be optimal for all recipients. In such cases, you may want to clone the campaign and schedule each clone for a different timezone window.
Step 7: Review and launch
The final step presents a complete summary of your campaign configuration, including channel, audience segment and count, message preview, A/B test settings (if enabled), and scheduled delivery time. Review every field carefully. Once you click Launch, the campaign transitions to either the Scheduled or Sending state, and further edits are no longer possible.
If anything looks incorrect, use the back navigation to return to the relevant step and make corrections. You can also save the campaign as a draft and return to it later by finding it in the campaign list.
Common pitfalls
- Empty audience: If your selected segment has zero contacts at send time, the campaign will fail with an error. Always verify your segment count before launching. Remember that segment membership is dynamic and may change between configuration and delivery.
- Template approval delays: WhatsApp campaigns require Meta-approved templates. Template review can take 24 to 48 hours. Submit templates well in advance and check their approval status in the Templates section before linking them to a campaign. Launching a campaign with a pending or rejected template will block delivery entirely.
- Timezone confusion: Campaign scheduling uses the account-level timezone set in Settings. If you are physically located in a different timezone, the send time displayed in the wizard may not match your local clock. Double-check your account timezone setting before scheduling to avoid delivering at the wrong hour.
- Rate limits on large audiences: Channels enforce rate limits that BotBat respects by batching message delivery. Campaigns targeting tens of thousands of contacts may take minutes to hours to complete delivery. Monitor the campaign's Sending state for real-time progress updates.
- Missing personalization fallbacks: If a personalization variable like
{{first_name}}cannot be resolved for a contact and no fallback value is defined, the variable is replaced with an empty string. This can result in awkward message content like "Hi , check out our sale!" Always set fallback values for variables used in greetings or critical content areas.
Send a test message to yourself before launching to verify that personalization variables resolve correctly and the message content looks right on the target device. Use the "Preview" button in the compose step to see how the message renders for a sample contact.
- Create Campaign
- Channel Selection
- Audience Selection
- Message Composer
- Schedule Delivery
- Review & Launch