As with email providers (Google, Yahoo, etc.), mobile carriers filter messages that they think are spam. However, rather than sending your message to the spam folder the way email providers do, wireless carriers will not deliver your messages. If this happens, you may see that the SMS failed delivery due to a “Carrier Violation” error.
In this article, we go over reasons for filtering SMS messages, what to check if you receive the Carrier Violation failure reason, and best practices to avoid a failed delivery.
Reasons for SMS Filtering
Mobile carriers filter SMS messages for two main reasons:
- Protect their customers from receiving spam messages
- Meet regulations for sending SMS to phones in a specific country or on a certain mobile network
The way SMS messaging is filtered varies country by country and between different mobile networks. For instance, long numbers (US-only) are not recommended, as they are subject to heavy carrier filtering.
Further, carriers will filter messages that contain terms related to sex, hate, alcohol, firearms, and tobacco (SHAFT). SHAFT words are prohibited by the CTIA, the regulatory body which enforces guidelines for SMS messages. Further, terms that are considered or relate to profanity, controlled substances, or CBD are similarly filtered.
Receiving an SMS Error Message
Wireless carriers do not always report when they filter an SMS message, as they don’t want spammers to learn how to get around their filters. If they do report that a message was filtered, this information will show in Klaviyo as a Failed Delivery with the Failed Reason being Carrier Violation. Note that they won't always give a reason either, and you will sometimes see the Failed Reason as Unknown.
To view this information for a text message, navigate to a flow and click the SMS message. Then, click View all Analytics on the left-hand side. Select Recipient Activity before going to the Other dropdown menu and clicking Failed Delivery.
The process is the same for a campaign: simply navigate into an SMS campaign and then click Recipient Activity > Other > Failed Delivery.
If you encounter this error, we recommend running tests using phones on different wireless networks to see if you are really being filtered. You can also try:
- Sending your message from a different number/having multiple numbers on your account to send messages from
- Using different content in the message body
- Sending without a URL shortener, as carriers often view third-party shorteners (e.g., bit.ly) as suspicious
Best Practices for Not Being Filtered
To try to prevent being filtered by mobile carriers, it’s important to follow best practices for SMS messaging, including:
- Always provide a way for subscribers to opt out; carriers heavily filter messages that don't include STOP language
- Provide value to subscribers
- Have double opt-in enabled for SMS lists
- Let subscribers know who is sending the message
- Do not send SMS messages early in the morning or late at night, as a text message from a business during off-hours may be seen as intrusive
- Do not overload SMS subscribers by limiting texts for each recipient to two to four SMS/MMS per month
- Use a personal tone to sound more human
- Avoid SHAFT-related words
- Use a trusted sending number, such as a short code or verified toll-free number
Learn more about SMS messaging by reading the following Help Center articles: