Carrier Filtering Overview
Overview
To help combat spam across the texting medium, carriers and other SMS gateway providers such as Twilio have implemented compliance measures for A2P (application-to-person) communication. This follows their 2021 introduction of 10DLC registration options, and it serves as the next step in Twilio’s and mobile carriers effort to create a fully-verified U.S. messaging ecosystem.
While these compliance measures help reduce the amount of spam being received, it does not stop the potential filtering of text messages. While carriers do not share exact information as to why your messages were flagged, Mongoose is able to help provide insights and best practices from our experience along with what carriers and Twilio do share with us.
How do I know if my messages are being filtered?
Any time a message goes undelivered, Mongoose will provide information within the error message to help give you context as to why a message was not successfully delivered.
Our SMS provider Twilio does not always know when a message has been filtered by a carrier. Some carriers falsely report filtered messages as delivered to prevent spammers from reverse engineering filtering systems, while others tell Twilio that a particular message has been filtered. If Twilio knows that a message has been filtered, we will pass this information to your application by sending a request to the status callback URL you set when you sent the message.
Note: There are new features/settings on mobile devices for potential spam that move text messages to a spam area. This type of filtering is device specific so it will not be shown as undelivered. Please check with your recipient to see if this feature/setting is enabled.
Typically, carriers will send back an error code of 30007 indicates that it has been verified that carrier filtering has taken place.
There are other error codes, such as 30003, which have a more generic error message, but are often also associated with carrier filtering. In these cases, the carriers do not want to indicate to the sender that they are performing filtering.
To see some of the common undelivered errors,
click here
Why do carriers have content and spam filters?
All carriers have a responsibility to their customers. When subscribers receive unwanted messages, they may file complaints, report the carrier to governing bodies, seek damages, or simply stop being a customer. All of these things reduce the revenue of carriers and increase their costs. Thus, it is in the best interest of carriers to protect their subscribers from what they consider to be objectionable content.
Each carrier has their own set of rules and filters, however, are not widely shared with the public. In some cases, if too many text messages with suspicious content are sent to mobile numbers hosted by the same carrier (e.g., Verizon, AT&T, etc.), the recipient's carrier may begin to reject text messages from the sender's number due to spam filtering. In this scenario, you may see that all of your AT&T recipients were filtered but maybe not your Verizon. Individual messages may be flagged as "carrier violations" as well, depending on the content of the text message. This is actually an intentional feature, implemented by the carriers, to prevent mobile numbers from unwanted spamming.
How do carriers filter messages?
There is no standardized practice for carrier filtering and the parameters associated with filtering vary on a carrier-to-carrier basis. In turn, Twilio cannot say definitively how these systems work or why a particular message was filtered. As you can imagine, if the rules for filtering were readily available, anyone could find ways around them.
Can I send links? (Updated 02/05/2025)
Based on our observations with carrier behavior, including a link in a message is at a slightly higher risk of that message being filtered and/or not delivered. This applies even to single messages not sent as part of a batch (including Smart Messages).
As a best practice, we recommend sending a full link within your message including the https://. This lets carriers know the destination of the link along with it being secure. We also recommend using our smart message feature to prompt your recipients if they want a link to be sent. This can help cut down on the amount of links that actually get sent out.
You should not send shortened links. Using services such as bit.ly and goo.gl are filtered at a higher rate than messages containing standard, full links. From our experience, shortened links are almost always filtered. This is because the shortened link hides the destination to the recipient (they don't know the true destination).
However, if you have a university branded shortener--specific to your school, we have seen better delivery rates with those.
In some cases, we have also noticed that including emails in a text message have begun to be flagged as most carriers read them as links.So just be extra careful if putting both a link and email address in the same message.
In some cases, messages that include a link are not delivered at all to the recipient and do not display a carrier violation code/not delivered message due to carriers not reporting the message was filtered.
How do I prevent my messages from being filtered?
When using Mongoose, there are several steps you can take to reduce your chances of a carrier filtering. There isn't a way to 100% prevent it, but we can help share best practices for getting the best delivery rate.
These steps include:
- Make sure your recipients know what types of messages they are going to receive.
- Collect consent! Consent must be gathered from anyone you want to text. Your recipients should provide their consent to receive text messages and is required by A2P compliance, Twilio and all carriers. If your recipients know to receive messages from you, the less likely they'll opt out or report as spam.
- Avoid overly long messages, messages IN ALL CAPS, short links, hyperbole, too many emoji's and the use of aggressive language, as these may raise the level of suspicion of your recipients.
- Avoid sending shortened links as they hide the actual destination.
- Make sure to keep an eye on your delivery rate. You'll see if it starts to go down! When in doubt, reach out to your CSM or Support and we can help take a look at your message and provide guidance.
- Utilize the "Send as assigned user" function (Admins only). This function will send text messages from each users texting number (rather than one single texting number), therefore reducing the amount of messages that are sending per phone number in Cadence.
- Avoid confusing messages. Suspicious recipients are more likely to report messages to their carrier, and when messages are reported to carriers, it becomes more likely that future messages from that number or with similar content will be filtered.
- Some message content is prohibited and may impact your delivery rates as well as ability to text. Please review this prohibited content list to ensure you're following guidelines.
Filtering Mechanisms
Carriers in the United States and Canada utilize adaptive (machine learning) software systems to protect their users. These systems take into account both the rate of send as well as the content of the messages 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 time period, how many similar messages have transited the carrier’s network, and if the message contains content that makes it a high match for spam. Time periods are measured by the second, minute, hour, and day.
FAQ
I think my number has been blacklisted by a carrier. Can I get it removed?
No. However most blacklists in the United States and Canada use a “cooling off” period, which means that most numbers will automatically be removed from the blacklist after a period of time. This period of time varies based on how many messages were blocked by the carrier from the number, and carriers do not share this time period with Cadence.
Can I get my messages whitelisted by the carriers?
Carriers in the United States and Canada do not whitelist messages from long code numbers. Short codes are essentially numbers which have been whitelisted for a particular type of pre-approved traffic. 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 and should consider a short code.
How do I know I am sending to Actual Mobile Numbers?
If you are unsure whether or not the phone numbers you are texting are actual mobile numbers, you can enable Phone Number Validation. Additional details can be found here: