SMS and MMS messages (commonly known as “text messages”) are highly engaging, real-time messages that reach your user’s device via their phone number. They are especially effective for time-sensitive offers, transactional alerts, and personalized engagement.

To comply with U.S. carrier regulations, proper consent and registration (e.g., 10DLC or toll-free) are required before sending SMS or MMS messages.


What you can do with OneSignal SMS

  • Send marketing and transactional messages from the Dashboard or via the API
  • Create automated multi-channel flows with Journeys
  • Precisely target users using Segments, filters, or user data
  • Personalize content with user attributes and Dynamic Content
  • Connect with CRMs & tools like HubSpot, Mixpanel, Amplitude, Zapier, and more

SMS setup

Before sending SMS, follow these quick setup guides:


SMS opt-in


Features & use cases


Analytics

Measure performance and optimize engagement:


Send SMS & MMS

Choose your sending method:

Steps for sending messages with OneSignal:

Select the message channel

Go to Messages > SMS > New SMS or use the Create message API.

Choose a composition method

  • Start from scratch - Use Templates or saved layouts

Set a name and label

Optionally set internal metadata for tracking. - API: name

Set an audience

Include or exclude Segments:

  • Send to default segment: Defaults to all “Subscribed Users” if none set.
  • Send to specific segments: Include and exclude segments explicitly. Multiple segments have an “OR” relationship; duplicate subscriptions are automatically removed.

SMS audience segment selection interface

Targeting methodDashboardAPI
Segments
Filters (API only)
Aliases (API only)

Schedule and delivery options

SMS delivery scheduling options

  • Scheduled Delivery: Send at a specific time up to 30 days in advance (send_after)

Content

Carrier pricing is based on the number of message segments which depend on:

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

Messages with emojis or personalization may use UCS-2 encoding, which significantly reduces the character limit per segment.

Always review the estimated character and segment count shown in the OneSignal dashboard to avoid unexpected costs.

SMS supports plain text and emojis. Formatting like bold and italics is not supported.

  • Personalizing messages may increase the character count, causing your SMS to exceed the limit and be split into multiple segments—leading to higher costs.
  • Always test your SMS by sending it to yourself before sending it to your audience.

Character encoding and emojis

  • GSM-7: Up to 160 characters per segment; supports basic Latin characters and symbols.
  • UCS-2: Up to 70 characters per segment; used for emojis and non-Latin scripts.

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. To avoid unexpected charges, monitor character usage and message segmentation in the OneSignal dashboard before sending.

Example uses GSM-7 encoded characters, likely sending 2 segments.

Example uses UCS-2 encoded characters, likely sending 3 segments.

SMS messages support clickable URLs, but space is limited—so shortening your links is essential.

However, do not use public URL shorteners like TinyURL or Bitly. These are often flagged or blocked by mobile carriers, which can prevent your messages from being delivered.

To ensure reliable delivery and track user engagement, OneSignal provides a built-in URL shortener that generates carrier-safe, trackable links. You can create these links in the dashboard or via the API.


Media

You can include up to 10 media URLs per MMS, with a total size under 5MB. Supported types:

Twilio only supports MMS in the US and Canada.

MMS media attachment interface


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