SUPPORT.TWILIO.COM END OF LIFE NOTICE: This site,, is scheduled to go End of Life on February 27, 2024. All Twilio Support content has been migrated to, where you can continue to find helpful Support articles, API docs, and Twilio blog content, and escalate your issues to our Support team. We encourage you to update your bookmarks and begin using the new site today for all your Twilio Support needs.

Getting started with Messaging Insights

Messaging Insights provides real-time analytics to help you monitor and troubleshoot your Twilio messaging application. From visiting the Messaging Insights page in Console, you can see aggregated real time dashboards on delivery rates, response rates, and OTP conversions (if applicable),Latency, Message Scheduling and Link shortening/Click Tracking across all messaging channels such as SMS, MMS, and WhatsApp. 

Continue reading for an overview of Messaging Insights options, how it works, and answers to frequently asked questions.

Access Messaging Insights

Notice: Current Behavior for Overview Tab Regarding Inbound Messages
While the expected behavior of the 'Overview' tab would be that all messages are accounted for, currently the Inbound Messages section will only list total messages with no error code and total messages with a status of 'Failed'.  Messages that have an error code but are not 'Failed' are not counted in these totals.  Please review the Delivery & Errors tab for more complete message history.

To get started, log in to a Twilio account and then access the Messaging Insights page. There you'll see the Overview page, which includes your incoming and outgoing message delivery rates, the number of messages sent or received from your application, and shows you how many messages had a status OK or generated an error code.

From the Overview, you have access to these additional dashboards:

  • The Delivery & Errors dashboard breaks out delivery rates by different dimensions, such as mobile carriers, countries, subaccounts, Messaging Services, and Twilio numbers. You can see which error codes are occurring most often, and link you directly to error code documentation for these errors.
  • The Responses dashboard helps you break down your incoming messages into opt-out, opt-in, help and user-content types of messages. If you are receiving a lot of opt-out messages, you may need to review our Messaging Policy to ensure you are adhering to all rules and best practices.
  • The OTP Conversion dashboard becomes active if you use Twilio to send One Time Passcode (OTP) messages, and provide feedback to Twilio on these messages via our Message Feedback API. If you are not providing message feedback, this dashboard will be blank.
  • The Latency dashboard shows you how long your messages waited on Twilio's platform before being sent to the carrier. If you are seeing long delivery times due to queuing, we recommend reviewing Twilio Rate Limits and Message Queues to ensure you have enough throughput (measured in Messages per Second or MPS) to handle your current sending volume. You can also learn a lot more about sending messages at scale on Twilio in Build to scale: queueing and latency on Twilio (Twilio docs).
  • The Scheduled dashboard will show you the number of messages that you have scheduled for future delivery using Twilio’s Message Scheduling product. You can see all of your upcoming scheduled messages by day and by hour. This further gives you controls to manage the throughput. This tab will also show you the remaining number of messages that you can schedule out of the total scheduling limit and still stay within the limit. 
  • The Link Shortening dashboard will show you the funnel view of your messages which has used Twilio’s Link Shortening product to shorten the long links within message bodies. You will see the number of messages those were delivered and corresponding links resolved out of the total messages which were sent with shortened links. You will see click through rates (CTR) for your messages in total as well as CTR over time .

Messaging Insights allows you to filter the data in any of these dashboards based on various parameters. You can narrow the time-window, choose a particular messaging channel, pick a particular destination country, and keep narrowing down to find patterns and triage issues.

For a deeper dive into the dashboards and filters available in Insights, including detailed screenshots, check out Explore Messaging Insights (Twilio Docs).

My message delivery rate is X% - Is that good?

There are numerous factors that make a 100% delivery rate unrealistic - users may be roaming outside of signal range, could have their phone switched off or some other device issue, gave you the wrong number, or be affected by other factors beyond your control. Your app's delivery rate will depend heavily on the quality of your contact list, and the type of messages you are sending. Because of this, there's no standard measure of a “good” delivery rate.

That said, there are steps you can take to optimize your delivery rate:

  • If you have collected phone numbers that haven't been contacted in a while, or are unsure if some numbers are for landline phones, try cleaning up your contact list using Twilio Lookup.
  • Make sure you are following the rules and guidelines in Twilio’s Messaging Policy, as well as the SMS Guidelines for the destination country of your message(s). This can help you to avoid opt-outs, end user complaints, and carrier violations, which can exacerbate carrier filtering and reduce delivery rates. For more details, see How Does Carrier Filtering Work.

Why is there a discrepancy with the Insights message count, billing usage, and/or Programmable SMS logs?

There are a few possible explanations for a mismatch between Insights, Usage, and SMS records retrieved by Console or API:

  • Console may be using a different time zone than Insights. Insights is currently locked to UTC time (GMT+00:00), but Twilio Console usage and messaging logs are displayed using the time zone specified in your user settings. If you have set a time zone other than UTC, please take this into account when comparing data e.g. how many messages happened on a certain date.
  • You may be comparing SMS message segments to messages. Insights currently displays each successful SMS request as a single message, regardless of the number of message segments it contains. This means that in Insights, a 1-segment message will count the same as a longer 3-segment message. Twilio bills messages on a per-segment basis (visible in the Console logs and via the REST API's numSegments parameter), so keep this in mind when comparing data. For full details, see What the Heck is a Segment. Please note that this only applies to SMS messages, and not other types of messages such as MMS or WhatsApp.
  • Processing for message billing events may be delayed. This means a message that is sent close to midnight on the final day of a month, may be billed in the first few minutes of the first day of the following month. For example: a message sent on April 30 at 23:59 UTC may have its billable record finalized on May 1 at 00:01 UTC. This can cause minor discrepancies when comparing Billing Usage records to Messages API or Insights records.

Why are some messages shown with "Unknown Carrier"?

These may be WhatsApp messages, "failed" messages where delivery was not attempted, or attempted messages where the recipient carrier is actually unknown.

In a future update, this will be changed so that WhatsApp messages show the carrier as "WhatsApp."

Can I export graphs or raw messages from Insights?

Yes, you can export graphs or raw messages from the Delivery and Errors, Responses or OTP Conversion tabs of Insights by clicking the Export drop-down menu. This will allow you to download a .CSV file of tabular data, or a .PNG image file of the graphs you are viewing. Any filters you have applied to the data will be reflected in the export.

Please note, message bodies are not stored in Messaging Insights, and you cannot use Insights to export message records with the body contents. For help exporting SMS logs in full, see Exporting SMS and Call Logs.

Additional frequently asked questions (FAQs)

How long is Messaging Insights data stored?

Messaging Insights can display records and metrics for the last 120 days.

What time zone is Insights in? Can the time zone be changed?

Messaging Insights uses the UTC time zone (GMT) by default. This cannot currently be changed.

Is there an API for Messaging Insights?

Not at this time. Messaging Insights was created to provide real time dashboards to our customers, and to save them the trouble of building out custom dashboards using the Messages API.

If you have specific dashboarding needs, or you want to generate dashboards within your application, you are welcome to pull Twilio's message data into your application to feed your own dashboards. Specifically, we recommend using the Inbound Message webhook for incoming messages, and StatusCallbacks for outgoing messages. For help using these tools, see SMS Webhooks (Twilio Docs).

My user says that a message was delayed, but I don't see any latency in the Latency dashboard.

The Latency dashboard measures the amount of time a message spent in queue on Twilio, waiting to be sent to a carrier. Delays caused by issues at a carrier or a handset are not currently reflected in the Latency dashboard.

If a user reports that a message was delayed, but no latency is displayed on the Latency dashboard, that is a sign that the delay occurred after the message left Twilio.

For a detailed walkthrough on possible causes and solutions for message delays, see Troubleshooting Twilio Programmable Messaging Delivery Delays.

Have more questions? Submit a request
Powered by Zendesk