SMS

Sending SMS and MMS text messages with OneSignal.

SMS and MMS messages (commonly known as "text messages") are highly engaging, real time messages that get delivered to your user's device via a phone number.

If you have not setup SMS yet, see SMS Setup to get started.

Overview

This guide explains how to send SMS and MMS messages with OneSignal along with important concepts like costs, design, and features.

Audience

Optional: Input a Message Name for internal recognition of the message.

Your audience is the Segment(s) of users in which you wish to include and exclude from receiving this message.

There are two options for selecting which users are eligible to receive messages.

  • Send to "default segment" - Displays the segment name for default segment. Otherwise, this defaults to all "Subscribed Users". See Segments for details on setting a default segment.
  • Send to Particular Segment(s) - You can both include and exclude users within segments from receiving the message. Any users in the segments listed under should not are excluded and will not get the message.

Targeting multiple segments:

  • Segments are "OR" relations; all users in all segments will be included or excluded.
  • OneSignal will automatically filter out duplicate users so they only get one message.

📘

Understanding SMS & MMS Pricing

Before sending SMS or MMS messages, it's important to understand how pricing works. Twilio (and all carriers) charge based on the number of message segments a single message is split into. (Note: These "segments" are different from OneSignal Segments.)

The number of message segments depends on:

  • The total number of characters in your message
  • The type of character encoding used

If a message exceeds a certain character limit, carriers will split it into multiple message segments, and each segment incurs a separate charge. You can check how SMS character count is calculated here.

OneSignal's form provides an estimate of character usage, helping you gauge SMS costs before sending. More details below.

Content

SMS is very limited when it comes to their design. They do support both text and emojis. Text formatting options like bold and italics are not supported.

Character Encoding and Emojis


A standard text message has a character limit based on the encoding used:

  • GSM-7: Up to 160 characters per message segment.
  • UCS-2: Up to 70 characters per message segment.

Encoding Differences

  • GSM-7: Supports English letters, numbers, some Greek characters, and special symbols. It allows for more characters per message. See the full list of supported characters on Wikipedia or Twilio.
  • UCS-2: Used for non-GSM-7 characters, including emojis and certain languages. MMS messages also use UCS-2 encoding.

When composing your SMS/MMS messages, keep track of:

  • The number of characters used.
  • The type of encoding required.

Since longer messages are split into multiple message segments, this can increase costs.

OneSignal's Character Estimation
To help manage costs, OneSignal automatically estimates how many message segments your message will use.

When composing your message in the OneSignal dashboard, you'll see an estimate of:

  • The number of characters used
  • The number of message segments required
  • This ensures better cost control before sending messages to your users.
Example uses GSM-7 encoded characters and will likely send 2 message to my users because it is more than the limit allowed per message.

Example uses GSM-7 encoded characters, and will likely send 2 message to users.

As you add more characters—especially those requiring UCS-2 encoding—your message may be split into multiple segments.

Instead of sending one message to each device, you could be sending two or more, increasing overall costs.

To avoid unexpected charges, monitor character usage and message segmentation in the OneSignal dashboard before sending.

.

Example uses UCS-2 encoded characters and will likely send 3 message segments. So one "message" to users will cost the same as sending 3.

Example uses UCS-2 encoded characters, and will likely send 3 message segments.

URLs

You can send URLs within SMS messages. Shortening those URLs is highly recommended. However, using public URL shorteners like TinyUrl or Bitly is forbidden by many carriers.

If you want to send shortened URLs, it is recommended to use your own dedicated shortened domain. More details.

Personalization & Dynamic Content

OneSignal supports Liquid tags to personalize your text messages. For example, if you’ve set a first_name tag for users, you can personalize messages like this:

{{ first_name | default: 'customer' }}

If a user's first name is unavailable, "customer" will be used as a default. Learn more in our Message Personalization guide.

Dynamic Content

With Dynamic Content, you can create a single message that automatically personalizes itself for each recipient. This feature is available for Email, SMS, and Push Notifications.


⚠️ Important Note
Personalizing messages may increase the character count, causing your SMS to exceed the limit and be split into multiple segments—leading to higher costs.

Best Practice: Always test your SMS by sending it to yourself before sending it to your audience.


Media

OneSignal supports Multimedia Message (MMS). You can add up to 10 media URLs in an SMS with a total message size of less than 5MB. The following media types are fully supported:

  • image/jpeg
  • image/gif
  • image/png

Twilio also accepts other media formats, but the content will not be modified for device compatibility.

Note: Twilio only supports MMS in the US and Canada.


Send Test SMS

To test how your SMS content looks on different devices or how the message is segmented, use the Test & Preview button above the message preview. To receive a test message, enter your test phone number to receive the SMS content.

📘

Key Considerations

Test messages will be charged against your Twilio account balance.

For Twilio trial accounts, recipient phone numbers need to be registered on Twilio before they can receive SMS.

Delivery Schedule

SMS & MMS can be sent immediately, or scheduled up to 30 days in advance.

When you're ready to schedule, click Review & Send to review your message, and then click Send Message.

If you need more time or help, you can Save as Draft to come back to it later.

👍

SMS Tutorial Complete!

You are now ready to collect more phone numbers and continue sending!