Why Your SMS Messages Are Sometimes Not Delivered
You have just finished sending a huge batch of text messages through GatewayAPI and are certain that everything was done correctly. When you go through the numbers, you notice that some of the SMS messages were not delivered though.
There are a number of reasons why this happens. We have gathered the most typical reasons in this blogpost, which cover the majority of failed deliveries.
The SMS industry can be a jungle to navigate with different rules, requirements, specifications etc. Luckily, you can always get in touch with our support who are experts in tracking down the right solutions.
One of the most common reasons for a failed delivery is invalid numbers. A number can be invalid if:
- The number lacks a country code. GatewayAPI sends text messages to 200+ countries and it is therefore necessary to add country codes to make sure that the messages find the right end-users.
- The number is a landline.
- The end-user has changed his phone number and the old number is disconnected.
- The end-users has filled in a wrong phone number (this happens a lot!)
One of the other common reasons for non-delivered text messages is carrier filters. The carriers have been mass deploying “SMS firewalls” the last couple of years to ward off spammers and phishers. The specifics vary by implementation, but in general they react to different patterns in the messages. The firewalls and filters have their limitations though. The spammers are continuously changing their approaches and in the pursuit to catch all spam, the carriers sometimes block legitimate traffic as well.
The carrier filters can e.g. react if many similar text messages is sent to the same number. We see this often when GatewayAPI users are testing their setup. If text messages are sent on certain days or hours they can be blocked as well. In France e.g. it is prohibited to send SMS marketing in the evening and on holidays.
The content of the SMS messages can also cause messages to be blocked. This can happen if the SMS:
- Lacks clear opt-out instructions.
- Contains imprecise language with wrong capitalisation and punctuation.
- Contains certain keywords, that have been found related to spamming or sexual, religious or political content.
- Includes links in the text. This isn’t allowed in some some countries.
The end-users’ mobile phones can also be the culprit. It happens relatively often that the memory of the end-user’s mobile phone is full, which means that the phone can’t receive the SMS. Sometimes end-users can also have firewalls installed on their mobile phones that block the SMS. Furthermore, if the end-user is enjoying his holiday on some Caribbean Island, it can occur that SMS messages are not delivered since devices that are roaming are traditionally harder to reach.
Lastly, the end-users’ phones can simply be turned off. Carriers will hold text messages for 48-72 hours and if the mobile phone is not turned on within that time frame, the message will be discarded.
The sender ID is the ‘from’ field that is shown when a message is received. In some countries, such as the US, you can only use numerical characters as the sender ID whereas in many other countries it is allowed to use a sender ID with alphanumeric characters.
Text messages with alphanumeric sender IDs can be labeled as spam by many carriers though, so use it with caution. If you have ever experienced receiving an SMS where the sender ID is labeled as e.g. ‘Apple’ or ‘Paypal’ included with a link to a suspicious website and a request to update your credit card info or something similar, you understand why.
If the reason for a failed delivery isn’t on this list or you need help with ensuring that your messages are delivered, don’t hesitate to contact us on the support chat.
Global SMS Gateway
GatewayAPI has some of the lowest prices in the majority of the world combined with an intuitive interface, world class support and a rock-solid uptime of over 99.99 % in average. If you don’t have an account yet, you can create a free account in less than two minutes here: Go to GatewayAPI or contact email@example.com