DocumentationJourney Optimizer Home

Create an In-app message

Last update: July 14, 2025
  • Topics:
  • In App

CREATED FOR:

  • Beginner
  • User

You can add an In-app message in a campaign or in a journey. Follow the steps detailed below to create an In-app message in both contexts.

Note that In-app messages are not impacted by the user’s choice to opt-in or opt-out of push notifications at the operating system.

To add an In-app message in a journey, follow these steps:

  1. Open your journey, then drag and drop an In-app activity from the Actions section of the palette.

    When a profile reaches the end of their journey, any in-app messages displayed to them will automatically expire. For that reason, a Wait activity is automatically added after your In-app activity to ensure proper timing.

  2. Enter a Label and Description for your message.

  3. Choose your In-app configuration to use.

  4. You can now start designing your content with the Edit content button. Learn more

  5. Click Edit triggers to choose the event(s) and criteria that will trigger your message. Rule builders enable users to specify criteria and values that, when met, trigger a set of actions, such as sending an in-app message.

    1. Click the event drop-down to change your Trigger if needed.

      See available Triggers.
      PackageTriggerDefinition
      Send data to PlatformSent data to PlatformTriggered when the mobile app issues an edge experience event to send data to Adobe Experience Platform. Usually the API call sendEvent from the AEP Edge extension.
      Core trackingTrack actionTriggered when the legacy functionality offered in mobile code API trackAction is called.
      Core trackingTrack stateTriggered when the legacy functionality offered in mobile code API trackState is called.
      Core trackingCollect PIITriggered when the legacy functionality offered in mobile code API collectPII is called.
      Application lifecycleApplication launchTriggered at every run, including crashes and installs. Also triggered on a resume from the background when the lifecycle session timeout has been exceeded.
      Application lifecycleApplication installTriggered at the first run after installation or re-installation.
      Application lifecycleApplication updateTriggered at the first run after an upgrade or when the version number changes.
      Application lifecycleApplication closeTriggered when the application is closed.
      Application lifecycleApplication crashTriggered when the application is not backgrounded before being closed. The event is sent when the application is started after the crash. Adobe Mobile crash reporting does not implement a global uncaught exception handler.
      PlacesEnter POITriggered by the Places SDK when your customer enters the Point of Interest (POI) that you configured.
      PlacesExit POITriggered by the Places SDK when your customer exits the Point of Interest (POI) that you configured.
    2. Click Add condition if you want the trigger to consider multiple events or criteria.

    3. Choose the Or condition if you want to add more Triggers to further expand your rule.

    4. Choose the And condition if you want to add Traits and better fine-tune your rule.

      See available Traits.
      PackageTraitsDefinition
      Device infoCarrier nameTriggered when one of the Carrier name from the list is met.
      Device infoDevice nameTriggered when one of the Device name is met.
      Device infoLocaleTriggered when one of the language from the list is met.
      Device infoOS versionTriggered when one of the specified OS version is met.
      Device infoPrevious OS versionTriggered when one of the specified Previous OS version is met.
      Device infoRun modeTriggered if Run mode is either application or extension.
      Application lifecycleApp IDTriggered when the specified App ID is met.
      Application lifecycleDay of weekTriggered when the specified day of week is met.
      Application lifecycleDay since first useTriggered when the specified number of day since first use is met.
      Application lifecycleDay since last useTriggered when the specified number of day since last use is met.
      Application lifecycleDay since upgradeTriggered when the specified number of day since last upgrade is met.
      Application lifecycleInstall dateTriggered when the specified Install date is met.
      Application lifecycleLaunchesTriggered when the specified number of Launches is met.
      Application lifecycleTime of dayTriggered when the specified Time of day is met.
      PlacesCurrent POITriggered by the Places SDK when your customer enters the specified Point of Interest (POI).
      PlacesLast entered POITriggered by the Places SDK depending on your customer last entered Point of Interest (POI).
      PlacesLast exited POITriggered by the Places SDK depending on your customer last exited Point of Interest (POI).

    5. Click Make group to group triggers together.

    6. Choose the frequency of your trigger when your In-app message is active:

      • Show every time: Always show the message when the events selected in the Mobile app trigger drop-down occur.
      • Show once: Only show this message the first time the events selected in the Mobile app trigger drop-down occur.
      • Show until click through: Show this message when the events selected in the Mobile app trigger drop-down occur until an interact event is sent by the SDK with an action of “clicked”.
  6. If necessary, complete your journey flow by dragging and dropping additional actions or events. Learn more

  7. Once your In-app message is ready, finalize the configuration and publish your journey to activate it.

For more information on how to configure a journey, refer to this page.

NOTE
If you want to show an in-app message shortly after sending a push notification, use a Wait activity to allow the in-app message payload time to propagate. Typically a 5–15 minute wait is recommended, but exact times can vary depending on payload complexity and personalization needs.

To add an In-app message in a campaign, follow these steps:

  1. Access the Campaigns menu, then click Create campaign.

  2. Select the type of campaign that you want to execute

    • Scheduled - Marketing: execute the campaign immediately or on a specified date. Scheduled campaigns are aimed at sending marketing messages. They are configured and executed from the user interface.

    • API-triggered - Marketing/Transactional: execute the campaign using an API call. API-triggered campaigns are aimed at sending either marketing, or transactional messages, i.e. messages sent out following an action performed by an individual: password reset, cart purchase etc.

  3. From the Properties section, enter the Title and the Description description.

  4. To assign custom or core data usage labels to the In-app message, select Manage access. Learn more.

  5. Click the Select audience button to define the audience to target from the list of available Adobe Experience Platform audiences. Learn more.

  6. In the Identity namespace field, choose the namespace to use in order to identify the individuals from the selected audience. Learn more.

  7. In the Actions section, choose the In-app message and select or create a new configuration.

    Learn more about In-app configuration on this page.

  8. Click Create experiment to start configuring your content experiment and create treatments to measure their performance and identify the best option for your target audience. Learn more

  9. Click Edit triggers to choose the event(s) and criteria that will trigger your message. Rule builders enable users to specify criteria and values that, when met, trigger a set of actions, such as sending an in-app message.

    1. Click the event drop-down to change your Trigger if needed.

      See available Triggers.
      Package
      Trigger
      Definition
      Send data to Platform
      Sent data to Platform
      Triggered when the mobile app issues an edge experience event to send data to Adobe Experience Platform. Usually the API call sendEvent from the AEP Edge extension.
      Core tracking
      Track action
      Triggered when the legacy functionality offered in mobile code API trackAction is called.
      Core tracking
      Track state
      Triggered when the legacy functionality offered in mobile code API trackState is called.
      Core tracking
      Collect PII
      Triggered when the legacy functionality offered in mobile code API collectPII is called.
      Application lifecycle
      Application launch
      Triggered at every run, including crashes and installs. Also triggered on a resume from the background when the lifecycle session timeout has been exceeded.
      Application lifecycle
      Application install
      Triggered at the first run after installation or re-installation.
      Application lifecycle
      Application update
      Triggered at the first run after an upgrade or when the version number changes.
      Application lifecycle
      Application close
      Triggered when the application is closed.
      Application lifecycle
      Application crash
      Triggered when the application is not backgrounded before being closed. The event is sent when the application is started after the crash. Adobe Mobile crash reporting does not implement a global uncaught exception handler.
      Places
      Enter POI
      Triggered by the Places SDK when your customer enters the Point of Interest (POI) that you configured.
      Places
      Exit POI
      Triggered by the Places SDK when your customer exits the Point of Interest (POI) that you configured.
    2. Click Add condition if you want the trigger to consider multiple events or criteria.

    3. Choose the Or condition if you want to add more Triggers to further expand your rule.

    4. Choose the And condition if you want to add Traits and better fine-tune your rule.

      See available Traits.
      Package
      Traits
      Definition
      Device info
      Carrier name
      Triggered when one of the Carrier name from the list is met.
      Device info
      Device name
      Triggered when one of the Device name is met.
      Device info
      Locale
      Triggered when one of the language from the list is met.
      Device info
      OS version
      Triggered when one of the specified OS version is met.
      Device info
      Previous OS version
      Triggered when one of the specified Previous OS version is met.
      Device info
      Run mode
      Triggered if Run mode is either application or extension.
      Application lifecycle
      App ID
      Triggered when the specified App ID is met.
      Application lifecycle
      Day of week
      Triggered when the specified day of week is met.
      Application lifecycle
      Day since first use
      Triggered when the specified number of day since first use is met.
      Application lifecycle
      Day since last use
      Triggered when the specified number of day since last use is met.
      Application lifecycle
      Day since upgrade
      Triggered when the specified number of day since last upgrade is met.
      Application lifecycle
      Install date
      Triggered when the specified Install date is met.
      Application lifecycle
      Launches
      Triggered when the specified number of Launches is met.
      Application lifecycle
      Time of day
      Triggered when the specified Time of day is met.
      Places
      Current POI
      Triggered by the Places SDK when your customer enters the specified Point of Interest (POI).
      Places
      Last entered POI
      Triggered by the Places SDK depending on your customer last entered Point of Interest (POI).
      Places
      Last exited POI
      Triggered by the Places SDK depending on your customer last exited Point of Interest (POI).

    5. Click Make group to group triggers together.

  10. Choose the frequency of your trigger when your In-app message is active. The following options are available:

    • Everytime: Always show the message when the events selected in the Mobile app trigger drop-down occur.
    • Once: Only show this message the first time the events selected in the Mobile app trigger drop-down occur.
    • Until click through: Show this message when the events selected in the Mobile app trigger drop-down occur until an interact event is sent by the SDK with an action of “clicked”.
    • X number of times: Show this message X time.
  11. If needed, choose which Day of the week or Time of day the In-app message will be displayed.

  12. Campaigns are designed to be executed on a specific date or on a recurring frequency. Learn how to configure the Schedule of your campaign in this section.

  13. You can now start designing your content with the Edit content button. Learn more

How-to videos

  • The video below shows how to create, configure, and publish In-app messages in your campaigns.

    See video
    https://video.tv.adobe.com/v/3410430?quality=12&learn=on
  • The video below shows how to configure and analyze content experiments to A/B test In-app messages.

    See video
    https://video.tv.adobe.com/v/3419898/?learn=on&autoplay=true
  • The video below shows how to create an In-app message in a journey and how to test and publish your journey.

    See video
    https://video.tv.adobe.com/v/3423077/?learn=on&autoplay=true

Related topics:

  • Design In-app message
  • Test and send your In-app message
  • In-app report
  • In-app configuration
recommendation-more-help
91a6d90a-6d61-4a62-bbed-ae105e36a860