Troubleshooting Twilio Programmable Messaging Delivery Delays

Why are some of my messages delayed, or slow to arrive on users' devices? We know answering this question can be frustrating, and message delays can cause poor user experiences. That's why we've compiled this ultimate guide to troubleshooting message latency. Here we'll help you understand what can cause message delays, and how to troubleshoot each possible cause.

Messaging system overview

An outbound message goes through several steps on its way to the recipient's phone or mobile device. Understanding the “journey” of a typical message is a helpful first step to troubleshooting message delivery delay issues. Here's an overview of the journey each message type takes:

Typical SMS or MMS message:

Your
application ->

Twilio -> Supernetwork
carrier ->
partner

Destination
mobile ->

network

Destination
device (To)

WhatsApp, Facebook, or other modern messaging channels:

Your
application ->
Twilio -> Destination Twilio
partner (e.g.  ->

WhatsApp) 
Destination
device (To)

Possible causes of message delays

In this section, we'll cover how to identify the symptoms and troubleshoot issues that can cause message delivery latency. These are the most common issues:

Your Twilio application

The first step is to ensure your application is making requests to Twilio in a timely manner. We occasionally see reports of message latency that actually stem from delays introduced in a customer's messaging application. Here's how to verify if this is the issue you're seeing.

Common symptoms:

  • The delays occur to all (or a majority) of the numbers you are sending messages to, no matter which country they are in, or which mobile provider the numbers are on.
  • The Twilio message timestamps have a later "Created At" time than what is shown in your application's logs.

How to verify:

First, check the "Created At" time for the message. You can check this in your Twilio Console (from your Message Logs, click on the specific message), or via the date_created parameter if you're using the Messages API. If this time stamp is later than expected, there was a delay in your application making the request.

Next, use the API Explorer in Console to send a test message, ideally to the same country or mobile network that you are seeing delays to.

Pay close attention to the speed of Twilio’s response (shown on the right-hand side of API Explorer after making the request), as well as the speed of message delivery.

  • If your test message from API Explorer is similarly delayed, move on to the Twilio queueing or latency section.
  • If the message is not delayed, run the same test from your application, and then check if the delay returns. If you continue to see delays, continue reading below.

How to resolve:

  • Check for delays in any processes in your application that occur before a message request is sent to Twilio’s REST API.
  • Ensure that your applications logs a message as having been sent to Twilio only after you receive a response to your POST request to Twilio.

Twilio queuing or latency

Each of the different message sender types (e.g. phone numbers, Alphanumeric Sender IDs, WhatsApp senders, etc.) has a sending rate limit, measured in Messages per Second (MPS). High volume messaging can result in messages being queued on Twilio’s platform, if you are sending requests to Twilio faster than your Twilio senders can deliver them. Here's how to verify if this is the issue you're seeing.

Notice: For full details about MPS and rate limits, see Understanding Twilio Rate Limits and Message Queues.

Twilio strongly recommends using a Messaging Service to better manage sender selection, especially when sending higher volumes of messages, or sending to recipients in multiple countries. Learn more about Messaging Services here.

Common symptoms:

Messages show a time in Twilio's Outbound Queue that matches up with the delay experienced by the user. To see the time a specific message spent in Twilio's queue, browse to your Message Logs in Console, and then click on a message to view its details.

How to verify:

Check Message Latency Insights in Console for indications of queuing on your Twilio numbers.

How to resolve:

The proper resolution path for Twilio queuing depends on the type of sender you are using, and the country you are sending to:

  • Long code numbers (SMS): Long code numbers offer 1 Message Segment per Second (MPS) toward US and Canada, or 10 MPS (international). Twilio is unable to increase MPS on long code numbers. Additionally, most major carriers filter Application-to-Person (A2P) long code messaging to the United States and Canada.
  • Long code numbers (MMS): MMS-enabled long code numbers (US and Canada) can send MMS messages at 1 MPS. In addition, there is an account-wide long code MMS rate limit of 25 MMS per second.
  • Toll-Free numbers (SMS): United States Toll-Free numbers send at 3 MPS by default, are a good way to send A2P messages to users in the United States. If you need higher US Toll-Free messaging throughput (MPS), contact Twilio Sales.
    • Using multiple Toll-Free numbers to distribute the same traffic toward the US and get higher MPS is not permitted by carriers, and will result in filtering.
  • Alphanumeric Sender IDs (SMS): If you are sending messages to a country that allows for Alphanumeric Sender IDs, Twilio may be able to offer higher MPS rates. For details, see Can I increase message throughput (MPS) for an Alphanumeric Sender ID?.
  • Short Codes (SMS): Short code numbers offer 100 MPS for SMS by default. To get higher MPS, reach out to our Sales team.
  • Short Codes (MMS): Short code MMS is an optional add-on for US short codes. For information on sending rate and pricing, talk to Sales.
  • WhatsApp: Twilio WhatsApp senders offer 25 MPS by default. To increase your WhatsApp MPS, we recommend using Messaging Services to add additional Twilio numbers for WhatsApp.

What if I am using multiple sender types?

Messaging Services are an ideal way to handle multiple sender types. You will not need to write any fancy code to do sender selection logic, or to balance intelligently across your senders when sending higher volume. Learn more about Messaging Services here.

SuperNetwork or destination mobile network delays

In some cases, message delays may be the result of latency downstream from Twilio, at one of our carrier partners or at the destination mobile network. Here's how to verify if this is the issue you're seeing.

Common symptoms:

  • Message Logs in Console don't display a significant Outbound Queue time for the affected message(s). To check this, click on a message record in your Message Logs in Console, then see "Delivery Steps."
  • Delivery statuses are taking longer than usual to come back for your messages.
  • The issue occurs across numerous messages to multiple different recipients (e.g. 5 or more destinations).

How to verify:

  • Check whether the issue seems to be occurring for a specific country or mobile network.
  • Check Twilio’s Status Page for reports of delivery issues to the destination country or mobile network you’re sending to.
  • If possible, test by sending messages to additional devices in the country or mobile network you are sending to.
  • If possible, confirm whether the messages were actually slow to arrive on the user's device. In some cases, a message delivery status can be delayed, even though a message arrived on-time.

How to resolve:

If Twilio is experiencing delays, we are probably already working hard to resolve the issue. That said, if you experience these delays for an extended period of time, and you don’t see an update on our Status Page, please contact Twilio support with Message SIDs for delayed messages.

Destination mobile device issues

Message delivery delays can also be caused by an issue with the destination mobile device, or its connectivity to the mobile network. If a mobile user is in an area with poor cellular service, roaming abroad, or their phone is experiencing an issue, messages to that user may be delayed. Here's how to verify if this is the issue you're seeing.

Common symptoms:

  • Message logs in Console don't display a significant Outbound Queue time.
  • The delayed messages are limited to a small number of recipients (e.g. fewer than 5 destinations).
  • There is no pattern among the affected destinations; they may be using different mobile networks, or in different countries.
  • Twilio’s Status Page doesn't show any reports of active delivery issues that could explain the delays you are seeing.

How to verify:

Try sending a test message to another mobile device.

How to resolve:

  • Have the recipient user try powering off and restarting their mobile device
  • Ensure the recipient user has strong cellular signal on their device (SMS) or is connected to mobile data or WiFi (MMS, WhatsApp, other messaging channels).
  • Verify that the end user is able to receive other messages on the same channel. For example, perhaps an end user is experiencing delays when receiving your SMS – verify that they can receive SMS from another mobile user without delay. 
    • Please note, if the end user is on an iPhone, they may confuse iMessages (blue message bubbles) with SMS (green message bubbles). iMessage is an Apple messaging system which is separate from SMS. iMessage delivery will not necessarily guarantee success of SMS, as SMS uses cellular network technology while iMessage transmits over the Internet.
Have more questions? Submit a request
Powered by Zendesk