SMS/MMS: Get Started

Updated

We’ll help you get set up with SMS so you can start sending messages to your customers.

How it works

While you’ll send SMS messages through Customer.io, SMS setup can be a bit complicated. If you send exclusively to people in the US or Canada, you might be able to setup SMS sending—including procuring your sender phone numbers—entirely through Customer.io.

If you send messages to people outside of the US or Canada, you’ll need to set up a Twilio account and connect it to Customer.io—which is still very straightforward.

Beyond that, you’ll need to store your audience’s phone numbers in the phone attribute so we know who to send messages to.

 We send messages through Twilio’s US region

You can send messages to people anywhere in the world, but we route data through Twilio’s US region. We don’t support Twilio’s regional APIs. This might be a problem if you have strict data residency requirements for things like GDPR compliance requiring EU data processing.

Before you can send SMS messages

Whether you send SMS support directly through Customer.io or Twilio, you’ll need to do a few things to meet the regulatory requirements to get your SMS phone numbers and start sending messages. You can still get set up with your provider (Customer.io or Twilio), but you should also do these things as soon as you can to avoid delays and get approved to send SMS faster.

Beyond that, you’ll also have to articulate your SMS use cases when you register as a sender—regardless of whether you send through Customer.io or Twilio.

Do I need to set up a Twilio account?

In general, you can setup SMS without a Twilio account if you’re based in the US or Canada and you only send messages to people in the US or Canada. If you meet this criteria, you can sign up and we’ll help you get set up.

If you don’t meet this criteria—or you want to use advanced Twilio analytics features like revenue attribution or sending queues—you’ll just set up an account through Twilio and connect it to Customer.io.

flowchart LR B{Is your business based
in the US or Canada?} B -.->|No| C[Work directly with Twilio
Manage phone numbers there] B -->|Yes| D{Do you send messages to
people outside the US or Canada?} D -.->|Yes| C D -->|No| E{Do you need analytics
like revenue attribution
or sending queues?} E -.->|Yes| C E -->|No| G[You're eligible for
Customer.io native SMS!
Contact support@customer.io] style G fill:#e1f5fe,stroke:#01579b,stroke-width:2px style C fill:#fff3e0,stroke:#e65100,stroke-width:2px

If you’re eligible for Customer.io SMS

If you’re eligible for our native SMS solution, you can sign up to manage your SMS phone numbers and billing in Customer.io.

Once you’re signed up, we’ll help you set up your SMS sending in Customer.io. This involves gathering setting up sender phone numbers and other details. See Getting a phone number for more information. In particular, see the checklist on that page for the things you’ll need to do before you can get a phone number and start sending messages.

Set up SMS through Twilio

If you’re not eligible for our native SMS solution, you’ll need to set up a Twilio account and follow the process below to send SMS messages using Customer.io.

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.

  1. Set up a Twilio account if you don’t already have one. We recommend using a trial account to get started.

  2. 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.

  3. 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.

    Find your credentials in the Twilio dashboard
    Find your credentials in the Twilio dashboard

 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.

Add people’s phone numbers in Customer.io

No matter how you set up SMS, you need to store your audience’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. in Customer.io so you can send them messages. 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 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}}. to pick the right one.

{% if customer.primary_phone %}
    {{customer.primary_phone}}
{% else %}
    {{customer.cell_phone}}
{% endif %}

Store phone numbers in E.164 format

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:

CountryLocalE.164
USA415 555 2671+14155552671
UK020 7183 8750+442071838750
China021 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 set up SMS, you can also send messages with 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:

  • Images must be PNGs, JPEGs, or GIFs.

    The URL you host must end in the image format for us to attach it to your message.

  • Maximum image size is determined by recipient carrier, so you should limit image size to 600kb where possible.

    While our asset library accepts files up to 3MB, and Twilio sometimes allows attachments up to 5MB, the maximum image size for MMS is typically much smaller. Recipient carriers enforce their own size limits, many down to just 600kb. We recommend that you use the smallest possible images to ensure that your audience sees your image, regardless of their carrier and connection quality. If you use a short code or a toll-free carrier, your image may be limited to 600kb. Your message can also include up to 1600 characters.

  • MMS messages are slightly more expensive than SMS messages.

    This is because MMS messages are typically larger than SMS messages; this pricing model is not unique to Twilio. But you may want to reserve MMS messages for your most meaningful mobile interactions.

  • MMS messages are limited to the United States and Canada.

    MMS messages sent to someone in another country will fail.

By default, when you enable SMS, we automatically shorten links in your message body. Presently we use https://a.cx.io/lnk.abc123 (or https://e.cx.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.

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.

An image showing a shortened links in the preview of an SMS message
An image showing a shortened links in the preview of an SMS message

 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.

Inbound messages

We also support inbound, keyword-based messages from your audience. You can handle these messages with campaigns and events. See Inbound messages for more about handling replies from your audience.

Copied to clipboard!
  Contents