New Beta Feature: In-app Message Prioritization

Thanks for being a beta tester for one of our new features!

In-app message Prioritization allows you to limit the number of messages a user receives from a single trigger event, ensuring that the most important messages are the ones that get through to your users. When a user triggers an event that sends multiple different in-app messages, only the messages on the highest priority level will go through to your users.

Note on Interstitial messages: It is not currently possible to send multiple interstitial messages from the same delivery trigger, regardless of priority. (Web-interstitials and push pre-permissions also behave this way.) See examples below for more information. 

Using Priority

The Priority field is located adjacent to the Display When box on the in-app message set up page.

When a single trigger event is set to display multiple in-app messages, the SDK will evaluate all of the active in-app messages, and only the messages with highest priority level will be displayed.

Priority can be set from 1 (high) to 999 (low). If not specified (left as None), a default priority of 1000 will be assigned.

Priority is especially useful when you have a lot of messages with varying target audiences. If a user fits the target for many different messages that are triggered from the same event, you can control which messages are more important for that user to receive, and prevent sending that user too many messages at once.


For example, let's say we have the following in-app messages activated, all of which are set to display when “User starts or resumes app." Each has been assigned a priority of 1, 2, or 3.

  • Daily Deal (priority 2)

  • Reminder Message (priority 3)

  • Global Promotion (priority 2)

  • New User Tip (priority 1)

A user could meet the targeting requirements for none of the messages, all of the messages, or some of the messages. For our example, here are four possible scenarios an end user could fall into:

Scenario 1: The user is eligible for all four messages.

  • On app start or resume, the user will receive the messages at the highest priority level—in this case, just the New User Tip (priority 1).

Scenario 2: The user is eligible for the Reminder Message (priority 3), the Global Promotion and the Daily Deal (priority 2).

  • On app start or resume, the Global Promotion message and the Daily Deal message will both show (in no particular order). 

    Note: If both of the priority 2 messages were interstitials, only one of them would show. Multiple interstitials cannot be sent from the same trigger. When multiple interstitial messages are triggered by the same event, only one of those interstitials will make it through to your users.

    Interstitial example: Let's say we have three different interstitials and two alert messages—all of these messages have the same trigger event and same priority. When the user fires the trigger for these messages, they will receive the two alert messages, but only one of the three interstitials will send.

    If you have a particularly important interstitial or push pre-permissions message, it's best to give it a separate trigger event from other interstitials or set the other interstitials at a lower priority.

Scenario 3: The user is eligible for only one message—the Reminder Message.

  • On app start or resume, only the Reminder Message (priority 3) will show.

Scenario 4: The user is not eligible for any of the messages:

  • On app start or resume, no message will show. 

Note: Prioritization is not possible with delivery "Event triggers with parameter". The message associated with the first parameter listed in your app is the one that will fire for "Event triggers with parameter," regardless of priority.

How to integrate this feature

Reach out to your customer success manager to find out if you can be added to the whitelist for In-app Message Prioritization. This will reveal the Priority field in the Leanplum dashboard. To be considered, you will have to update to the newest SDK versions.

This feature is supported on Leanplum Android SDK 1.2.25 and higher and Leanplum iOS SDK 1.3.12 and higher. If the end user is still using a version of the app with an older SDK version, then the Priority field will be ignored. Meaning the user will get the same experience they had before this feature was released.

Please reach out to or directly to your customer success manager with any questions or for more info on how you could take advantage of this new functionality.


Was this article helpful?
Have more questions? Submit a request