Send Push Notifications, Email, In-App Messages and SMS with OneSignal
This page explains how to send push notifications from the OneSignal Dashboard. For sending messages through other channels, see Sending Email Messages, Sending In-App Messages, and/or Sending SMS Messages.
Other options for sending messages include:
|API Create Notification||Use our server-side API to send push, email and sms. We also provide Server Side SDK's for faster implementation.|
|Journeys||Orchestrate push notifications, emails, in-app messages, and SMS through a visual builder with no code required.|
|Automated Messages||Send push notifications and emails automatically when users enter segments.|
|Send push notifications, email or SMS using Integrately or push notifications using Zapier.|
|HubSpot||Send push notifications through your HubSpot workflows.|
Sending Push Notifications from OneSignal Dashboard
Navigate to Messages > New Message > New Push
Optional: Input a Message Name for internal recognition of the message. See Message Name for more details.
Step 1. Audience
The Segments of devices in which you wish to include and exclude from receiving this message.
There are two options for selecting which devices are eligible to receive notifications.
|Send to Subscribed Users||Sends to your default segment which you can set. Otherwise, this defaults to all subscribed devices.|
|Send to Particular Segment(s)||You can both include and exclude devices within segments from receiving the message.|
Targeting multiple segments: OneSignal will automatically filter out duplicate user records so the device only gets one push.
|Exclude Segments||Any device in the excluded segment will not get the push notification.|
Segments can be Edited
Any selected segments can be edited and new segments can be created on the fly.
Step 2. Message
|Add Languages||Select Add Languages to add multiple Supported Languages.|
|Title||Web: Defaults to the Site Name set in Settings.|
Android & iOS: Not required.
|Subtitle||Supported on iOS mobile apps.|
|Message||Larger text input field.|
|Image||This will populate the large image for all applicable platforms. The recommended image is a |
More details on images see:
- Web Push Images
- Mobile App Push Images
You can override images for specific platforms below in platform settings.
|Launch URL||The URL a user will be directed when clicking the push. |
Details on Deep Linking see Links, Deep-links and URLs.
Notification Layout & Features Guides
Web and Mobile Push Notifications have some different capabilities. Details on each can be found:
Web Push Notifications Guide
Mobile Push Notifications Guide
See A/B Testing for details.
Sending to Test Devices
This allows you to test the message by sending directly to your test users. See Find Devices & Set Test Users for details.
Custom features available by platform.
Each Platform can be disabled (no push sent to those devices) by toggling the platform switch on/off
|Badges||Red Dots with numbers on the app icon.|
- Don't set - no badge set
- Set to - specify exact badge count
- Increase by - increment the badge count by your desired amount
|Sound||The sound that plays when this notification is received by the device. If no sound is specified, the device's default sound will play. Use |
|Content Available||For native iOS apps only. Wakes your app when the notification is received so you can do work in the background. See also Apple's 'content-available' documentation for more details.|
|Category||The UNNotificationCategory. Used with the UNNotificationContentExtension for action buttons.|
|Target Content ID||Use to target a specific experience in your App Clip, or to target your notification to a specific window in a multi-scene App. Details in App Clip Support.|
|Media||Rich media attachment. Image, sound, or video to show when viewing the notification. Skip if set already unless you want a different image for iOS.|
|Category||Highly recommended for Android 8+ devices. Settings will carry over to android 7 and lower.|
|Sound||The sound that plays when this notification is received by the device. If no sound is specified, the device's default sound will play.|
Recommended: Use Notification Categories instead.
|LED Color||Sets the device's LED notification light (if the user's device has one). If no LED Color is specified, the device's default color will show.|
Recommended: Use Notification Categories instead.
|Lockscreen Visibility||Only applies to apps targeting Android API level 21+ running on Android 5.0+ devices.|
Recommended: Use Notification Categories instead.
|Small Icon||Defaults to a bell unless specifically added. Icon shown in the status bar. Also show to the left of the notification text unless a large icon is set. Do not include a file extension.|
|Large Icon||Icon that shows to the left of the notification text. Include a file extension or upload your icon. Do not include a file extension.|
|Big Picture||Shows up in an expandable view below the notification text.|
|Group Key||Notifications with the same Group Key will be stacked together as a single summary notification with the number of unopened notifications.|
|Group Message||Only applies to Android 6.0 and older. By default '# new messages' will shown on the device when 2 or more notifications are received with the same group key. Enter a custom message with '$[notif_count]' in the message text so the count can be replaced.|
|Background Data||Legacy option for pre 3.0 versions of the OneSignal Android SDK. Read our documentation for a new way to set this up.|
Certain browsers have limited features. Most features are Chrome only.
|Web Push Option||Description|
|Web Push Icons||Defaults to icon set in the Web Push Settings|
|Web Push Images||Displays a large image on the notification content (Windows or ANDROID only).|
|Badge||Replaces the Chrome browser icon with your monochrome badge icon. The minimum recommended size is 72x72 pixels.|
|Action Buttons||Extra buttons that show on a push that can direct a user to a different URL.|
|Additional Data||Custom key : value data pairs sent to your app through the notification. Use |
More details on this below in our FAQ How To Use Additional Data.
|Collapse Key/ID||Current notifications with the same id/key will be replaced instead of showing a whole new notification on the device. Limit of 64 characters.|
|Web Push Topic||Set different values to show multiple web push notification at once to a user. If not set, then newer notifications will replace current notifications on device.|
|Priority||Sets the Delivery Priority. Can override certain device and browser settings. Some devices de-prioritize notifications to show at a later time if the battery is low. This will attempt to show the notification even if the device has low power.|
For Android 8+ you must use
|Time To Live||The default time is 259,200 seconds (3 days) but can be any value from 0 to 2,419,200 seconds.|
The notification will expire if the device remains offline for these number of seconds.
Affects iOS, Android, and Chrome Web Push.
|Action Buttons||Android and iOS mobile apps only.|
Buttons show on the notification itself. Works on iOS 8.0+, Android 4.1+.
Step 3. Scheduling
You can schedule a notification 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 is a unique feature of OneSignal designed to optimize notification open rates. Each time a device accesses your website or mobile app with the OneSignal SDK, the user's last session time is tracked. Our system will record this and send 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 Time Zone optimization (to deliver at the same time across user timezones).
Optimize by the user time zone
Once you schedule the notification to go out, you can set the delivery based on each device's set timezone. This is based on the device's settings.
So if you want a notification to be delivered to all your users in different timezones at 1PM for example, you can do this with OneSignal!
Keep in mind that if a timezone has already passed when you start sending this notification, they will get the notification at the set timezone, the next day. So it is important to make sure you start sending 24 hours before
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
0to ignore throttling and select Intelligent Delivery or Timezone sending.
How to schedule recurring notifications?
OneSignal provides the following options to scheduled recurring messages for specific times:
- Journeys with Time Windows node.
- API Create notification
- Integrately or Zapier integrations
Automated Messages allow you to send based on timezone and repeat every x amount of Hours/Days/Weeks but this does not provide specific date scheduling and is more designed for drip campaigns.
Can notifications get re-ordered with the Intelligent Delivery Option?
Yes, if you send multiple notifications with Intelligent Delivery that should be delivered on the same day, then users may get the notifications in different orders. This is due to how our SDK interprets the rolling average of a user's predicted-active time on your site or app.
For example, if my current predicted-active time is 3:00pm and you send notification1 to me with Intelligent delivery. Our system will set this notification to be received by me around 3:00 pm.
If I visit your site or app at 2:00 pm. My predicted-active time may now change to an earlier time, so notification2 may be received before notification1.
How can I use Additional Data?
OneSignal allows up to
2048 bytes of data to be passed within the Additional Data or API
data property of a notification.
This is generally used for Deep Linking or passing data into the push to run code upon receipt using our SDK Notification Event Handlers.
When using the Dashboard to send the push, this can only take
key: value pairs of data. To send nested JSON object as a value, you would need to use our API Create Notification POST call.
Updated 11 days ago