In this guide, we’ll introduce important concepts that you should know before sending SMS internationally. Awareness of these concepts will help you determine your use case before you begin building with Twilio.
If you already have your use case in mind, you can check the country-specific guidelines for the places in which you intend to send SMS with Twilio.
Depending on where you plan to send SMSes, the content of your messages will determine how it is sent.
Wireless carriers treat Person-to-Person (P2P) and Application-to-Person (A2P) traffic differently in terms of the type and volume of traffic allowed. It is important to know in advance which type of messages you will be sending to avoid carrier filtering.
A2P messaging is used for one-way SMS where the sender does not expect the recipient to reply. Common examples of A2P messaging are marketing messages, 2-Factor Authentication (2FA), and appointment reminders.
P2P messaging happens when two or more people are speaking back-and-forth to one another over SMS. Common examples of P2P messaging include customer service messages, texting with a rideshare driver, and communicating with a food delivery courier about the status of an order.
- Determine if you are going to send A2P or P2P SMS messages internationally.
The characters and length of your message determine the number of message segments that Twilio sends to the various wireless carriers. Because Twilio bills per message segment, this can affect your pricing.
GSM-7 is the default SMS encoding standard, which packs the most commonly used characters into 7 bits.
You can find the full GSM-7 character set here. Non-GSM characters include characters like smart quotes, emoji, and Japanese kanji. There is a limit of 160 characters per message segment encoded with GSM-7.
UCS-2 is the standard used to represent any non-GSM-7 characters. UCS-2 represents all characters with 2 bytes.
If you include any non-GSM-7 characters in your message body, Twilio will automatically fall back to the UCS-2 encoding. This will limit message bodies to 70 characters each.
In concatenated SMS, long SMS messages are sent as smaller messages and recombined upon receipt. This is a common workaround to message character limits.
Twilio splits long SMS messages (>160 GSM characters, >70 UCS-2 characters) into separate SMS messages segments and then reassembles them on delivery using User Data Headers. These headers take 6 bytes per message, leaving only 67 characters for UCS-2 encoded messages or 153 for GSM-7 encoded messages.
Additionally, not all countries support message concatenation.
- Use this calculator to determine the encoding and number of segments for your message
- Determine if the carriers in the countries in which you intend to send SMS support message concatenation
- Look at the SMS pricing for the countries in which you intend to send messages
- Consider sending SMS with a Twilio Messaging Service and Copilot to take advantage of the SmartEncoding feature
Only the United States and Canada currently support MMS (Multimedia Messaging Service) messages. However, Twilio's MMS Converter feature will automatically convert MMS to SMS when sent to destinations that don't support MMS. These SMS will contain a link in the body to let your recipient access the media.
Each country may have its own specific guidelines and best practices for sending SMS, and this can affect how your messages arrive and how you should build with Twilio.
For example, France and India limit the times during which you can send promotional or marketing messages and require opt-in from message recipients. Carriers in other countries, such as Japan and Saudi Arabia, will filter out gambling-related or objectionable content.
Country-specific regulations affect whether the sender identity can and should be sent in a certain format. Sender identities vary in throughput capability, type of content that can be sent, and pricing.
In most countries, a long code number is a 10-digit Sender ID used for sending and receiving SMS messages and voice calls.
Good use cases for long codes include P2P and low-throughput communications, such as anonymous chatting applications and customer service communications.
To use phone numbers compliantly in many countries of the world, both Twilio and our customers must adhere to the local country regulations. This requirement often means you must provide adequate identity documentation to the carriers or local regulator. Failure to provide that information creates a risk of disruption of service. Check the regulatory guidelines around phone numbers for countries of interest here.
Twilio allows you to get long codes on-demand for local, national, mobile, and toll-free numbers in 50+ countries, but these do carry throughput limitations:
- In the United States, long-code numbers are limited to one message/second.
- Sending more than 200 messages per long code per day often results in carrier filtering.
If your use case requires higher throughput, you may want to consider a shortcode instead.
A short code is a 3-6-digit number used for sending SMS and MMS messages. Short codes are pre-approved for high-throughput, with a default of 100 messages/second.
Good applications for short codes include high-volume, time-sensitive A2P messaging, such as notifications, reminders, and marketing communications.
Shortcodes come with two notable limitations:
- They are currently only available in the US, Canada, and the UK with an approval process time of eight to 12 weeks.
- They are a higher-cost option than long codes. (You can find Twilio short code pricing information here.)
- Determine if a long code fits your use case.
- If necessary, apply for a short code.
- Consider using Copilot’s Shortcode Reroute to prioritize SMS delivery via shortcode
- Consider using Copilot’s Fallback to Long Code feature as a backup
- Review the regulatory guidelines for phone numbers in the countries in which you intend to send messages.
Alphanumeric Sender IDs contain up to 11 characters for branded one-way messaging. Accepted characters include both upper- and lower-case ASCII letters, the digits 0 through 9, and space: A-Z, a-z, 0-9.
Not all countries support alphanumeric Sender IDs. If you enable an Alphanumeric Sender ID on a Twilio Messaging Service, Twilio will select the Alphanumeric Sender ID automatically when you send a message to a supported country.
The best way to get started sending international SMS is to determine your use case in advance. Knowing your use case, country, and throughput needs in advance will help you pick the best Twilio solution for sending global SMS.