Skip to main content

Campaign Management

Create, schedule, and track bulk SMS campaigns with Lineserve's campaign management tools.

Quick Startโ€‹

Create Campaignโ€‹

# Create campaign via CLI
lineserve messaging create-campaign \
--name "Summer Sale" \
--message "Hi {{name}}, 20% off summer items! Code: SUMMER20" \
--sender-id "YourBrand" \
--recipients-file customers.csv \
--schedule "2024-07-15 10:00"

API Exampleโ€‹

curl -X POST https://api.lineserve.com/v1/messaging/campaigns \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"name": "Product Launch",
"message": "New product alert: {{product_url}}",
"recipients": [{"phone": "+1234567890", "name": "John"}]
}'

Recipient Managementโ€‹

Contact Listsโ€‹

# Create contact list
lineserve messaging create-list \
--name "VIP Customers" \
--file vip-list.csv

# CSV format: phone,name,email,custom_field
# +1234567890,John Doe,john@example.com,premium

Segmentationโ€‹

# Create audience segment
lineserve messaging create-segment \
--name "High Value" \
--criteria "purchase_amount > 1000"

Message Personalizationโ€‹

Dynamic Contentโ€‹

Hi {{first_name}},
Your order #{{order_id}} shipped!
Track: {{tracking_url}}
{{#if vip}}VIP perk: Free returns!{{/if}}

Conditional Messagesโ€‹

# Python personalization example
campaign = {
"message": "Hi {{name}}, {{#if birthday}}Happy Birthday! 25% off{{else}}15% off{{/if}}",
"recipients": [
{"phone": "+1234567890", "name": "John", "birthday": True},
{"phone": "+1987654321", "name": "Jane", "birthday": False}
]
}

Schedulingโ€‹

Send Optionsโ€‹

# Send immediately
lineserve messaging send-campaign --campaign-id camp-123 --send-now

# Schedule for specific time
lineserve messaging schedule-campaign \
--campaign-id camp-123 \
--send-at "2024-06-15 10:00" \
--timezone "America/New_York"

# Optimal timing (AI-powered)
lineserve messaging schedule-campaign \
--campaign-id camp-123 \
--optimal-timing \
--time-window "09:00-17:00"

Recurring Campaignsโ€‹

# Weekly newsletter
lineserve messaging create-recurring-campaign \
--name "Weekly Updates" \
--frequency weekly \
--day monday \
--time "09:00"

A/B Testingโ€‹

Create A/B Testโ€‹

lineserve messaging create-ab-test \
--name "Subject Test" \
--variant-a "Flash Sale: 50% Off!" \
--variant-b "Limited Time: Half Price!" \
--split-ratio 50 \
--winner-criteria "click_rate"

Test Resultsโ€‹

# Get A/B test results
lineserve messaging get-ab-results \
--test-id test-123 \
--metrics "delivery_rate,click_rate"

Analytics & Trackingโ€‹

Campaign Metricsโ€‹

# Real-time campaign status
lineserve messaging get-campaign-status --campaign-id camp-123

# Detailed analytics
lineserve messaging get-analytics \
--campaign-id camp-123 \
--metrics "delivery,clicks,conversions"

Key Metricsโ€‹

  • Delivery Rate: Successfully delivered messages
  • Click Rate: Links clicked in messages
  • Conversion Rate: Desired actions completed
  • Opt-out Rate: Unsubscribe requests

Analytics APIโ€‹

import requests

def get_campaign_analytics(campaign_id):
response = requests.get(
f'https://api.lineserve.com/v1/messaging/campaigns/{campaign_id}/analytics',
headers={'Authorization': 'Bearer YOUR_TOKEN'}
)
return response.json()

Compliance & Opt-outsโ€‹

Opt-out Managementโ€‹

# Auto-handle STOP keywords
lineserve messaging create-campaign \
--message "Your message. Reply STOP to opt out." \
--auto-opt-out true

# Manual opt-out processing
lineserve messaging process-opt-out \
--phone "+1234567890"

TCPA Complianceโ€‹

# Enable compliance features
lineserve messaging set-compliance \
--tcpa-compliant true \
--consent-required true \
--quiet-hours "21:00-08:00"

Templatesโ€‹

Create Templateโ€‹

lineserve messaging create-template \
--name "Order Confirmation" \
--message "Order #{{order_id}} confirmed. Total: ${{amount}}" \
--category transactional

Use Templateโ€‹

lineserve messaging create-campaign \
--template-id template-123 \
--recipients-file orders.csv

Automationโ€‹

Triggered Campaignsโ€‹

# Welcome message trigger
lineserve messaging create-trigger \
--name "Welcome Series" \
--trigger-event "user_signup" \
--delay "1 hour" \
--message "Welcome {{name}}!"

Drip Campaignsโ€‹

# Multi-message sequence
lineserve messaging create-drip-campaign \
--name "Onboarding" \
--messages '[
{"delay": "0", "message": "Welcome!"},
{"delay": "1 day", "message": "Getting started tips"},
{"delay": "3 days", "message": "Advanced features"}
]'

Performance Optimizationโ€‹

Send Rate Controlโ€‹

# Configure send limits
lineserve messaging set-send-rate \
--campaign-id camp-123 \
--rate-limit 1000 \
--time-window "per_hour"

Cost Managementโ€‹

# Set budget limits
lineserve messaging set-budget \
--campaign-id camp-123 \
--max-cost 500.00

# Analyze costs
lineserve messaging analyze-costs \
--campaign-id camp-123 \
--breakdown "by_country"

Troubleshootingโ€‹

Common Issuesโ€‹

  • Low delivery rates: Check sender ID approval, verify numbers
  • High opt-outs: Review frequency and relevance
  • Poor engagement: A/B test content and timing

Debug Toolsโ€‹

# Debug campaign issues
lineserve messaging debug-campaign \
--campaign-id camp-123 \
--show-failures \
--export-logs

API Referenceโ€‹

Create Campaignโ€‹

POST /v1/messaging/campaigns
{
"name": "Campaign Name",
"message": "Your message",
"recipients": [...]
}

Campaign Statusโ€‹

GET /v1/messaging/campaigns/{id}/status

Analyticsโ€‹

GET /v1/messaging/campaigns/{id}/analytics