Tips & Troubleshooting
This article is designed to help you strategize and implement the most successful mobile campaign to realize your use-case vision.
While all of the following best-practice recommendations may lend themselves to a compliant campaign, having a compliant campaign overall is crucial to your mobile program’s success, both with the carriers and with your end-users.
Seeing things from the customer’s perspective will not only enable you to provide better customer support, but can help you better design your program from a customer usage perspective. It helps to ask what customers care most about with regard to any mobile program:
- Customer support
- Ease of use
- Conducting their daily lives while subscribed
Beyond simply being a matter of compliance, opt-ins and opt-outs and the way that your messages are formatted when sent to your customer affect their experience with your brand, promoting positive or negative feelings depending upon that experience. Be sure that the customers can join and leave the program easily, obtain customer support when necessary and that the program is easy to use without being disruptive to their lives.
What is your mobile program aiming to do? Most likely, it’s one of the following:
- obtain customers for an existing service (marketing)
- notify customers of a new service (marketing)
- supplement an existing or new service (operational, marketing)
- work as support for an existing or new service (operational)
The regulatory guidelines for your mobile campaign will differ depending on your use case and chosen code type, but narrowing down and pinpointing your vision will also assist you with coming up with a successful strategy for implementing your campaign.
Customers are more likely to feel connected to your mobile campaign if the messages they receive are customizable and personal or local to their area. If your campaign is supplementing a web coupon service, try texting codes for coupons only available in their area, or only for their favourite stores. This will keep your service relevant to the customer.
P2P messages must be “humanlike” in characteristic, and are subject to rigorous carrier filters and standards to protect end-users from unwanted messages. However, carrier SPAM filters are not perfect - sometimes, legitimate traffic is blocked. Understanding what may cause your messages to be blocked is critical, so we’ve put together these guidelines to help best ensure the success of your legitimate P2P messages.
The nature of SPAM filters can range from lists of disallowed words or phrases to adaptive AI that measure message send rate as well as content to validate whether the messages are appropriate for P2P traffic. In the case of the AIs, messages are “scored” according to throughput on a timeframe level ranging from the second to the day based on:
- Distribution & Volume
- Frequency & throughput
- Inbound-to-outbound message ratio
- Content variance
- Presence of spam-like qualities in the content (such as short urls).
Details on how each of the above aspects applies to your messages can be found below.
Bear in mind that most carrier spam blocks will be lifted automatically after a period of time determined by the number of blocked messages on the number in question. Unfortunately, carriers do not allow the explicit duration of this time period to be known. Carriers do not whitelist long code numbers for P2P sending.
- The same message should not be distributed to more than 10 mobiles* from the same long code in a single transaction.
- Message delivery per code should be “humanlike” - in other words, similar to what mobile consumers can send manually.
- The maximum outbound message send is 500/day/code, but for optimal deliverability Aerialink recommends 300-or-fewer/day/code.
- Marketing campaigns, such as bulk notifications, must be sent to the US and Canada via an A2P traffic short code.
*This figure is subject to occasional change based on delivery analysis
- Messages sent in timed, systematic intervals are not “humanlike” - we recommend that you send messages with time intervals randomized or based on user-triggered events.
- Carrier regulation requires a P2P throughput rate of no more than 1 message/second. Aerialink sets the throughput to 1 message/2 seconds for higher deliverability.
Because P2P is designed for two-way communications, an outbound-to-inbound ratio of 1:1 is ideal. However, the “Golden Ratio” for P2P traffic is 3:1. In other words, for every three “unique” messages pushed out to end-users within a close time frame, at least one message should be returned. This maintains a sense of the conversation-oriented messaging for which P2P traffic is designed.
Repetitive message content may be flagged by Carrier filters as application-generated and subsequently blocked. P2P messaging has its best rate of deliverability when message content varies.
- Individuals don’t typically send the same message over and over, so carriers apply that rule to program messaging.
- P2P messages should be uniquely relevant to a mobile user if possible.
- Use of dynamic content that is inserted into a message template is acceptable.
- If sending out similar content repeatedly is a necessity, try varying the verbiage and sentence structure while maintaining the overall goal and essence.
- Identical or “duplicate” messages are defined as those with the same sender ID, destination number and message content. Duplicate messages sent within the same sixty seconds could be filtered automatically, so care should be taken not to send a single blast twice in one minute when pushing messages out to users.
- Third-party shortened URLs (ex: Bitly, TinyURL, goo.gl. ) are associated with bulk and system-generated messaging that should be running on the 8XX Plus or Short Code routes. Because of this, including them in your content will likely result in carrier blocking of your source number and associated messages.
- Customizing your short URL rather than simply using the auto-generated randomized combination of letters and numbers will help to prevent your messages and number from carrier blocking.
Check out the P2P Guidelines article above for information useful both for preventing and troubleshooting possible carrier blocking of P2P numbers.
Some carriers allow short codes to be blocked across the board. Others consider them “marketing numbers” despite their wide range of uses and will allow end-users to block them upon request. Here are some carriers who are known to block short code traffic.
- Simple Mobile
There are two components of receiving delivery reports.
- When sending a message over HTTP you must set the registeredDelivery value as 1. This is an additional parameter in the HTTP Post.
- You must have a deliver HTTP address for DLR’s configured.
Please be sure that both of these have been completed. If they have, check the URL provided to Aerialink for POST to your system for any typos or spaces.
These statuses may indicate one of the following issues:
- Carrier blocking
- Invalid destination address
Transaction issues usually manifest in one of four ways:
- SMS MT did not reach any destination device(s).
- SMS MO was not received by platform.
- SMS MT was received by one carrier but not another.
- Messages are sent/received but there are long delays.
If a message never made it to the end-device, there may be an issue occurring with that device, specifically, such as:
- The end-user’s prepaid subscription is out of minutes
- The device was powered off and/or had a weak signal at the time of attempted transmission for such a long period of time that the retry period was exceeded.
- The end-user’s mobile plan does not support SMS
- The end-user has blocked short code messaging (see the Carrier Blocking article above for more information)
If you are accessing Aerialink via an API and experience a failure in a mobile transaction, check with your dev team - chances are, they may have received an error code which can help you pinpoint the reason for the transaction’s failure.
When an error is returned:
- The appropriate HTTP/SMPP status will be set in the response headers.
- Content-Type will be set to application/json. (?)
- The body will consist of a JSON formatted dictionary with a single key called “error” containing the status, error type, and message.
Here is a sample API error response:
For more information about API errors, see the applicable status/error code page for your chosen API:
If the content of an SMS contains a phone number, date, time and/or location formatted in a manner the phone recognizes, it will create a link in the body of the message which will conveniently send the end-user to whatever part of their phone can best assist them with that item (e.g. clicking a linked address will send the user to their maps application).
Here we have compiled the known formats phones most often recognize, enabling you to maximize the number of end-users who can make use of this convenient linking feature.
If the date is formatted correctly, it will become a link to the end-user’s calendar application.
Items that are recognized in this category are:
- Day of week
- Abbreviated (“Mon”)
- Full (“Monday”)
If there is no year, the phone will assume it is for the next occurrence of that date (e.g. if it is currently December and the SMS reads “11/1,” it will assume the appointment is for the following year’s November, not that which has just passed.)
- Month Day, Year
Internationally formatted phones may recognize additional formats. The below applies to phones formatted for addresses in the United States.
- Street Number
- Street Name
- City Name
If any of the latter three items are left out, the phone will attempt to locate the nearest place with that street address (in a town or city of that name, if City is included but state or zip are not, et cetera).
If messaging from the Mac Messages application, or any other that turns straight apostrophes and quotes into “smart” apostrophes and quotes, it is advisable to disable the “smart quotes” option.
The “smart quote” is a character in the Unicode Character Set, which is not uniformly supported across all mobile carriers and devices. Because of this, the inclusion of a “smart quote” in a message can result in the following issues:
- Reduction of max character length in message from 160 to 70 as the message is now treated as Unicode, which results in messages in excess of 70 characters being split into 67-character segments (i.e., a message that was originally 160 characters in length will arrive as (and cost as much as) three individual messages)
- Destination character issues, where the desired quote or apostrophe is replaced by an undesired charater or set of characters.
To turn off Smart Quotes on Mac Messages:
- Go to Edit
- Mouse over Substitutions
- Uncheck “Smart Quotes.”
The following quick list of tips is designed to keep people safe when using SMS, MMS and all services on the mobile ecosystem.
- Never send content or a picture of a piece of personal identification (driver’s license, social security card, passport)
Aerialink has identified a messaging issue affecting iOS handsets operating on AT&T and T-Mobile networks sending SMS messages to toll-free (8xx) landline numbers with prefixes currently in service (1-800, 1-844, 1-855, 1-866, 1-877, 1-888) in ten-digit (country-code-excluded) number format.
Under certain conditions, SMS correspondence between the iOS handsets and 8xx (“toll-free”) numbers may be split into two threads within the native iOS SMS client rather than kept in one singular string of conversation. [Would like to have image here.] This happens when the iOS via AT&T or T-Mobile user omits the 1 (country code) on a destination 8xx number, thus sending the number only in ten-digit (8001234567) rather than eleven-digit (18001234567) format. When the 8xx number replies back, iOS adds the+1 country code to the 8XX number, resulting in the response from the 8xx number not arriving within the same SMS thread as the original message sent, but in a separate thread as though from two different correspondents. However, if the user initiating the SMS thread includes the 1 (sending in eleven-digit format) on the destination 8xx number, the thread will remain intact.
The cause of the issue may potentially be iOS’s number parser (likely a variant of nearly ubiquitous Google library libphonenumber) which applies international format to numbers identified as 8xx (“toll-free”) when received by the iOS messaging application. This issue has not been known to affect future 8xx prefixes such as 1-833 and neither does it affect landline numbers utilizing the same configurations as their non-landline counterparts.
This is a known issue among carriers and 8xx number providers who are currently working together with the hope of getting this fixed in future iOS releases. Aerialink has been in direct communication with AT&T in attempts to resolve this issue.
Today, the workaround is to publish your number with the +1 included in your call to action so promote the inclusion of the country code by end users.
This page was last updated 1539620611275