Introducing Message Delivery Information: Helping You Track And Deliver More Messages With Twilio


Crafting the right message is one part of the picture when you’re communicating with customers. You need to make sure your message is delivered to your customers. Today we’re introducing Message Delivery Information, allowing you to track delivery status for each SMS and MMS message you send, in real time.

Message Delivery Information gives you the data you need to improve delivery rates and reach a higher percentage of your customers. Using this new tool, you’ll see critical details for each message you send. If the message is sent successfully, you’ll see a confirmation. If the message wasn’t delivered successfully, you’ll see an explanation. For example, if your message violated carrier guidelines, or you sent a text to a landline, it will be indicated in Message Delivery Information.

Deeper Insight Into Mission-Critical Messages

SMS is an essential communication channel for companies like CarGurus, Uber and eBay. They use messaging to send notifications to customers, track leads, gather user feedback and provide timely information to users.

Unfortunately, the telecom network isn’t flawless; and lack of data transparency makes it difficult to ensure your information gets delivered on time, 100% of the time. If CarGurus, Uber, eBay, or any other Twilio customers’ messages hit a snag in the delivery process, we investigate.

With Message Delivery Information, customers have direct access to information for each message they send. We attach one of eight error codes to each failed or undelivered message, giving you more details about what went wrong:

  • Destination handset is switched off or unavailable.
  • Destination number is unable to receive this message. Potential reasons could include trying to reach a landline or in the case of short codes, an unreachable carrier.
  • Content violating carrier guidelines
  • Destination number is unknown or no longer exists.
  • Destination number is blocked.
  • Message queue overflow. In case you tried to send too many messages too quickly.
  • Your account was suspended.
  • Unknown error

You can use this data to failover to a different number, choose to provide info via a phone call or send an email instead. For example, if your message is undeliverable to recipients using a short code, you can program a failover to a long-code (ten digit number). Customers improved their reach using Message Delivery Information, delivering messages to 98% of intended recipients. Companies using Twilio have also cut costs by scrubbing out recipient lists for messages that result in permanent failures.

cargurus logo“With Message Delivery Information we have been able to vastly improve our SMS delivery rate. We can now detect when the carrier doesn’t support our short code and then failing over to a long code.  Given that we send thousands of messages a day, that’s pretty significant.” Jasper Rosenberg, Senior Architect at CarGurus.

Message Delivery Information At Work

Through the Twilio Messaging API, you can see the status of each message sent from your app: pending, sent, delivered, failed or undelivered.

Message Delivery Information is not limited to handset receipts, as we uniquely combine multiple inputs from carriers. This allows you to gain visibility into delivery statistics across geographies where handset receipts are not available.
Visit API docs for a more detailed look at carrier receipts.

  • Patrick Desmarais

    One question; if the message send fails does our account get charged anyway?

    • DevangSachdev

      Hi Patrick

      Thanks for writing in.

      Twilio does not charge for messages that could not be sent out to the carriers and are returned with “failed” status. For example, this may occur if the Twilio API queue overflows.

      However, Twilio does charge for messages that are sent to the carriers and are returned with “undelivered” status. For example, this may occur due to sender or recipient issues such as a message sent to a landline number.

  • Chuck Reynolds

    This is awesome. :)

    • Twilio

      Thanks Chuck! We hope this is a valuable tool for you (and the Vurr crew).

      • Chuck Reynolds

        Yup! we’ve already talked about it this morning for upcoming project and probably get that into the other one we’ve had for a while too.

        Btw… Two U’s in ;)

  • Mike

    This is very helpful. When I saw this in the newsletter, I came to the site really hoping to see carrier information, so still crossing my fingers that this is in the pipes…

  • alhopper

    Hi – first off – I’m a huge Twilio fanboy – Twilio simply rocks. So don’t interpret this comment as “destructive”.

    What I’ve experienced, as a Twilio user, is that an SMS message will get delayed, either for minutes or hours, before it’s delivered. In my case, it’s delivered to a Flask (Python) app sitting on a solid, AWS instance. And, when talking with other Twilio users, they also see time periods where Twilio is “having a bad day” and delaying msg delivery.

    So, can this new API be used to insert (automatically) a timestamp when the (SMS) message was received by Twilio, but where Twilio was “having a bad day” and took minutes, or hours, to deliver it to the recipient application (in my case).

    In this “bad day” scenario, I believe that Twilio received my SMS msg through my carrier (actually using Google Voice) but “sat on” the message, for whatever reason, before delivering it to the target RESTful API endpoint??

    I’d like Twilio to automatically timestamp an inbound msg and deliver the “recd by twilio” timestamp to my application. This will allow my application to “decide” how to handle the message. For example, “Don’t open my garage door if I receive the SMS request 1.5 hours after it was sent”!!

    Like I said – I’m not trying to bash you guys…..

    Keep up the Good Work and I hope to see Twilio go IPO.


    • DevangSachdev

      Hi alhopper

      Appreciate the the positive vibes! Inbound messages shouldn’t be delayed in delivery. As soon as we receive it from the carrier we will post to the your application. There are multiple things that could contribute to inbound delivery though. The carrier network sending it could be delaying the message sent. I would suggest you write into our support and we investigate where the problem is stemming.

  • Mark

    Can I see this additional info in the logs accessible on the portal as well or do I have to use the API?

    • DevangSachdev

      Hi Mark,

      Message Delivery Information is available both in the Message Log and the API as long as the customer is using our /Message resource.

      • Rahul S Badgujar

        Super awsome Devang ji

  • BMW M3 Hq

    Message Delivery Information is the next big thing…. Or to put it another way, “Awesome Sauce”….

  • Shraban

    Hello All,

    I’ve registered with Twilio as a Free Trial Member. But the problem is when i am sending any sms from my Application(c# windows), am getting message Status as:

    “Message blocked The destination number you are trying to reach is blocked from receiving this message (e.g. due to blacklisting)”.

    FYI, i am sending message to the number which is already verified by Twilio and located in India(prefix(+91 followed by 10-digits mobile number).

    Any help would be highly Appreciated.



    • Twilio

      Hey Shraban,
      Just replied to your comment on the other thread. Please ping and we will get this sorted out.