Skip to main content
Deliverability is the percentage of your sent messages that actually reach the recipient’s handset. This section covers the factors that affect it and what you can do about them.

T-Mobile volume caps

T-Mobile enforces daily volume caps per campaign based on the volume tier you registered: Messages that exceed the cap are queued or filtered, not delivered. If you need to send more than 2,000 segments per day to T-Mobile, register your campaign at high volume. “SMS segments” are the carrier billing unit, not messages. A single message with 200 characters costs 2 segments (161–306 characters in GSM-7). See SMS Segments & Encoding.

Surge’s content policy layer

Surge runs a content-policy check on outbound messages before they reach the carrier. This catches links, patterns, and content that carriers commonly filter — before the message is sent and marked as failed. If your message is blocked by the content policy, you’ll see a message_filtered error in the message.failed webhook event. Common reasons:
  • Unregistered link shorteners. Third-party link shorteners (bit.ly, tinyurl.com, etc.) are frequently flagged by carrier spam filters. Surge’s built-in link shortening will have better results, but for the best results use your own branded domain.
  • Content not matching your campaign. If your campaign is registered for customer_care but your messages contain marketing language and promotional links, the content mismatch will be flagged.
  • Age-gated or lending content without the flag. If your messages contain age-gated content or direct lending references but you didn’t include age_gated or direct_lending in your campaign’s includes array, those messages will be filtered.

The includes flags

The includes array in your campaign registration tells carriers what content types your messages contain. Being accurate here directly affects deliverability: Missing a flag when the content is present is a deliverability problem, not just a registration problem. Carriers can filter messages that don’t match the registered content profile. See Canonical Schema Reference for the full list of valid includes values and their descriptions.

Carrier fees

Carriers charge per-message fees that vary by destination network. These fees are passed through in your Surge billing and visible in your usage reports. Carriers sometimes give discounts as a charity campaign.

Monitoring deliverability

Watch the message.delivered and message.failed webhook events. A sustained spike in message.failed events with message_filtered as the reason is a signal to review your content against your campaign registration. Blast-level delivery metrics (aggregate deliverability rate, opt-out rate per send) are available in the dashboard under Blasts.