Transactional messages are triggered by a specific user action or event. They include onboarding messages, order confirmations, shipping and delivery updates, appointment reminders, subscription renewal notices, account alerts, and payment confirmations. Unlike promotional messages, transactional messages have a lower consent bar. A user entering their phone number in a form that includes disclosure language is sufficient opt-in.Documentation Index
Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
Use this file to discover all available pages before exploring further.
Use cases and collection points
Collect opt-ins at the point where the user provides their phone number for the underlying transaction. The right collection point depends on the use case.Order confirmations and shipping updates
Collect consent at checkout. Place disclosure text near the phone number field on your checkout page. The user enters their number, sees the disclosure, and completes their purchase.Account notifications
For example, security alerts, password resets, and billing updates. Collect consent during account creation or sign-up. Include disclosure text near the phone number field on your registration form.Appointment reminders and booking confirmations
Collect consent during the booking or scheduling flow. Place disclosure text on the booking form where the user enters their phone number.Onboarding and welcome sequences
Collect consent during account creation or sign-up. If your onboarding flow includes a separate step where users set up their profile or preferences, you can also collect it there, as long as disclosure text is present at the point where the phone number is entered.In-app or web notification preferences
For users who already have an account, collect transactional SMS consent from a notification preferences page in your app or website. Let users toggle on specific types of text notifications, such as order updates, account activity, and appointment reminders, with disclosure text visible on the preferences page.Compliance requirements
Transactional messages have lower compliance requirements than promotional messages. Disclosure text must be visible at the point where the phone number is collected, directly on or near the phone number field, not on a separate page or buried in terms of service.Required disclosure language
Disclosure language requirements, common collection points by use case, and the full transactional opt-in compliance rules.
If you have multiple senders for different use cases (for example, promotional and transactional), collect which use case the subscriber is opting into as a data tag. This ensures you can route subscribers to the correct sender and keep opt-ins scoped to the right program.
Sending
Before you send
- Sender name: Include your brand name in the message body so recipients know who is texting them.
- Opt-out instruction: Every transactional message must include a STOP instruction (for example, “Reply STOP to opt out”).
How to send
Because transactional messages are typically triggered by an event, the best sending methods are:- Journeys (Recommended): Gives more visibility and control over message content to non-developers. Supports omnichannel messaging and conditional branching. To set up a Journey, you’ll need to configure the trigger as a custom event in OneSignal. See Journeys and Custom events.
- API: Use the Create Message API to trigger sends from your backend when your system controls the event.
Composing your message
For guidance on character limits, personalization, and trackable links, see Composing messages. If your sender has an RCS resource, you can also send rich content (branded cards, carousels, and action buttons); see RCS content.FAQ
What’s the difference between transactional and promotional consent?
Promotional messages require express written consent, an affirmative action like checking an unchecked box or texting a keyword. Transactional messages have a lower bar: a user entering their phone number in a form where disclosure language is visible is sufficient. The key is that the disclosure must be present and specific about what types of messages they’ll receive.Can I send transactional messages during quiet hours?
Transactional and OTP messages are generally exempt from quiet hours restrictions. That said, use good judgment. Sending a non-urgent notification at 3 AM will generate complaints regardless of whether it’s technically permitted.Do I need a dedicated sender for transactional messages?
Yes. Using a dedicated sender for each program type (promotional, transactional, OTP) keeps opt-outs cleanly scoped. If a subscriber texts STOP to a sender shared across programs, they are opted out of all messages from that sender.How do I trigger transactional messages from my backend?
Use the Create Message API to send messages programmatically. For better visibility and control, consider setting up a Journey triggered by a custom event, which allows non-developers to manage message content without code changes.Related pages
SMS opt-in and collection
Collection methods, required disclosure language, and audience validation for all program types.
One-time passwords
OTP-specific opt-in patterns and verification with OneSignal Verify or your own backend.
Composing messages
Character limits, MMS, trackable links, and RCS rich content.
Regulatory compliance
Consent standards, quiet hours, prohibited content, and fraud prevention.