Skip to main content
SMS message reports help you understand how an SMS was sent, who it reached, and whether delivery succeeded or failed. You can use these reports to:
  • Confirm messages were accepted and delivered
  • Identify delivery failures and opt-outs
  • Export recipient-level results for troubleshooting or compliance
Find SMS message reports in Messages > SMS, then click a sent message.
SMS message report with delivery statistics and Twilio status cards

Delivery statistics

MetricDefinition
SentThe number of messages sent from OneSignal, including both those successfully sent to Twilio and failures. This is a composite metric.
AudienceThe number of Subscriptions in the targeted Segment(s).
RemainingThe number of Subscriptions in the target audience that haven’t yet received the message (queued or in flight). Appears on the dashboard delivery report.
DeliveredThe number of messages successfully delivered to the carrier as reported by Twilio. Metrics are categorized further to distinguish between SMS/MMS and RCS.
FailedThe number of messages that failed to be sent to Twilio.
SuppressedThe number of messages not sent to the Subscriptions because they opted out of receiving messages from the sender.
RejectedThe number of messages not delivered by the carrier due to number blockage, velocity blockage, or the recipient is on a block list. This is a derived metric and is the sum of provider errors and provider failures.
Provider ErroredThe number of Subscriptions for which Twilio failed to send the message.
Provider UndeliveredThe number of Subscriptions for which Twilio sent the message but failed to deliver it.
Read (RCS only)The number of Subscriptions who read an RCS message.
Total ClicksThe total number of times a link in the message was clicked, including repeats.
Unique ClicksThe number of unique link clicks across all links in the message. Counted once per Subscription.
RepliedThe number of keywords received by OneSignal, excluding consent keywords.
UnsubscribedThe number of opt-out keywords received by OneSignal.
The following metrics are specific to SMS message reports:
MetricDescription
Delivery rateThe percentage of messages that were successfully delivered.
Failure & Rejection rateThe percentage of messages that were not delivered or suppressed.
Click-through rate (CTR)The percentage of the total number of recipients that have clicked links in this message. See Links for more details on click tracking.
For detailed metric definitions across all channels, see the Metrics Glossary.
SMS messages and related report data are retained for approximately 30 days. Export message or audience data if you need long-term records. See Exporting data.

Audience Activity

Audience Activity shows recipient-level results for the message. For each user and subscription, you can see:
  • Whether the message was sent, delivered, failed, or suppressed
  • Failure or rejection reasons (when available)
You can export this data for audits or troubleshooting, or access it programmatically via the Export audience activity CSV API.
Audience Activity for a message is available for roughly the same ~30-day window as the SMS report. After that, export historical rows if you need them for compliance or analysis.

Conversions

Coming soonConversion metrics will be available on message reports. Once available, you will see attributed and influenced conversions for each message directly in its report. See Conversion metrics for details on the attribution model and setup instructions.

Message Settings

The Message Settings section summarizes what was sent: targeting (segments or filters), message content fields, and how many recipients were in the audience.

SMS failure reasons

Failures are shown in two ways: high-level categories in the product (below) and exact error text from the SMS provider (often Twilio) in Audience Activity and exports. The strings in exports do not always match the category names one-to-one.

Categories in message reports

ReasonDescription
Invalid NumberThe phone number is invalid or not in a supported format (for example, not valid E.164).
Carrier BlockedThe carrier blocked delivery to this number (policy, filtering, or network rules).
Opt OutThe recipient opted out of messages from you (for example via STOP or equivalent).
Failed to SendThe message did not send or was not delivered; see Provider error strings when a specific reason is missing.
SuppressedOneSignal did not hand the message to the provider because the subscription was already ineligible (for example opted out or filtered) before send.
RejectedThe provider accepted a send attempt but the carrier did not deliver (for example number or velocity blocks, block lists). Often aligns with Twilio “undelivered” or error statuses.

Provider error strings (Twilio)

OneSignal passes through failure detail from the underlying SMS provider. For many apps that provider is Twilio. In Audience Activity and CSV exports, you may see wording that matches Twilio’s error descriptions rather than the table above. Exact wording can vary slightly; use the Twilio Error and Warning Dictionary if you see a numeric code.
Error text (as commonly shown)Twilio error (reference)What it usually meansWhat to do
Message blocked30004The carrier or a policy layer blocked the message. Common causes include carrier content filtering, sender reputation, 10DLC / registration issues, recipient opt-out state, or regional rules (for example India DLT).Follow Twilio’s guidance for 30004: confirm opt-in and STOP handling, align content with your registered use case, complete 10DLC / brand registration where required, and avoid spam-like patterns. Use Twilio Debugger or support if it persists across many numbers.
Unknown destination handset30005The number is unknown, invalid, or no longer active on the network (wrong digits, disconnected line, or mis-typed country code).Validate and normalize numbers to E.164 before send. Remove landlines and invalid numbers from your audience, run list hygiene (HLR/lookup if your process allows), and fix imports that mix extensions or local-only formats.
Unreachable destination handset30003The number may be valid but the handset is off, out of coverage, roaming in a way that blocks SMS, or the route cannot complete (sometimes overlaps with landlines misclassified as mobile).Retry later for transient outages. Confirm the number is a reachable mobile. If failures cluster on the same prefixes or carriers, review routing and sender type (long code vs short code) per Twilio’s 30003 doc.
Other provider messages and numeric codes can appear; search the Twilio errors index for the code or substring shown in your export.

Blank or missing failure reason

Some failures return no error text or an empty reason field when the carrier or provider does not supply a detailed code back to OneSignal. In the dashboard, these often roll up under Failed to Send. Recommended steps:
  • Confirm the number is valid E.164 and the subscription is SMS-eligible and not opted out.
  • Retry after a delay in case of transient provider or carrier issues.
  • In Twilio, use Debugger or message logs for the corresponding Message SID, if you have access.
  • If the issue is widespread, collect example message or delivery SIDs and contact OneSignal or Twilio support with timestamps and samples.