Campaign Management (Broadcast) Feature¶
Overview¶
Broadcast (/broadcast) enables businesses to create and manage bulk messaging campaigns across SMS, WhatsApp Business, WhatsApp Lite, and Email. It provides targeting options, scheduling capabilities, message composition tools, and delivery tracking for campaign performance.
The Broadcast page is organized into tabs: SMS, WhatsApp Business, WhatsApp Lite, Email, and Notification Logs. There is no separate "Campaigns" page — everything lives under /broadcast.
Features¶
1. Campaign Types¶
SMS Campaigns: (via Appgain Notify / VictoryLink provider) - Text message campaigns - Character limit: 160 (standard) or 1600 (concatenated) - Delivery tracking - Link shortening (optional)
WhatsApp Lite Campaigns: - WhatsApp Lite messaging - Media support (images, videos, documents) - Delivery and read receipts - Template support - Link shortening (optional)
WhatsApp Business Campaigns: - Meta WhatsApp Business API - Approved templates required - Rich media support - Interactive buttons - Template variables
Email Campaigns: - Bulk email via a connected Bulk Email channel - Email composer with subject line and body - Variable substitution ({{name}}, {{company}}, etc.) - Delivery tracking via Notification Logs
2. Campaign Creation¶
Campaign Setup: - Campaign name - Description - Campaign type selection - Channel selection
Message Composition: - Text editor - Character counter - Variable substitution ({{name}}, {{company}}, etc.) - Emoji picker - Link shortening toggle - Image upload - Message preview
Template Selection: - Use WhatsApp Business templates - Template browser - Template variables - Variable filling - Template preview
3. Targeting Options¶
Target All Contacts: - Send to all contacts - Organization-wide broadcast - Optional filters
Target by Tags: - Send to tagged contacts - Multiple tag selection - AND/OR logic - Tag search
Target Individual Contacts: - Select specific contacts - Contact picker - Contact search - Multiple selection - Contact list import
4. Campaign Scheduling¶
Send Immediately: - Send right away - Instant sending - Queue management
Schedule for Later: - Schedule future sending - Date picker - Time picker - Timezone selection - Organization timezone support
Recipient Count: - Preview recipient count - Real-time calculation - Filter-based counting - Tag-based counting
5. Campaign Management¶
Campaign List: - View all campaigns - Tabbed view (SMS, WhatsApp Business, WhatsApp Lite, Email, Notification Logs) - Campaign status indicators - Success ratio display - Target information - Created date - Sent date - Scheduled date
Campaign Status: - DRAFT - Not sent - SCHEDULED - Scheduled for future - SENDING - Currently sending - SENT - Finished sending - FAILED - Sending failed - CANCELLED - Cancelled before sending
Campaign Actions: - View campaign details - Edit campaign (draft only) - Delete campaign - Send campaign - Schedule campaign - Cancel scheduled campaign - View delivery logs
6. Campaign Analytics¶
Delivery Statistics: - Track message delivery - Total sent - Successfully delivered - Failed deliveries - Success ratio percentage
Read Receipts: - Track message reads (WhatsApp) - Read count - Read rate
Notification Logs: - Detailed delivery logs - Per-recipient status - Delivery timestamps - Error messages - Retry attempts
Campaign Performance: - Overall campaign metrics - Delivery rate - Read rate - Cost analysis - ROI calculation
7. Campaign Testing¶
Test Campaign: - Send test message - Test phone number input - Test message preview - Test sending - Test delivery verification
8. WhatsApp Warming¶
Warming Campaigns: - Warm up WhatsApp numbers - Warming dialog - Warming progress tracking - Warming recommendations - Channel health monitoring
9. Table Features¶
Sortable Columns: - Sort by any column - Created date - Sent date - Scheduled date
Column Visibility: - Show/hide columns - Customizable table - Saved preferences
Filtering: - Filter campaigns - By status - By type - By date range
Bulk Selection: - Select multiple campaigns - Bulk actions - Bulk delete
10. Pagination¶
50 Campaigns Per Page: - Efficient loading - Page navigation - Cancel (if SCHEDULED) - Delete (if DRAFT or SENT)
6. Delivery Tracking¶
Notification Logs: - Message delivery status - Sent count - Delivered count - Failed count - Read count (if supported)
Delivery Status: - PENDING - Queued for sending - SENT - Sent to gateway - DELIVERED - Delivered to recipient - FAILED - Delivery failed - READ - Read by recipient (if supported)
Analytics: - Delivery rate - Read rate - Failure rate - Cost tracking - Performance metrics
7. Campaign Preview¶
Preview Features: - Preview message content - Test variable substitution - Preview on different devices - Check media rendering - Validate template format
Use Cases¶
Use Case 1: Product Launch Announcement¶
Scenario: Company launching new product, wants to notify all customers via WhatsApp.
Steps: 1. Create WhatsApp Lite campaign 2. Set name: "New Product Launch" 3. Compose message with product details and image 4. Target: All contacts with tag "Customer" 5. Schedule for launch date 6. Preview campaign 7. Send campaign 8. Monitor delivery 9. Track engagement 10. Follow up with interested customers
Expected Outcome: All customers notified, engagement tracked, leads generated.
Use Case 2: Promotional SMS Campaign¶
Scenario: Retail store wants to send promotional SMS to customers.
Steps: 1. Create SMS campaign 2. Compose promotional message 3. Target contacts by location tag 4. Schedule for business hours 5. Set character limit 6. Send campaign 7. Track delivery 8. Monitor response rate 9. Analyze performance
Expected Outcome: Promotional message delivered, responses tracked.
Use Case 3: Birthday Campaign¶
Scenario: Automated birthday wishes to customers.
Steps: 1. Create recurring WhatsApp campaign 2. Use template with {{name}} variable 3. Target contacts with birthday in current month 4. Schedule for morning delivery 5. Set up automation rule for monthly trigger 6. Monitor delivery 7. Track engagement
Expected Outcome: Automated birthday wishes sent monthly.
Use Case 4: Email Newsletter¶
Scenario: Marketing team wants to send an email newsletter to a segment of contacts.
Steps: 1. Open the Email tab in Broadcast. 2. Click "New Campaign". 3. Enter a subject line and compose the email body (with variables such as {{name}}). 4. Choose a connected Bulk Email channel to send from. 5. Target by tags or all contacts. 6. Send now or schedule for later. 7. Track delivery in Notification Logs.
Expected Outcome: Email newsletter delivered to the targeted contacts, with delivery status tracked.
Test Cases¶
TC-CAMP-001: Create SMS Campaign¶
Test: Verify SMS campaign creation
Steps: 1. Navigate to Broadcast → SMS tab 2. Click "New Campaign" 3. Select type: "SMS" 4. Enter name: "Test SMS Campaign" 5. Compose message (under 160 characters) 6. Select target: "ALL" 7. Click "Save" 8. Verify campaign created 9. Verify status: "DRAFT" 10. Open campaign details 11. Verify all data saved
Expected Result: SMS campaign created successfully
Test Data: - Message: "Hello! This is a test SMS campaign." - Target: All contacts
TC-CAMP-002: Create WhatsApp Campaign with Media¶
Test: Verify WhatsApp campaign with image
Steps: 1. Navigate to Broadcast → WhatsApp Lite tab 2. Click "New Campaign" 3. Select type: "WHATSAPP_LITE" 4. Enter name: "Test WhatsApp Campaign" 5. Compose message 6. Upload image attachment 7. Select target: Tags ["VIP"] 8. Schedule for future time 9. Save campaign 10. Verify campaign created 11. Verify image attached 12. Verify scheduling set
Expected Result: WhatsApp campaign with media created and scheduled
TC-CAMP-003: Send Campaign Immediately¶
Test: Verify immediate campaign sending
Steps: 1. Create campaign (DRAFT status) 2. Open campaign details 3. Click "Send Now" 4. Confirm sending 5. Verify status changes to "SENDING" 6. Monitor sending progress 7. Wait for completion 8. Verify status: "SENT" 9. Check notification logs 10. Verify messages sent
Expected Result: Campaign sent successfully to all targets
TC-CAMP-004: Schedule Campaign¶
Test: Verify campaign scheduling
Steps: 1. Create campaign 2. Click "Schedule" 3. Select date and time (future) 4. Select timezone 5. Confirm schedule 6. Verify status: "SCHEDULED" 7. Verify scheduled time displayed 8. Wait for scheduled time 9. Verify campaign sends automatically 10. Verify status: "SENT"
Expected Result: Campaign scheduled and sent at specified time
TC-CAMP-005: Target Campaign by Tags¶
Test: Verify tag-based targeting
Steps: 1. Create contacts: - Contact 1: Tag "VIP" - Contact 2: Tag "Customer" - Contact 3: Tag "VIP" 2. Create campaign 3. Set target type: "TAGS" 4. Select tags: ["VIP"] 5. Save and send campaign 6. Check notification logs 7. Verify only Contact 1 and Contact 3 receive message 8. Verify Contact 2 does not receive message
Expected Result: Campaign targets only contacts with selected tags
TC-CAMP-006: Variable Substitution¶
Test: Verify variable replacement in messages
Steps: 1. Create contact: Name "John Doe", Company "Acme Inc" 2. Create campaign 3. Compose message: "Hello {{name}}, welcome to {{company}}!" 4. Target: Individual contact (John Doe) 5. Preview campaign 6. Verify variables replaced: "Hello John Doe, welcome to Acme Inc!" 7. Send campaign 8. Verify message received with variables replaced
Expected Result: Variables correctly replaced in sent messages
TC-CAMP-007: Campaign Cancellation¶
Test: Verify campaign cancellation
Steps: 1. Create and schedule campaign 2. Verify status: "SCHEDULED" 3. Click "Cancel" 4. Confirm cancellation 5. Verify status: "CANCELLED" 6. Verify campaign does not send 7. Check notification logs 8. Verify no messages sent
Expected Result: Scheduled campaign cancelled successfully
TC-CAMP-008: Delivery Tracking¶
Test: Verify delivery status tracking
Steps: 1. Create and send campaign 2. Monitor notification logs 3. Verify statuses tracked: - PENDING - SENT - DELIVERED - READ (if supported) 4. Check delivery statistics 5. Verify counts accurate 6. Review failed messages 7. Check failure reasons
Expected Result: Delivery status tracked accurately
TC-CAMP-009: Campaign Analytics¶
Test: Verify campaign analytics
Steps: 1. Send campaign to 100 contacts 2. Wait for delivery completion 3. Open campaign analytics 4. Verify metrics: - Sent: 100 - Delivered: 95 - Failed: 5 - Read: 80 5. Calculate rates: - Delivery rate: 95% - Read rate: 84% 6. Verify analytics accurate
Expected Result: Campaign analytics display accurate metrics
TC-CAMP-010: Campaign Preview¶
Test: Verify campaign preview functionality
Steps: 1. Create campaign with variables 2. Click "Preview" 3. Verify preview displayed 4. Verify variables replaced in preview 5. Test different contact data 6. Preview media attachments 7. Check character count 8. Verify preview accuracy
Expected Result: Campaign preview shows accurate message
API Integration¶
Create Campaign¶
Endpoint: POST /rest/v1/campaigns
Request:
{
"organization_id": "org-uuid",
"name": "New Product Launch",
"type": "WHATSAPP_LITE",
"content": "Check out our new product!",
"target_type": "TAGS",
"target_tags": ["VIP", "Customer"],
"status": "DRAFT",
"scheduled_at": "2025-02-01T10:00:00Z",
"timezone": "America/New_York"
}
Send Campaign¶
Endpoint: POST /functions/v1/send-campaign
Request:
Get Campaign Analytics¶
Endpoint: GET /rest/v1/notification_logs?campaign_id=eq.{campaign_id}
Best Practices¶
- Targeting
- Use tags for segmentation
- Test with small group first
- Exclude opted-out contacts
-
Respect contact preferences
-
Timing
- Send during business hours
- Consider timezone differences
- Avoid spam hours
-
Test optimal send times
-
Content
- Keep messages concise
- Use clear call-to-action
- Personalize with variables
-
Test before sending
-
Compliance
- Obtain consent
- Include opt-out option
- Follow channel guidelines
-
Respect rate limits
-
Tracking
- Monitor delivery rates
- Track engagement
- Analyze performance
- Optimize based on data
Troubleshooting¶
Campaign Not Sending¶
Issue: Campaign stuck in SENDING status
Solutions: - Check channel connections - Verify target contacts exist - Check rate limits - Review error logs - Retry failed messages
Low Delivery Rate¶
Issue: Many messages failing to deliver
Solutions: - Verify phone number formats - Check contact opt-in status - Review channel restrictions - Check message content - Verify channel credentials
Scheduling Issues¶
Issue: Scheduled campaign not sending
Solutions: - Verify scheduled time - Check timezone settings - Verify campaign not cancelled - Check system time - Review scheduler logs
Related Documentation¶
Last Updated: July 2026