Send SMS and MMS messages with OneSignal. Learn how to set up, personalize, and analyze messages to engage your users in real time.
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.
Before sending SMS, follow these quick setup guides:
Get started quickly with OneSignal SMS or integrate with a provider like Twilio.
Register for toll-free or 10DLC numbers to ensure carrier compliance and message deliverability.
Manage keywords like STOP, HELP, and START for compliance and user control.
Learn how to capture valid user consent for SMS messaging.
Import phone numbers to expand your audience.
Use dynamic content and user data to personalize messages.
Send SMS in multiple languages based on user preferences.
Send time-sensitive alerts and notifications.
Implement secure verification and authentication methods.
Measure performance and optimize engagement:
Use built-in analytics for message-level insights.
Stream SMS events to your data warehouse or BI tools.
Programmatically retrieve SMS delivery and engagement metrics.
Learn more about OneSignal’s analytics capabilities.
Choose your sending method:
Automate personalized messaging flows triggered by user actions.
Send messages programmatically using our REST API.
Follow the steps below to send directly from OneSignal’s dashboard.
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
Set a name and label
Optionally set internal metadata for tracking. - API: name
Set an audience
Include or exclude Segments:
SMS audience segment selection interface
Targeting method | Dashboard | API |
---|---|---|
Segments | ✅ | ✅ |
Filters (API only) | ❌ | ✅ |
Aliases (API only) | ❌ | ✅ |
Schedule and delivery options
SMS delivery scheduling options
send_after
)Carrier pricing is based on the number of message segments which depend on:
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.
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.
Use the dashboard to generate safe, trackable shortened URLs.
Shorten and track URLs programmatically using the OneSignal API.
You can include up to 10 media URLs per MMS, with a total size under 5MB. Supported types:
image/jpeg
image/gif
image/png
MMS media attachment interface
You are now ready to collect more phone numbers and continue sending!
Send SMS and MMS messages with OneSignal. Learn how to set up, personalize, and analyze messages to engage your users in real time.
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.
Before sending SMS, follow these quick setup guides:
Get started quickly with OneSignal SMS or integrate with a provider like Twilio.
Register for toll-free or 10DLC numbers to ensure carrier compliance and message deliverability.
Manage keywords like STOP, HELP, and START for compliance and user control.
Learn how to capture valid user consent for SMS messaging.
Import phone numbers to expand your audience.
Use dynamic content and user data to personalize messages.
Send SMS in multiple languages based on user preferences.
Send time-sensitive alerts and notifications.
Implement secure verification and authentication methods.
Measure performance and optimize engagement:
Use built-in analytics for message-level insights.
Stream SMS events to your data warehouse or BI tools.
Programmatically retrieve SMS delivery and engagement metrics.
Learn more about OneSignal’s analytics capabilities.
Choose your sending method:
Automate personalized messaging flows triggered by user actions.
Send messages programmatically using our REST API.
Follow the steps below to send directly from OneSignal’s dashboard.
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
Set a name and label
Optionally set internal metadata for tracking. - API: name
Set an audience
Include or exclude Segments:
SMS audience segment selection interface
Targeting method | Dashboard | API |
---|---|---|
Segments | ✅ | ✅ |
Filters (API only) | ❌ | ✅ |
Aliases (API only) | ❌ | ✅ |
Schedule and delivery options
SMS delivery scheduling options
send_after
)Carrier pricing is based on the number of message segments which depend on:
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.
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.
Use the dashboard to generate safe, trackable shortened URLs.
Shorten and track URLs programmatically using the OneSignal API.
You can include up to 10 media URLs per MMS, with a total size under 5MB. Supported types:
image/jpeg
image/gif
image/png
MMS media attachment interface
You are now ready to collect more phone numbers and continue sending!