Messages

Learn about the features available in messaging. Messages can be sent through OneSignal's dashboard, Create notification API, and Journeys.

Channels

Features

Sending Messages from the OneSignal Dashboard

Navigate to New Message and select the channel to send through.

1. Audience

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

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 notifications.

  • 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.

2. Message

Add the content you want to show to users. Click on the channels below to view our channel-specific message design guides in a new tab.

3. Delivery Schedule

895

Image showing Delivery section in Push Messages

You can schedule a message up to 30 days in advance. The timezone in which the message will be sent is based on your operating system's time.

Select Specific Time to set when the notifications should start sending.

Notifications will be delivered to individual users based on the Per user optimization selection.

Intelligent Delivery (Push only)

Intelligent Delivery is a unique feature of OneSignal designed to optimize notification open rates. Each time a user accesses your website or mobile app with the OneSignal SDK, the user's last session time is tracked. Our system records this and sends the message on a per-user basis based on their usage patterns.

For example, you sent a message at 7 PM and the user is most likely to open the app / site at 1 PM. The notification will be delivered 18 hours later (at 1 PM the following day).

If your notification is time-sensitive, it is recommended to send immediately (which initiates delivery right away to all users, regardless of their activity or timezone) or Timezone optimization (to deliver at the same time across user timezones).

Timezone Delivery (Push and Email only)

This is the time you want the message to display to users after its scheduled to start sending. For example, if you schedule a message to send "Immediately" with a 2:30 PM timezone delivery, then each subscriber will get the message at 2:30 PM in their timezone. If that timezone has passed, they will get the message the next day at 2:30 PM.

To send a message on a specific date and time, you will need to schedule it to start sending before the most eastern timezone you support. If your app is global, then New Zealand is a good country to use.

For example, if you want to send a message at 12:10 AM on January 1st wishing a "Happy New Year", and you live in California, you would schedule the message to start sending around Saturday December 31st at 3:00 AM UTC -8 with 12:10 AM timezone delivery. Schedule the message about 10-30 minutes before the timezone delivery time.

TimeAndDate.com is a great site to verify the schedule. In this example, just set the date and time you want the message to be delivered for "New Zealand (NZDT UTC +13)" and replace "San Francisco, California" with the city/timezone you are in. Schedule the message about 10-30 minutes before the timezone delivery time.

Another example, if you want to send a message at 10:15 AM on April 22nd to wish a "Happy Earth Day" and you live in Rio de Janeiro, Brazil, then you would schedule the message to start sending Sunday April 21s at 7:00 pm. In this example, set the date and time you want the message to be delivered to for "New Zealand (NZST UTC +12) and replace "Rio de Janeiro, Brazil" with the city/timezone you are in. Schedule the message about 10-30 minutes before the timezone delivery time.

🚧

Per User Optimization Limitation with Throttling

If you selected the Throttling option, then Intelligent Delivery and Timezone sending will become inactive.

You can override this option and set it to 0 to ignore throttling and select Intelligent Delivery or Timezone sending.

In-App Triggers (In-App Messages only)

The trigger is a custom option for when to show the message. You can trigger the in-app message when the user opens the app or setup a custom triggers programmatically with addTrigger method. Custom triggers are key: value pair of string or integer data that you set programmatically in your app when an event occurs.

For example, if you want to send an in-app message when a user reaches level 5. Each time the use grows a level, you would call for example OneSignal.addTrigger("level", 1); then when they reach level 2, you simply update the trigger OneSignal.addTrigger("level", 2); and so on. At OneSignal.addTrigger("level", 5); the in-app message will show to the user by setting the trigger to level is 5 in the dashboard.

Triggers can be combined with AND and OR operators to only show under very specific conditions.

For more information, please see our In-App Triggers guide.

Overview of web and desktop push notifications and customizations.