SMS/MMS: Get Started
UpdatedGet started using Twilio to send SMS to your customers as part of your triggered campaigns!
How it works
We send SMS (text) and MMS (PNG, JPEG, and GIF image) messages through Twilio. Before you can send messages to your mobile audience, you’ll need to set up a Twilio account.
Customer.io doesn’t set up or manage your Twilio account
While we partner with Twilio to send SMS messages, you’ll have to set up and manage your own Twilio account—including things like adding senders and setting up keywords—but we’re working to make this easier in the future!
To make sure that your messages go to the right people, you’ll need to store people’s phone numbers as attributesA key-value pair that you associate with a person or an object—like a person’s name, the date they were created in your workspace, or a company’s billing date etc. Use attributes to target people and personalize messages. Attributes are analogous to traits in Data Pipelines.. By default, we use the phone
attribute, but you can use any attribute you want. When you send an SMS or MMS message, you’ll point to this attribute using liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable {{customer.first_name}}
. so we know where to send the message.
1. Set up Twilio SMS
To send SMS and MMS messages in Customer.io, you’ll need to have a Twilio account and the Sender phone number. This might be a regular phone number, short code, or an alphanumeric ID.
Twilio can lease these numbers to you. Or, if you have a paid Twilio account with Alphanumeric Sending enabled, you can send messages from an Alphanumeric ID instead of a Twilio phone number.
Set up a Twilio account if you don’t already have one. We recommend using a trial account to get started.
Set up a Twilio-specific Sender if you don’t already have one. You can’t use your own phone number to send SMS; you need to purchase a number from Twilio. If you already set up your sender number, select it when you compose messages.
In your Customer.io workspace, go to > Workspace Settings > SMS and add your Twilio Account SID and Auth Token. You’ll find these values in your Twilio dashboard. We only support credentials associated with the US Twilio region.
Don’t use your test credentials
You might see a set of test credentials on your Twilio account page. Don’t use these credentials! To send SMS with Customer.io, you need to use your live credentials.
After you set up Twilio, we’ll sync your phone numbers from Twilio to Customer.io, and you’ll see the SMS message option in your workflows.
2. Add people’s phone numbers in Customer.io
To send people SMS messages, you need to store their phone numbers as attributesA key-value pair that you associate with a person or an object—like a person’s name, the date they were created in your workspace, or a company’s billing date etc. Use attributes to target people and personalize messages. Attributes are analogous to traits in Data Pipelines.. In most cases, we recommend that you call this attribute phone
. If you store multiple phone numbers, you might label different phone numbers primary_phone
, cell_phone
, etc.
You’ll select the phone number you want to use when you send your message. If you have multiple phone number values, you can use liquid to pick the right one.
{% if customer.primary_phone %}
{{customer.primary_phone}}
{% else %}
{{customer.cell_phone}}
{% endif %}
You should store phone numbers in E.164 format. If your numbers aren’t stored in this format, Twilio may not be able to detect your phone number format and messages may not make it to your audience.
E.164 is the internationally-standardized format for all phone numbers, containing up to fifteen digits and usually written as shown below. See Twilio’s documentation for more information about E.164 phone numbers.
[+][country code][subscriber number including area code]
Here are a few examples:
Country | Local | E.164 |
---|---|---|
USA | 415 555 2671 | +14155552671 |
UK | 020 7183 8750 | +442071838750 |
China | 021 6309 5246 | +862163095246 |
Australia | (08) 9287 8230 | +61892878230 |
Twilio can send SMS messages almost anywhere
We send SMS messages through Twilio, so we support all the countries Twilio supports. That accounts for most countries worldwide. But before you send SMS messages, you should check if there are any restrictions based on your recipients’ phone numbers.
MMS messages
When you enable SMS, you can also send images. When you send an SMS message with an image, it becomes a multi-media message (MMS). MMS messages can help you make your point when 160 characters just aren’t enough. However, before you send an MMS message, you should take into account:
Link shortening
By default, when you enable SMS, we automatically shorten links in your message body. Presently we use https://a.cust.io/lnk.abc123
(or https://e.cust.io/lnk.abc123
if you’re in our EU data center) as our format. Learn more about link shortening.
Preview links are for example only
In your preview, you’ll see links that end in abc123
. We don’t generate the shortened URL until send time. We show example links to help you see your links in context and check your character count.
You don’t need to do anything for us to shorten links, but you do need to use the {% cio_link url:"https://example.url" %}
tag to track links in your messages.
Link shortening prevents your links from taking up significant space in your messages. We track shortened links the same as we would any other link in your message; link shortening has no impact on link tracking.


Require logins if your links include personal information!
Shortened links for your workspace expire after 90 days, and we’ll reuse link paths in new messages. If you link out to personal or sensitive information, you should require that people log in so that you don’t risk exposing sensitive information to people who click your links.