You can use Iterable to send marketing and transactional SMS messages. SMS messages generally have a high open rate, and you can use them to interact almost immediately with your audience.
This guide provides a high-level description of Iterable's SMS support.
Table of contents
Do I need a Twilio account?
Iterable uses Twilio to send SMS messages. You don't need your own account, but if you have one you can use it. To integrate Iterable with Twilio so that you can send SMS messages, talk to your customer success manager.
Long codes vs short codes
Long codes are general use phone numbers, available for low-volume SMS and MMS sends. An individual long code can send one message per second, up to around 250 messages per day. Most Iterable customers use long codes, which are usually available for immediate purchase.
Short codes are five or six-digit numbers used for high-volume, rapid SMS and MMS sends and replies. Short codes have a default limit of 100 sends/second, but they can be upgraded (at an additional cost). They must be registered on a national registry and can take 8 to 12 weeks to set up. Short codes are more expensive than long codes.
NOTE
Iterable does not currently support sending voice messages or inbound MMS (sent to your phone numbers from your users).
Contact phone numbers
After your customer success manager has integrated your Iterable project with
Twilio, you can send SMS messages to contacts that have a phoneNumber
field on
their user profiles.
This field must be in the proper format and include a country code. For example,
+16503926753
.
A valid German phone number (which uses country 49
) might be +496503926753
.
Setting a phone number using Iterable's API
To use the POST /api/users/update
API endpoint to set a phone number on a user profile, use a JSON request body
such as:
{ "email": "docs@iterable.com", "dataFields": { "phoneNumber": "+15551112222" } }
For an international number, use JSON such as:
{ "email": "docs@iterable.com", "dataFields": { "phoneNumber": "+4916503926753" } }
TIP
Iterable does not provide full phone number validation. However, if a
phoneNumber
field doesn't show up on a user profile after you set it, check for
superficial signs of an invalid number (bad area code, wrong format, etc.).
Sending SMS campaigns
You can send SMS messages as part of a blast campaign, a triggered campaign or a workflow.
To learn how to build out the content for an SMS message, read Template Options for SMS. Then, to learn how to send a SMS campaign or workflow, see:
TIPS
- Use Handlebars to personalize your SMS messages.
- Iterable won't send an SMS campaign to contacts who don't have a
phoneNumber
field on their user profiles.
To allow your users to opt out of your SMS messages, you can include opt-out instructions in your SMS campaigns (this is also a deliverability best practice). For more information, see the next section.
SMS opt-out instructions
When sending SMS informational or promotional SMS messages, it's important to include opt-out instructions, because:
- It's an industry best practice. Regularly including clear opt-out instructions in your messages tells your contacts how they can stop receiving unwanted content. For more information, take a look at the CTIA's Messaging Principles & Best Practices document (which include definitions for "informational" and "promotional," as well as a discussion about consumer opt-out mechanisms).
- In an effort to protect consumer privacy, AT&T has announced plans to more tightly filter SMS messages sent from 10-digit long codes that don't include opt-out instructions (and it's conceivable that other carriers might eventually follow suit). Because of this, SMS messages without these instructions—when sent to consumers on AT&T's network—may not get delivered.
Including opt-out instructions
In Settings > Project Settings, you can specify when Iterable should automatically include opt-out instructions with your SMS campaigns:
The Include SMS opt-out instructions setting can have one of three values:
With every SMS campaign - Your project will automatically include opt-out instructions in every campaign, to every contact. This is the default setting for new Iterable projects. Select this option to maximize your deliverability.
Only with the first SMS campaign to each contact - Your project will automatically include opt-out instructions only in the first SMS campaign it sends to any given contact. This option can negatively impact your deliverability, since some carriers may filter messages that don't include opt-out instructions.
Disabled - Your project will never automatically include opt-out instructions. This option can negatively impact your deliverability, since some carriers may filter messages that don't include opt-out instructions. Only your CSM can select this option for your project.
Iterable uses Msg&data rates may apply. Text 'STOP' to quit.
as th default
SMS opt-out instructions.
To customize these instructions, go to Settings > Project Settings and update the SMS Opt-Out Instructions Text field:
NOTES
- If your project isn't configured to automatically include opt-out instructions, you can manually add them to any campaign by including them directly in your message's content.
- Keep in mind that when Iterable automatically includes opt-out instructions in your messages, it will increase their length (in characters). Because of SMS message character limits, this can cause an individual campaign to split across more individual messages.
- When you change this value and save your project settings, the new value will be applied to all SMS campaigns that have not been sent, even if they've already been created. This means that the new settings will affect existing blast campaigns scheduled for the future, and active and inactive triggered and workflow campaigns.
How do users unsubsubscribe and resubscribe?
To unsubscribe and resusbscribe to your SMS messages, users can reply directy to them:
- To unsubscribe, they can respond with
STOP
,STOPALL
,UNSUBSCRIBE
,END
,CANCEL
orQUIT
. - To resubscribe, they can reply with
START
,UNSTOP
orYES
.
Inbound SMS messages
Users can respond to your SMS messages. These responses are saved as
smsReceived
events on their user profiles, and each has an smsMessage
field that contains the text of the message (in all lowercase).
To view an individual user's SMS messages, go to Contacts > Audience Lookup and look up the user in question. To see a list of recent incoming SMS messages across your project, go to Insights > Logs > Inbound SMS:
Triggering workfows with inbound SMS messages
To trigger a workflow from an incoming SMS message, use a Received an SMS trigger
node. If necessary, add a filter that to examine the contents of the incoming
message (by examining its smsMessage
field, which contains the message text in
all lowercase). For example:
TIP
There are many things to consider when using a workflow to respond to incoming SMS messages. Among other things:
- All inbound SMS messages can trigger a workflow
- Typos made by the user
- Keywords reused in multiple campaigns
Talk with your customer success manager to talk about these things before using a workflow to respond to incoming SMS messages.
Frequently asked questions
Does Iterable provide phone number validation?
Iterable does not fully validate phone numbers. However, Twilio provides a free tool.
Can I send images along with my text messages?
Yes, Iterable accepts URLs to .png, .jpeg, and .gif files. Insert the URL of the image into the Image URL box in the SMS template editor.
Can I send videos, or other file types in my messages?
Yes. You an include a link to a file of a supported type, that's less than 5mb, in the Image URL section of the SMS template editor.
Sample content URLs:
- Video:
https://www.w3schools.com/html/mov_bbb.mp4
- vCard:
http://www.w3.org/2002/12/cal/vcard-examples/john-doe.vcf
TIP
See Twilio's Accepted Content Types for Media document for a list of acceptable file types.
What metrics can I use with SMS?
To learn about SMS metrics, read SMS Campaign Metrics.
Why would an SMS message bounce?
SMS bounces can happen if a phone number doesn't exist or if part of your setup is incorrect. Iterable does not unsubscribe users when they bounce.
TIP
For an exhaustive list of error codes, read Twilio's error documentation.
How do users unsubscribe from SMS messages?
Users can unsubscribe by texting one of the following words:
STOP
STOPALL
UNSUBSCRIBE
END
CANCEL
QUIT
How do I get started with SMS?
To get started with SMS, talk to your Iterable customer success manager.
Comments
0 comments
Please sign in to leave a comment.