AWS Messaging & Targeting Blog
How to Send SMS Using a Sender ID with Amazon Pinpoint
Amazon Pinpoint enables you to send text messages (SMS) to recipients in over 240 regions and countries around the world. Pinpoint supports all types of origination identities including long codes, 10DLC (US only), toll-free (US only), short codes, and sender IDs.
NOTE: Certain subtypes of Origination Identities (OIDs), such as Free to End User (FTEU) short codes might not be supported
Unlike other origination identities, a sender ID can include letters, enabling your recipients to receive SMS from “EXAMPLECO” rather than a random string of numbers or phone number. A sender ID can help to create trust and brand awareness with your recipients which can increase your deliverability and conversion rates by improving customer interaction with your messages. In this blog we will discuss countries that allow the use of sender IDs, the types of sender IDs that Pinpoint supports, how to configure Pinpoint to use a sender ID, and best practices for sending SMS with a sender ID. Refer to this blog post for guidance planning a multi-country rollout of SMS.
What is a Sender ID?
A sender ID is an alphanumeric name that identifies the sender of an SMS message. When you send an SMS message using a sender ID, and the recipient is in an area where sender ID is supported, your sender ID appears on the recipient’s device instead of a phone number, for example, they will see AMAZON instead of a phone number such as “+49 15112345678”. Sender IDs support a default throughput of 10 messages per second (MPS), which can be raised in certain situations. This MPS is calculated at the country level. As an example, a customer can send 10 MPS with “SENDERX” to Australia (AU) and 10 MPS with “SENDERX” to Germany (DE).
One of the key differences of using a sender ID to send SMS is that they do not support two-way use cases, meaning they cannot receive SMS back from your recipients. If you use a sender ID you must provide your recipients with alternative ways to opt-out of your communications as they cannot text back any of the standard opt-out keywords or any custom opt-in keywords you may have configured. Common ways to offer your recipients an alternative way of opting out or changing their communication preferences include web forms or an app preference center.
The first step in deciding whether to use a sender ID is whether you need two-way capabilities and the second step is finding out whether the use of a sender ID is supported by the country(ies) you want to send to. This table lists all of the destinations that Pinpoint can send SMS to and the Origination Identities that they support. Many countries support multiple origination identities so it’s important to know the differences between them. If the country you want to send to supports sender ID, 10 MPS is high enough for your use case, and you don’t need two-way functionality then a sender ID is a good choice.
Types of Sender IDs
Amazon Pinpoint supports three types of sender IDs detailed below. Your selection is dependent on the destination country for your messages, consult this table that lists all of the destinations that Pinpoint can send SMS to.
Dynamic Sender ID – A dynamic sender ID allows you to select a 3-11 character alphanumeric string to use as your originator when sending SMS. We suggest using something short that outlines your brand and use case like “[Company]OTP.” Dynamic sender IDs vary slightly by country and we recommended senders review the specific requirements for the countries they plan to send to. Pay special attention to any notes in the registration section. If the country(ies) you want to send to require registration, read on to the next type of sender ID.
Registered Sender ID – A registered SenderID generally follows the same formatting requirements as a dynamic sender ID, alowing you to select a 3-11 character alphanumeric string to use, but has the added step of completing a registration specific to the country you want to use a sender ID for. Each country will require slightly different information to register, may require specific forms, as well as a potential registration fee. Use this list of supported countries to see what countries support sender ID as well as which ones require registration.
Generic, or “Shared” Sender ID – In countries where it is supported, when you do not specify a dynamic sender ID, or you have not set a default sender ID in Pinpoint, the service may allow traffic over a Generic or Shared SenderID like NOTICE. Depending on the country, traffic could also be delivered using a service or carrier specific long or short code. When using the shared route your messages will be delivered alongside others also sending in this manner.
How to Configure a Sender ID
The country(ies) you plan on sending to using a sender ID will determine the configuration you will need to complete to be able to use them. We will walk through the configuration of each of the three types of sender IDs below.
Request a Sender ID(Dependent on Country, Consult this List)
Some countries require a registration process. Each process, dependent on the country can be unique so it is required that a case be opened to complete this process. The countries requiring sender ID registration are noted in the following list.
When you request a sender ID, we provide you with an estimate of how long the request will take to complete. This estimate is based on the completion times that we’ve seen from other customers.
NOTE: This time is not an SLA. It is recommended that you check the case regularly and make sure that nothing else is required to complete your registration. If your registration requires edits it will extend this process each time it requires edits. If your registration passes over the estimated time it is recommended that you reply to the case.
Because each country has its own process, completion times for registration vary by destination country. For example, sender ID registration in India can be completed in one week or less, whereas it can take six weeks or more in Vietnam. These requests can’t be expedited, because they involve the carriers themselves making changes to the ways that their networks are configured and certify the use case onto their network. We suggest that you start your registration process early so that you can start sending messages as soon as you launch your product or service.
IMPORTANT: Make sure that you are checking on your case often as support may need more details to complete your registration and any delay extends the expected timeline for procuring your sender ID
Generic Sender ID – In countries that support a Generic or Shared ID like NOTICE there is no requirement to register or configure prior to sending we will review how to send with this type of sender ID in Step 2.
Dynamic Sender ID – A dynamic sender ID can be requested via the API or in the console, complete the following steps to configure these sender IDs in the console.
NOTE: If you are using the API to send it is not required that you request a sender ID for every country that you intend on sending to. However, it is recommended, because the request process will alert you to any sender IDs that require registration so you do not attempt to send to countries that you cannot deliver successfully to. All countries requiring registration for sender IDs can be found here.
- Navigate to the SMS Console
- Make sure you are in the region you plan on using to send SMS out of as each region needs to be configured independently and any registrations also need to be made in the account and region in which you will be sending from
- Select “Sender IDs” from the left rail
- Click on “Request Originator”
- Choose a country from the drop down that supports sender ID
- Choose “SMS”
- Leave “Voice” unchecked if it is an option.
NOTE: If you choose Voice than you will not be able to select a sender ID in the next step - Select your estimated SMS volume
- Choose whether your company is local or international in relation to the country you are wanting to configure. Some countries, like India, require proof of residency to access local pricing so select accordingly.
- Select “No” for two-way messaging or you will not be able to select a sender ID in the next step
- Leave “Voice” unchecked if it is an option.
- Click next and choose “Sender ID” and provide your preferred sender ID.
NOTE: Refer to the following criteria when selecting your sender ID for configuration (some countries may override these)- Numeric-only sender IDs are not supported
- No special characters except for dashes ( – )
- No spaces
- Valid characters: a-z, A-Z, 0-9
- Minimum of 3 characters
- Maximum of 11 characters. NOTE: India is exactly 6 Characters
- Must match your company branding and SMS service or use case.
- For example, you wouldn’t be able to choose “OTP” or “2FA” even though you might be using SMS for that type of a use case. You could however use “ANYCO-OTP” if your company name was “Any Co.” since it complies with all above criteria.
- Click on “Request Originator”
NOTE: If the console instructs you to open a case as seen below than your sender ID likely requires some form of registration. Read on to configure a registered sender ID.
Registered Sender ID – A registered sender ID follows the same criteria above for a dynamic sender ID, although some countries may have minor criteria changes or formatting restrictions. Follow the directions here to complete this process, AWS support will provide the correct forms needed for the country that you are registering. Each registered sender ID will need a separate case per country. Follow the link to the “AWS Support Center” and follow these instructions when creating your case
How to Send SMS with a Sender ID
sender IDs can be used via three different mechanisms
Option 1 – Using the V2 SMS and Voice API and “SendTextMessage“
This is the preferred method of sending and this set of APIs is where all new functionality will be built on.
- SendTextMessage has many options for configurability but the only required parameters are the following:
- DestinationPhoneNumber
- MessageBody
- “OriginationIdentity” is optional, but it’s important to know what the outcome is dependent on how you use this parameter:
- Explicitly stating your SenderId
- Use this option if you want to ONLY send with a sender ID. Setting this has the effect of only sending to recipients in countries that accept SenderIDs and rejecting any recipients whose country does not support sender IDs. The US for example cannot be sent to with a sender ID
- Explicitly stating your SenderIdArn
- Same effect as “SenderID” above
- Leaving OriginationIdentity Blank
- If left blank Pinpoint will select the right originator based on what you have available in your account in order of decreasing throughput, from a short code, 10DLC (US Only), long code, sender ID, or toll-free (US Only), depending on what you have available.
- Keep in mind that sending this way opens you up to sending to countries you may not have originators for. If you would like to make sure that you are only sending to countries that you have originators for then you need to use Pools.
- If left blank Pinpoint will select the right originator based on what you have available in your account in order of decreasing throughput, from a short code, 10DLC (US Only), long code, sender ID, or toll-free (US Only), depending on what you have available.
- Explicitly stating a PoolId
- A pool is a collection of Origination Identities that can include both phone numbers and sender IDs. Use this option if you are sending to multiple country codes and want to make sure that you send to them with the originator that their respective country supports.
- NOTE: There are various configurations that can be set on a pool. Refer to the documentation here
- Make sure to pay particular attention to “Shared Routes” because in some countries, Amazon Pinpoint SMS maintains a pool of shared origination identities. When you activate shared routes, Amazon Pinpoint SMS makes an effort to deliver your message using one of the shared identities. The origination identity could be a sender ID, long code, or short code and could vary within each country. Turn this feature off if you ONLY want to send to countries for which you have an originator.
- Make sure to read this blogpost on Pools and Opt – Outs here
- NOTE: There are various configurations that can be set on a pool. Refer to the documentation here
- A pool is a collection of Origination Identities that can include both phone numbers and sender IDs. Use this option if you are sending to multiple country codes and want to make sure that you send to them with the originator that their respective country supports.
- Explicitly stating a PoolArn
- Same effect as “PoolId” above
- Explicitly stating your SenderId
Option 2 – Using a journey or a Campaign
- If you do not select an “Origination Phone Number” or a sender ID Pinpoint will select the correct originator based on the country code being attempted to send to and the originators available in your account.
- Pinpoint will attempt to send, in order of decreasing throughput, from a short code, 10DLC (US Only), long code, sender ID, or toll-free (US Only), depending on what you have available. For example, if you want to send from a sender ID to Germany (DE), but you have a short code configured for Germany (DE) as well, the default function is for Pinpoint to send from that short code. If you want to override this functionality you must specify a sender ID to send from.
- NOTE: If you are sending to India on local routes you must fill out the “Entity ID and Template ID that you received when you registered your template with the Telecom Regulatory Authority of India (TRAI)
- You can set a default sender ID for your Project in the SMS settings as seen below.
NOTE: Anything you configure at the Campaign or Journey level overrides this project level setting
- Pinpoint will attempt to send, in order of decreasing throughput, from a short code, 10DLC (US Only), long code, sender ID, or toll-free (US Only), depending on what you have available. For example, if you want to send from a sender ID to Germany (DE), but you have a short code configured for Germany (DE) as well, the default function is for Pinpoint to send from that short code. If you want to override this functionality you must specify a sender ID to send from.
Option 3 – Using Messages in the Pinpoint API
- Using “Messages“ is the second option for sending via the API. This action allows for multi-channel(SMS, email, push, etc) bulkified sending but is not recommended to standardize on for SMS sending.
- NOTE: Using the V2 SMS and Voice API and “SendTextMessage” detailed in Option 1 above is the preferred method of sending SMS via the API and is where new features and functionality will be released. It is recommended that you migrate SMS sending to this set of APIs.
Conclusion:
In this post you learned about sender IDs and how they can be used in your SMS program. A sender ID can be a great option for getting your SMS program up and running quickly since they can be free, many countries do not require registration, and you can use the same sender ID for lots of different countries, which can improve your branding and engagement. Keep in mind that one of the big differences in using a sender ID vs. a short code or long code is that they don’t support 2-way communication. Common ways to offer your recipients an alternative way of opting out or changing their communication preferences include web forms or an app preference center.
A few resources to help you plan for your SMS program:
Use this spreadsheet to plan for the countries you need to send to Global SMS Planning Sheet
The V2 API for SMS and Voice has many more useful actions not possible with the V1 API so we encourage you to explore how it can further help you simplify and automate your applications.
If you are needing to use pools to access the “shared pools” setting read this blog to review how to configure them
Confirm the origination IDs you will need here
Check out the support tiers comparison here