Understanding SMS Delivery

This topic explains SMS message states, delivery monitoring, and ways to improve deliverability.

Understand message states

Every SMS request has a status that indicates its current state. Intermediate states apply while Unifonic processes a message. Final states apply after Unifonic submits it to the mobile operator.

Intermediate states

Message stateDescription
QueuedThe message passed validation and is queued for submission to the mobile operator.
SentUnifonic submitted the message to the mobile operator or a carrier partner. This state normally changes to Delivered or Undelivered within seconds or minutes after the operator returns a delivery confirmation.

Final states

Message stateDescription
DeliveredUnifonic received delivery confirmation from the mobile operator or, where available, the destination device.
UndeliveredThe message failed Unifonic validation, or the operator returned a delivery receipt indicating that the message was not delivered. See Understanding Reasons of SMS Non-delivery.
Delivery not confirmedUnifonic submitted the message, but received neither delivery confirmation nor a non-delivery indication. Operator settings that block delivery receipts or connectivity issues can cause this state. If it occurs frequently, contact Unifonic Customer Support.

Monitor delivery

Use either of these methods:

Improve deliverability

Deliverability is the percentage of messages that reach their intended recipients. Follow these practices:

  • Validate recipient numbers. Keep your customer database current. Each number must include a valid country code, such as 971 for the UAE, the operator prefix, and the correct number of digits.
  • Avoid content filtering. Do not send content that violates operator policies or regulations, including profanity, phishing, or spam. Use a branded URL or Unifonic Link Shortening instead of public shorteners such as Bitly or TinyURL.
  • Test API requests. Send one or two test requests before production traffic. Confirm that all parameters are present, the API returns 200 OK, and the device receives the message.