In-App Messages Quickstart

Highly customizable pop-up modals for mobile app users when inside your app.

In-app messages are customizable and targeted messages that display to users while inside your app. These do not require user subscription. You can promote your app's features, remind about events/discounts, and engage relevant users to perform actions like make purchases, rate your app, subscribe to push notification, enable location tracking, and more!

OneSignal provides both HTML and drag-and-drop editor capabilities with templates and code samples to get you started quickly.


The only requirement is successfully setting up any of the OneSignal Mobile SDKs.

Navigate to Messages > In-App. Here youโ€™ll see a collection of default templates and your previously made in-app messages. Click the options button next to the template youโ€™d like to view and select Edit.


OneSignal has several templates for you to quickly get started. These templates are professionally designed with rich-media content to help you deliver a quality experience to your app users. In summary we provided the following templates:

  • Welcome: Allows you to welcome your user into your application as part of their onboarding.
  • New Feature Announcement: Example communication about how to promote a new feature of your app.
  • 10% Off Promotional: Allows you to offer your user a discount. Here we use a trigger which gives you the ability to specify when the user should see this promotion.
  • Allow Notifications: Encourages your user to opt-in for notifications
  • App Store Rating: Ask the user if they would like to review your app.

You can customize these templates with your own branding and set them to an active state in a few minutes.

1. Audience

Select the audience eligible to receive your message. You can include and exclude Segments of users.


IMPORTANT: Segments Include Unsubscribed Devices

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

2. Message

This is where you create how the message looks and functions when clicked. There is a lot that you can do! More details, examples, and how-to guides are provided in the In-App Messaging Channel Docs. For now, lets test the template.

Send to Test Device

You can test IAMs by clicking Send Test In-App. If your device is not a Test User, see Find Devices & Set Test Users.

Sending a test In-App Message will send your device a push notification. Clicking the notification will open your app and display the IAM.

  • Push Notifications are not sent when in production. Push is only sent when clicking Send Test In-App.
  • Testing In-App Messages requires Push Subscription. Push Subscription is not required in production.


IAM Test Limitations

Tag Substitution does not work for Test In-App Messages.

3. Triggers

Triggers tell the OneSignal SDK when to display the IAM on the device. Users must be in the segment upon the app session to be eligible to receive the message. A session occurs when the app has been put into the foreground after 30 seconds of being closed or put in the background.

Triggers can be set based on time in the app or programmatically through the OneSignal SDK. See the IAM Triggers Guide for more details.

4. Schedule

In-app messages can be scheduled to start and stop showing at some future date.

  • Start Showing is the date and time the message will begin to be presented to users.
  • 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

Once you publish the in-app message, it will be eligible for all users selected in the Audience step.
See the In-App Messaging Channel Docs for more guides and next steps.

Whatโ€™s Next