Understanding Text Deliverability

It’s important to know how your texts are delivered, what prevents them from reaching your supporters, and how this differs from email.

Updated over a week ago

Table of Contents

When thinking about texting, it’s important to know how your texts are delivered, what prevents them from reaching your supporters, and how this differs from email.

Throughput

Throughput is how your messages get delivered from NationBuilder, through the phone carriers to your supporters. Think of this as the mailman delivering your packages, it starts from your friends sending you a gift, which goes to the mail carrier, and the mailman transports it to your house. The mailman would be your throughput in this example.

Throughput is impacted by the type of number you’re using with your broadcaster and the number of message segments (aka how many messages it takes to send the full length of your message) in your text blast. There’s generally three types of numbers you can send from:

For example, if you’re sending from a local long code, which has a throughput rate of one message segment per second, and your text blast is going to 5000 supporters, then you should expect that it’ll take just under an hour and half to deliver them all.

NationBuilder uses 1, 3 or 100 segments per second to make sure portions of your text blasts are not rejected before reaching your supporters. However, if you send multiple large blasts simultaneously or in rapid succession from the same Broadcaster you can still overwhelm the queues which can hurt your text deliverability as a result. This is critical to consider if you’re sending notifications of live events like webinars.

Message Segments

Message segments are how phone carriers measure how many texts it will take to send the full length of your message. Since text messages usually contain 160 characters per message, the full length of your message may need to be split into multiple segments in order to send the entirety of the message. Some things that can contribute to your character limit and therefore cause messages to be split into multiple segments are the use of emojis, special characters like accents, and the encoding.

When your message is split into multiple segments your throughput is impacted because you have more overall messages to send and therefore it will increase the time it takes to be delivered. For instance, if you send a 3 message segment text blast to 5000 supporters, it would take over 4 hours to deliver, as it’s equivalent to sending a 1 segment message to 15,000 supporters.

You can see how many segments your text blasts will be split into here: https://sakari.io/sms-length-calculator/

Bounces & Failed Messages

There are a large volume of errors that can lead to text blasts showing up as Bounced or Failed in the control panel, but the three main ones are:

  1. Queueing errors

  2. Carrier Filtering

  3. Numbers that aren’t mobile/cell phones or are no longer in service

Queuing Errors

These happen when too many message segments are sent in rapid succession, which causes an error. These can be avoided by making sure you don’t send multiple large blasts (5000+) from the same broadcaster at or near the same time or by sending blasts with multiple segments.

Carrier Filtering

Carrier Filtering is when a carrier decides it doesn’t believe the person you sent the text message to wishes to receive the message. Think of this like emails ending up in Spam folders. Try sending to smaller segments of your list, making sure you have a clear call-to-action and avoid using links. Additionally, upgrading to a Toll-Free number or Shortcode are shown to dramatically reduce filtering.

Numbers that aren’t mobile/cell phones or are no longer in service

There are multiple ways non-mobile phones may have been added to your mobile phone field in your nation. The easiest way to avoid this issue is to ensure that when you import into your nation you split mobile phones and landlines in advance. We offer a paid service to validate number types and cleanup your phone data.

Related HOWTOs


Did this answer your question?