Message Delivery Appears Delayed (But Really Isn't)

The overwhelming majority of text messages are delivered successfully to mobile devices by the carriers that serve them and most of those deliveries occur within seconds.  

Carriers provide a delivery report to senders like TextPower indicating the status of that message (delivered, not delivered, no status indicated [phones may be off or out of range so message delivery can't be attempted at that time], failed, etc.) and we display that status for our customers.

Here's how it works:

When you send messages to mobile numbers a status indicating when the message was delivered (or when there was a "high probability of delivery" for some carriers) is posted on our customer portal.  You can see it by logging into the portal and going to the menu item "Message Data>See Sent Messages."  To the far right on that page you'll two columns: Carrier to Handset and Delivery Time.  These are indicators of the delivery state of your message and the time that the delivery status was last updated.  

Sometimes these status reports appear to be delayed, however, and it can cause some confusion. Other instances may show a status indication of "Awaiting Status From Carrier(-1)" and can often be misinterpreted to mean that the message has not been delivered.  

This delay in the status report DOES NOT mean that the message itself has been delayed.  

TextPower displays those reports within milliseconds of receiving them back from the carrier but the carrier has some inherent delays that make it appear as if the status wasn't updated right away.  In most cases the status is updated within seconds of the message being sent, as you will be able to tell by viewing the difference in the time stamp between the Sent Time and the Status Time.  If the carrier is handling many messages, however (such as during high load times like early in the mornings or when major events - news, storms, etc.) it is likely that they do not devote the resources to updating the delivery status.  

So why does it take so long for the status to appear if it is updated almost instantly?  

It's simple, actually: TextPower sends the messages from our system to the carriers within milliseconds (one one-thousandth of a second) and the carriers deliver the messages to the customer.  Similarly we depend on the carriers to give us the delivery status of that message. Once it leaves our server, we are at the mercy of one intermediary, called an aggregator, and the carrier (AT&T, Verizon Wireless, Sprint, etc.).

Typically when delivery status is coming in, the delivery status time stamp is running only about 0.5 seconds behind the delivery time.  However, there are other elements that cause a delay of about 3 minutes from one segment of the system and other elements that cause yet more delays of that report coming back to us. 

While the carrier delivery timestamp is running only about 0.5 seconds behind the send time, the POST (a computer-to-computer messaging system) that delivers that data to TextPower is taking around 3 minutes to get back to us. Packet systems like the SMS system handle load by putting things on queues so that increased load does not result in failure but results in delays.  That inserts the first part of the delay.

Ultimately there are at least 3 queues in play here, all of which have their own inherent delay, that occur after TextPower sends the message to the carrier and after the message has been delivered to the mobile device:

  1. After the carrier delivers the message and the mobile device acknowledges that it received the message by sending a notification back to the carrier via the cellular tower network, the cell tower puts the delivery notification on a queue to deliver to the carrier’s main servers.
  2. The carrier puts delivery notifications on another queue to deliver them to our aggregator (a bundler from which we purchase millions of messages - carriers don't sell messages directly to anyone).
  3. The aggregator puts the delivery notifications from a carrier on yet another queue to deliver them to TextPower. 

The upshot of this is that you might think that it took three minutes or even thirty minutes for the carrier to deliver the message. But when they look at the data that came in, it will likely show that the message was delivered within 0.5 second. It is the delivery status report that is being delayed, not the delivery of the message itself.  

In the final analysis it's important to realize that even if the appearance of the delivery report may be delayed it is extremely likely that the message itself was delivered within seconds of TextPower sending it.  And TextPower sends it within milliseconds of receiving it from you.  

In short, while the status report is helpful to troubleshoot and determine who is receiving messages and who is not, it should not interpreted to mean that the message takes as long to be delivered as the status report takes to appear on the "See Sent Messages" page.