Skip to content

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:

{
 "campaignId": "campaign-uuid"
}

Get Campaign Analytics

Endpoint: GET /rest/v1/notification_logs?campaign_id=eq.{campaign_id}


Best Practices

  1. Targeting
  2. Use tags for segmentation
  3. Test with small group first
  4. Exclude opted-out contacts
  5. Respect contact preferences

  6. Timing

  7. Send during business hours
  8. Consider timezone differences
  9. Avoid spam hours
  10. Test optimal send times

  11. Content

  12. Keep messages concise
  13. Use clear call-to-action
  14. Personalize with variables
  15. Test before sending

  16. Compliance

  17. Obtain consent
  18. Include opt-out option
  19. Follow channel guidelines
  20. Respect rate limits

  21. Tracking

  22. Monitor delivery rates
  23. Track engagement
  24. Analyze performance
  25. 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



Last Updated: July 2026