Use Case — Commercial Marketing Campaigns

📦v1.0.0📅2026-04-28🔄Updated 2026-04-28👤Admin Team
use-casesscenariosmessage-center

Use Case — Commercial Marketing Campaigns

Promotional SMS is one of the highest-ROI marketing channels in markets where mobile internet penetration is high but app adoption is fragmented. A flash sale notification, a loyalty reward alert, or a product launch announcement delivered via SMS reaches recipients directly — no algorithm, no inbox filtering, no app required.

Message Center is built for exactly this scale: recipient lists up to 1 GB (approximately 10 million phone numbers), delivery timed to the minute, and a moderation gate to keep compliance teams confident before a single message leaves the system.


The Challenge

Commercial marketing campaigns face a distinct set of operational constraints:

  • Large lists — a retail chain's loyalty database may contain millions of numbers
  • Timing precision — a "Flash sale ends at midnight" message must land before midnight, not during it
  • Compliance pressure — regulators in most markets require pre-approved sender names for marketing traffic
  • Approval chain — legal or compliance teams need to review message content before it sends
  • Delivery visibility — marketing teams need to know how many messages delivered, how many failed, and why

How Message Center Handles It

Large Recipient Lists

Message Center streams recipient files end-to-end without loading them into memory. A 1 GB .txt or .csv file (one number per line) is chunked from the browser to the BFF to the SMS Core without buffering the full file in RAM at any point. The heap usage is proportional to the chunk size, not the file size.

Supported formats: .txt (one number per line) or .csv (number in first column). Files up to 1 GB are accepted by default; the server-side limit is configurable via UPLOAD_MAX_BYTES.

Scheduled Mode for Timed Promotions

Scheduled mode sends the campaign at an exact date and time after moderator approval:

  1. Author creates the campaign, uploads the recipient list, sets the send time (e.g. "Friday 10:00")
  2. Moderator reviews and approves any time before Friday 10:00
  3. At the scheduled time, the SMS Core begins dispatch

If the approval arrives after the scheduled time, the campaign is not sent until the next moderator action — there is no silent fallback to "send now".

Spread Mode for Load Distribution

Spread mode distributes the send evenly across a time window:

  • "Send to 500,000 recipients over 2 hours" dispatches approximately 70 messages per second
  • This prevents simultaneous delivery spikes that overwhelm inbound call centers ("call us if you have questions")
  • Spread mode also complies with carrier-imposed throughput limits without requiring manual batching

Spread mode requires a date_from and date_to. The SMS Core calculates the per-second rate internally.

Moderation Gate for Compliance

Every campaign must be approved before it sends. This is not optional and cannot be bypassed — it is enforced at the Core API level, not just in the UI.

For marketing teams this means:

  • Legal or compliance reviewers are mandatory participants in the workflow, not optional
  • The moderator approval record is a timestamped, immutable audit entry — directly usable as compliance evidence
  • If a campaign is rejected, the author receives the rejection reason (from moderator notes) and can revise and resubmit

Sender Name Compliance

Carrier regulations in most markets require marketing sender names to be pre-registered. Message Center enforces this: you cannot create a campaign with a sender name that has no approved revision. The sender name revision record captures the SADDR string that was approved, by whom, and when — exactly the documentation carriers request during audits.


Operational Workflow

Marketing team          Compliance team          Platform
      │                       │                     │
  Creates campaign            │                     │
  + uploads list              │                     │
      │                       │                     │
      │                  Reviews in queue            │
      │                  Approves/rejects            │
      │                       │                     │
      │                       │              Dispatches at
      │                       │              scheduled time
      │                       │                     │
  Views delivery              │                     │
  report (recipients          │                     │
  tab, errors tab)            │                     │

Delivery Visibility

After a campaign sends, the Recipients tab shows per-number delivery status:

  • Delivered — SMPP submit accepted, delivery report received (success)
  • Failed — delivery report received (failure); includes SMPP error code
  • Pending — submitted to carrier, awaiting delivery report

The Errors tab breaks down infrastructure-level errors (SMPP session issues, timeouts) separately from message-level delivery failures. Export functionality allows downloading the full delivery report as a file for integration with CRM or analytics systems.


Summary

RequirementMessage Center Feature
Large recipient lists (1M+)Streaming upload, no heap accumulation
Timed deliveryScheduled mode
Carrier throughput complianceSpread mode
Compliance approval gateMandatory moderation queue
Sender name registrationRevision approval workflow
Delivery reportingRecipients tab, Errors tab, export
Audit evidenceImmutable audit log per campaign action

Next Steps