This guide discusses SMS filtering by wireless carriers in the United States and Canada that can affect delivery of your Twilio Programmable SMS messages. In this guide, you will learn how and why messages are filtered, and options for improving your delivery rates. For a general overview of wireless carrier filtering in all locations Twilio services, please see How Does Carrier Filtering Work. For U.S. and Canada specific carrier filtering information, continue reading.
Carrier filtering overview
Most carrier filtering in the U.S. and Canada takes place on SMS traffic sent using standard 10-digit long code phone numbers. According to U.S. and Canadian carrier regulations, Application-to-Person (A2P) traffic should not be sent via local long code numbers; this traffic should instead be sent using short code numbers (or Toll-Free numbers for some types of business messaging).
A2P traffic is how the industry refers to messages like automated alerts, notifications, one-time password (OTP) login codes, or any other kind of traffic originating from an application. For more information, please see What is P2P and A2P Messaging.
As of 2020, carriers' rules about long code A2P messaging are changing. The first example of this is Verizon's 10 digit long code (10DLC) A2P service, which is in place for all Twilio traffic to Verizon as of January 2020. This is a service that specifically allows A2P traffic to be sent using local numbers to Verizon subscribers, with the added cost of a small delivery fee. For full details, please see Commercial Long Code SMS Product and Fee Structure Changes on Verizon.
As of this writing, Verizon is the only carrier in the U.S. and Canada that has deployed a solution for A2P messaging over long code. However, Twilio expects that other carriers will come out with similar solutions in the future.
Carriers in the U.S. and Canada appear to be using adaptive (machine learning) software systems to protect their users. These systems look at both message content and volume, and behave very much like email filtering systems. Messages receive a cumulative score based on how many messages have come from a phone number during a certain time period, how many similar messages have transited the carrier’s network, or if the message contains content that makes it a high match for spam or A2P. Time periods are measured by the second, minute, hour and day.
In Twilio's experience, opt-out rates and end user complaints also play a major role in filtering. Because of this, the best thing to do to reduce the risk of filtering is to closely follow the rules in Twilio's Messaging Policy, in particular as they relate to user opt-in and opt-out.
Carriers in the U.S. and Canada usually report to Twilio when a message has been filtered. If you suddenly see that a large number of your messages are resulting in a status of
Undelivered with a 30007 error, the carrier’s filtering system has probably recently identified a pattern in your messages that triggered a block.
Message delivery in the United States and Canada FAQ
Q: How do I avoid carrier filtering?
First, ensure you are closely adhering to the rules in Twilio's Messaging Policy. For example, ensure you only send messages to recipients who have provided explicit opt-in consent to receive messages from you. This greatly reduces the risk of complaints and opt-outs that lead to filtering.
In addition, ensure that your first message to a recipient always includes a phrase telling the user how to opt-out, e.g. "Reply STOP to unsubscribe." Certain keywords including STOP are automatically handled by Twilio by default; see here for details.
Next, verify that you are using the best sender type (long code, Toll-Free or short code) for the type of messaging you are sending. As of late 2020, Verizon is still the only U.S. mobile network that explicitly allows Application-to-Person (A2P) messaging over long code. For this reason, Twilio recommends using a U.S. Toll-Free number or short code for A2P type messaging. For more information, see Comparison of SMS messaging in the US and Canada for long codes, short codes, and toll-free phone numbers.
Q: I think my Twilio number or message contents may have been blocked by a carrier. Can I get the block removed?
A: No. Twilio is unable to request any unblocking of phone numbers or message bodies due to filtering, unless the messaging in question is true Person-to-Person (P2P) messaging and the block was in error (this is uncommon).
Most carrier block lists in the U.S. and Canada for numbers use a “cooling off” period, which means that the numbers will automatically be removed from the block list after a period of time. The time period may vary, and carriers do not share this information with Twilio. If your message bodies do not also change, carriers’ content filtering systems will continue blocking your messages.
Q: Can I get my messages pre-approved by carriers?
A: U.S. and Canada carriers do not pre-approve messages from long code numbers. Short code numbers, on the other hand, are allowed for specific traffic types. If you are sending many messages with identical content to a large number of users, you are at high risk of having your messages filtered by carriers when using long codes, and should consider a short code.