Sending In-App Messages

OneSignal features - Sending In-App Messages with the OneSignal Messaging composer

Start creating an In-App Message by selecting New Message > New In-App or navigate to Messages > In-App and use one of the provided templates.


Add a Message Name that describes the purpose of the message and will help easily find this later as you create more!

Step 1. Audience

Select the audience eligible to receive your message. You can include and exclude segments of users if you've set up Segments.


IMPORTANT: Segments Include Unsubscribed Devices

Segments for In-App Messages include both Subscribed & Unsubscribed mobile devices.

Example: Rate My App

Let's use the default App Store Rating Template to ask all users with over 3 sessions to rate your app. First setup a segment using Session Count > 3. Optional: You can setup a second segment to exclude users that already rated the app. You can track users that were asked to rate already using Data Tags within the the In-App Message.


Step 2. Design Your In-App Message

This is where you create setup how the message looks and functions when clicked. There is a lot that you can do! Follow these links for more details:

Send to Test Device

You can test In-App Message Designs on your Test Devices by clicking "Send to Test Device" button at top right of the Messages step.

This will send a push notification that you click to open the app and view the In-App Message test. Some items to be aware of:

  1. The Test Device must be subscribed to push. Push notifications get sent for testing only.
  2. Tag Substitution does not work for Test In-App Messages.


Push Notifications for IAM is only for Testing

For Testing Purposes: Your device must be subscribed to get the Test In-App Message. The test will not work if your device is unsubscribed.

Regular IAM will work on unsubscribed devices, but for Testing, you must be subscribed.

You will not see a push notification when setting the In-App Messages live.

Example: Rate My App Actions

Let's send the user to the app store when they click the Image or Rate Now button. Using the URL Click Action you can add your App's Store URL. See Deep Link to Market if you need more details on this.

If you want to set for iOS and Android App stores separately, you can easily duplicate this IAMs and target 2 Segments, one for Android and another for iOS using the "Device Type" data filter. Simply update this URL for the Android and iOS Segment targeted in each URL Action.

If the user clicks the button to dismiss, you can add a Data Tag to mark that the user selected "Remind Me Later" and we can re-target them again at a later time with this same message or send them a push!

941941 10631063

Step 3. Triggers

Triggers tell the OneSignal SDK when to show the IAM to the device if they are in the segment specified. Triggers can be set based on time or programmatically through the OneSignal SDK. See the IAM Triggers Guide for more details.

Step 4. Schedule


Start Showing is the date and time the message will begin to be presented to users. If the specific time set has not been reached, the message cannot be triggered.

Stop Showing is the time after which the message cannot be triggered any longer. You can also Show forever which means it will show until you Pause it or delete the App.

How often do you want to show this message?

Only once is default. The IAM will only show 1 time on the current device.

Every time trigger conditions are satisfied will show this message each time the Trigger conditions are met.

Multiple times allows you to set the specific amount of times this message can be shown and how long to wait in between each display.

For example, if you set: "2 times with a gap of 1 hours in between" - The message will be allowed to trigger a total of 2 times. The first time when the triggers are met, then the 2nd time when the triggers are met and 1 hour has passed.

If you set "12 times with a gap of 30 days in between" - The message will show roughly once a month for a year.


Make Message Live

When ready to make message live, it will start showing on devices that are:

  1. Within the Audience set in Step 1.
  2. Trigger conditions are met in Step 3.
  3. Timeframe scheduled in Step 4.

Did this page help you?