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.
Twilio also filters messages to enforce the rules of our Messaging Policy and Acceptable Use Policy. To learn more about how Twilio’s filtering system works as well as general information about filtering by wireless carriers, please see How Does Message Filtering Work?
For U.S. and Canada specific carrier filtering information, continue reading.
U.S. and Canada filtering overview
In the U.S. and Canada, application-to-person (A2P) type messaging was historically not allowed to be sent using local 10-digit long code phone numbers. Verizon Wireless began accepting A2P messaging via 10-digit numbers (A2P 10DLC) in January 2019. In 2021, Twilio and carriers (AT&T and T-Mobile, incl. Sprint) are launching a registration-based A2P 10DLC solution, which permits A2P messaging via long code to United States recipients.
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?
Filtering by wireless carriers
Wireless carriers in the U.S. and Canada apply message filtering for two reasons. First, carriers filter messages to protect mobile subscribers from spam and other forms of unwanted messaging. Secondly, many carriers apply filtering in order to detect and block A2P traffic that is being sent via long code (currently, Verizon Wireless is the exception to this; see "Recent Developments" above).
Carriers in the U.S. and Canada use adaptive (machine learning) software systems to filter messages. These systems look at both message content and volume, and behave very much like email filtering systems. Messages receive a cumulative score based on factors including: 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 do the message contents resemble known spam or unwanted messages.
In Twilio's experience, high opt-out rates and end user complaints also play a major role in carrier 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.
Filtering by Twilio
Twilio uses filtering to target messaging that is in violation of our Messaging Policy and Acceptable Use Policy (AUP). Twilio’s goal is to protect mobile users from fraud, spam, and other forms of unwanted messaging, as well as to comply with rules and regulations imposed by carriers and regulators.
Twilio's filtering systems are designed to allow A2P messaging, and filtering by Twilio is unlikely as long as your recipients have provided consent to receive your messages, and are not raising spam complaints or sending a high amount of opt-out ("STOP") replies.
For more details on how filtering works, both by Twilio and by carriers, and how to avoid it, see How Does Message Filtering Work?
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.
For additional tips and best practices for avoiding filtering on your messages, please see How Does Message Filtering Work?
Q: I think my Twilio number or message contents may have been blocked by a carrier. Can I get the block removed?
A: It is crucial to first ensure that your messaging is compliant with Twilio's Messaging Policy, and review our tips for avoiding filtering. If you have done this and you believe your messages are compliant with Twilio and carrier policies, please collect 3 or more examples of Message SIDs that have the “undelivered” status with error 30007, and then contact our Support team.
As of March 2021, the filtering landscape in the U.S. is rapidly changing. Carriers accept appeals when "false positive" filtering seems to be occurring, and will review and potentially unblock these cases. This risk of filtering is also expected to decrease significantly for compliant customers upon registration under the new A2P 10DLC solution.
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 to avoid filtering?
A: U.S. and Canada carriers do not currently pre-approve messages from long code numbers. Short code numbers, on the other hand, are allowed for specific traffic types, and filtering is unlikely as long as you adhere to your stated use case and follow opt-in and opt-out rules. In additon, Toll-Free SMS can be "verified" through Twilio to proactively reduce the risk of filtering on approved use cases.