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, in some countries (including the US and Canada), a long number (i.e., normal, 10-digit number) is more susceptible to filtering when carriers believe it is being used for application-to-person (A2P) texting. Most carriers also have stricter filtering policies for long numbers than they do for short codes, although this is changing as SMS is gaining popularity. If you want to use a long number, it's recommended to have 1 long number per 200 profiles who have consented to SMS.
Currently, T-Mobile and Sprint are more proactive about filtering A2P traffic. Thus, the delivery of messages to Sprint and T-Mobile phone numbers is inconsistent. This is not specific to Klaviyo — it is an industry-wide issue, and only applies to messages that those carriers consider to be more automated.
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.
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 multiple 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 may see generic, shortened links as suspicious
In addition, consider getting a short code for your business, as they are subjected to less filtering than long numbers. For more information on long numbers and short codes, head to our article on how to choose an SMS sending number.
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
- 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 2-4 per month
- Use a personal tone to sound more human
Learn more about SMS messaging by reading the following Help Center articles: