Sending SMS Messages

Sending SMS Messages with OneSignal

OneSignal provides a simple-to-use SMS Composer form for all your marketing needs. If you have any transactional, system-triggered use cases then we also offer sending SMS via our Create Notification API.

Sending SMS From OneSignal Dashboard

The Messages page shows you recent messages you've sent or scheduled through the dashboard.

Just click on the "SMS" tab at the top or select the drop-down on the top right and click "New SMS".


OneSignal's Messaging works similarly for all channels where you select your audience, craft your message, and schedule it for delivery.

Step 1 Audience

Select the target audience (users) for your SMS campaign. This is from the User Segments you have created from your SMS subscriber list. You can also exclude segments and OneSignal will filter out the excluded subscribers from the “To” list.


Step 2 Set From Number

Select the phone number that will send the SMS message. We will auto-fetch the list of phone numbers registered with your Twilio account.

Note: If you have registered your own phone number on Twilio and want to use that number to send SMS then Twilio only allows sending domestic messages.


Step 3 Create Message


Enter the SMS text here. A normal text message character count is limited to 160 characters for GSM-7 encoding and 70 characters for UCS-2 encoding.


SMS Costs

Twilio (and carriers) charges for the number of segments that a single message gets split into. If the character count is greater than the above-stated counts, then carriers will split the message into multiple segments. A single "message" will then be charged based on the number of segments. See how SMS character count is calculated here.

OneSignal's form will help estimate the number of characters used so you can measure the costs of your SMS.


OneSignal supports emojis in your SMS content. However, emoji rendering and character count are not standard so please test the SMS before sending it to understand how they render and if they impact the character limit.


You can send URLs within SMS messages. Shortening those URLs is also recommended. However, using public URL shorteners like TinyUrl or Bitly have been forbidden by many carriers due to bad actors. If you want to send shortened URLs, it is recommended to use your own dedicated short domain. More details.


OneSignal supports tags to personalize your text messages. For example, you can personalize SMS to each user with the {{ first_name | default: ‘default_value’ }} tag if you have added that previously. See Message Personalization for more details.

Note: Tag substitution in the message content can result in the SMS exceeding the character count limit. This can result in additional cost to you. Please test your SMS content before sending it.

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.

Test SMS before sending

To test how your SMS content looks on different devices or how the message is segmented, please use the "Send a Test SMS" functionality above the message preview. Simply 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.

Step 4 Scheduling

Delivery Time: You can either send SMS immediately to all your users or choose a specific time to start sending the message. Schedule up to 30 days in advance.


Step 5 Confirm Message

After sending an SMS, you can check the message performance analytics under Message Reports.