How does carrier spam filtering work?
Why do carriers have content and spam filters?
When subscribers receive messages they find objectionable, they may file complaints or report the carrier to governing bodies, seek damages, or simply stop being a customer. All of these things reduce the revenue of or increase costs for carriers. Thus, it is in the best interest of carriers to protect their subscribers from what they consider to be objectionable content.
How do carriers filter messages?
There is no standard way practice for carrier filtering and depends on each carrier. For some, filtering can range from a simple static list of prohibited terms to advanced machine learning systems that work in real time. Regardless of the system, carriers keep their filtering systems closely guarded secrets. In turn, Twilio cannot say definitively how these systems work or why a particular message was filtered.
How do I know if my messages are being filtered?
Twilio does not always know or predict 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. In other cases, carriers will 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. The error code we will use when we know that carrier filtering has taken place is 30007.
How do I prevent my messages from being filtered?
If you see an increase in carrier filtering you messages, these questions are a good guide for sending messages:
Is it a good user experience?
A confusing message to users might seem like someone they don’t know has their contact information. Suspicious users are more likely to report messages to their carrier, and when messages are reported to carriers it becomes very likely that future messages from that number or with similar content will be filtered. In some cases, the user may have forgotten that they requested the message. Also, how the message is formatted and written is important: overly long messages, overly capitalized messages, mysterious links, hyperbole, and using aggressive language can raise the level of suspicion users feel about a message.
Do users have clear opt out instructions?
If users do not understand how to opt out, they may feel they have no choice but to contact their carrier to request that messages are blocked.
Can traffic be sent via a shortcode?
If you are sending large numbers of identical messages, the carriers in the country you are sending to may require that this traffic be sent from a shortcode.
Is a single number being overworked?
In countries where rate based filtering takes place, sending too many messages from a single phone number or alpha sender ID during a time period could cause that phone number or sender ID to be blacklisted. See the country specific pages to see more specific information about our experience with filtering in a country.
United States and Canada
Carriers in the U.S. and Canada appear to be using 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, or if the message contains content that makes it a high match for spam. Time periods are measured by the second, minute, hour and day.
Twilio does not definitively know how many messages can be sent from a longcode before a user can expect to hit a filter. However, we are sure that sending more than one message per-second, per-number will cause a message to be blocked. To prevent this, Twilio will queue messages and release them at this rate to protect users from inadvertently getting their numbers blacklisted. Beyond that, we have seen carriers blacklist numbers after users try to send more than five messages per-minute or more than 250 messages per-day, but this is not a rule and does not happen to all users.
Carriers in the US sometimes 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 has taken some sort of action which has caused your message to be filtered.
I think my number has been blacklisted by a carrier. Can I get it removed?
No. However most blacklists in the US 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 this number, and carriers do not share this time period with us.
Can I get my messages whitelisted by the carriers?
US Carriers do not whitelist messages from longcode numbers. Shortcodes 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 shortcode.