If you are an app developer, you’ve likely to become frustrated with onboarding at some point. Bringing on new users has its challenges across the board, but especially troublesome is the problem of SMS reception. To spend time and money developing and marketing an app, only to find that your conversion rate from landing page to download is lackluster, due to failures in SMS reception, making developers want to tear their hair out.
For this reason, we’re sharing the most common ways we’ve seen that can derail your SMS reception rates, and therefore your downloads. Whether you are using SMS verification to weed out fake users, or to move folks from web interest to mobile download, SMS reception is key to your user flows. Let’s examine the most likely SMS failure points so you can be prepared.
The Dreaded User Error
If a user types in their number in a format that isn’t recognizable to the carrier, the SMS won’t be received. You could solve this by making the appropriate format clear in the form field, but local rules are not consistent. Local format seems to be the norm, as far as the user is concerned, but some people will use the E123 format correctly, skipping any specific digit to dial-in internationally to that number. What will your users do? Chances are, if your app is meant to be used by a global userbase, you’re going to see a variety of user methods and only one way is going to work.
Not only are there complex dialing rules per country, but thesechange across all countries, often. A great recent example is that of Brazil. This sizeable market is in the midst of a dialing plan change that will require the user to prepend the digit 9, in some areas. This change began several years ago, and the process is still underway. Imagine the confusion when presented with a call to action requesting a phone number to receive an app download link. Should they add the 9 or not when they enter their phone number?
Argentina, Mexico, Chile, and several others, require the user to prepend a digit for mobile numbers when dialing internationally but not locally. It’s important that they add that digit to self-select the number as a mobile, because from a libphonenumber perspective, without that digit, they are landlines. If you attempt to deliver an SMS from an international number, it will be rejected. In every country, you will need to deal with complex and changing dialing plans.
Can You Hear Me Now?
Do you ever lose signal? Your users do too, and if your SMS is in the midst of being delivered during this downtime, no SMS will be delivered. Now, you may only be without a consistent signal for a moment, but there are many places in this world that a phone may be out of range of service for more than an hour at a time (try driving through California’s Mojave Desert to remind yourself of the days before cell phones). Even in a highly connected region, you’ll still experience issues with your connection from time to time, requiring a restart or reconnect to the network (toggling airplane mode on and off).
Likewise, even if your users rarely, if ever, experience signal issues, they may decide to turn off their phones now and then – Viva la libertad!” While those phones are off, they are not connected to the network (obviously) and delivery of SMS may fail. Sometimes the carrier will hold the SMS until the phone reconnects, but many times they will not. Are you willing to gamble your user acquisition on each carrier’s fickleness?
Fickle Carriers and Countries
The carrier will absolutely block a message, for a variety of reasons – and you may not be able to determine the cause. Sometimes messages are blocked because they are spam-like. Spam messages, as defined by the carriers, may be those that are very similar to previous messages, or even if the sender address is the same. Carriers may block a message that appears to be adult in nature, depending on the country-specific rules. Messages may be blocked because of National Do Not Call Lists or other laws/regulations that are very specific to one nation. Some carriers even block spoofed (iealphanum “company” rather than the actual sender ID). You may experience blocking if you’re using a local number or if you’re using an international one. It’s difficult to get a handle on when they’ll block and when they won’t, because these types of rules are set at both the country and carrier level.
Finally, there’s the language barrier. Language &encoding can be a bear to get right, and if you mess it up, your SMS won’t be delivered. Try sending Arabic characters, Chinese or even Spanish accents to Germany, Chile, or Brazil. If they actually get to the device, your user will just see fancy characters instead of what you sent — the link they requested to download your app.
For each sender ID you have (the sending phone number), you have a maximum shelf life. Often, a number as small as 300 sent SMS can trigger blocking because they’ve already detected you’re not a human, but a dreaded machine. This can get a full block for spam, or at the very least, throttling down to 1 SMS per second.
To scale, you’ll need to get Short Code numbers from the providers. The catch here is that there is a lead time of 3-6 months to get these, they’re ‘per country’ and they’re prohibitively expensive ($2k-$10k per month).
SMS failure points are plentiful, and it’s important to understand where the process may break down, so that you can prepare for the eventualities. Take a look at your own data for a clearer look at where your own processes may need tightening up – the carriers may not give you reliable data, often giving false delivery receipts when a message has, in fact, not been delivered.
Getting onboarding right is an essential part of any development process, but especially to the mobile app. The beauty, fun and value of your app is meaningless if you can’t get users from the landing page to the download action. SMS is crucial to this step, and SMS delivery is fraught with error potential. Dependable SMS reception is vital to your app’s success.
This guest post is written by Robyn Tippins, Co-Founder of Ring Captcha