Skip to content

Sending in-apps

Pushwoosh offers two ways to send in-app messages, depending on when and how you want them to appear:

  • Instant in-apps

This option allows you to display a message immediately when a specific event occurs within the app. It ensures that the message reaches the user while they are actively using the app.

  • In-app element in Customer Journey

This option schedules an in-app message to be delivered the next time the user opens the app. It allows you to automate messaging and combine in-app messages with push notifications, emails, SMS, and WhatsApp for a seamless multi-channel experience.

Send instant in-apps

Instant in-apps provide the ability to deliver messages to users the moment a specified action happens inside the app, maximizing the chance they will be seen.

To send in-app messages through in-app campaigns:

  1. Navigate to Campaigns in the Pushwoosh Control Panel.
  2. Select Instant in-apps.
  3. Click Create in-app to set up a new campaign.

Define creative content

Enter a name and description

Provide a name for internal use and optionally add a description for better organization.

Add an in-app creative

Select a Rich Media page from the list of existing templates or create a new one in advance.

Ways to create an in-app template

You can:

Enable high-priority in-app (optional)

High-priority in-app messages ensure that the message is downloaded and ready to be displayed immediately after an event is triggered, even if it happens right after the app launches.

When enabled, the Pushwoosh SDK will temporarily block the app’s UI for a few seconds while the message is being downloaded. This guarantees that the in-app message is available and does not get delayed due to network conditions or app startup processes.

How do high-priority in-apps differ from ordinary in-app messages?

Enabling the High-Priority In-App option ensures that the message is displayed instantly, overriding other in-app messages or queued notifications. Unlike regular in-app messages, which follow a sequential display order and may be delayed if another message is active, high-priority messages bypass these restrictions and appear as soon as they are triggered.

This feature is particularly useful for urgent announcements, security alerts, or time-sensitive promotions that require immediate user attention.

Preview the message

On the right side of the screen, you’ll see a mobile preview of the selected Rich media template. This helps you visualize how the message will appear to users.

Click Next to proceed to Audience settings.

Define audience

To define users who should receive the in-app message, set up conditions in the Segment and Behavior sections.

Define audience segment

Choose one of the following options:

  • No filters: Send the in-app message to all users.
  • Use filters to target a specific audience segment. To apply filters, either choose an existing segment from the dropdown list or create a new segment based on user data and preferences.

To refine your audience further, click + ADD CONDITION to add more criteria.

Define user behavior

Refine your audience further by targeting users based on their actions.

  • No specific behavior. Send the in-app message to all users in the chosen segment.

  • Target users with specific behavior. Define an action-based condition for message delivery.

Set conditions based on user activity:

  • Action type: Choose whether the user has “performed” or “not performed” an action.
  • Event: Select an event that users must have completed (e.g., app launch, purchase, subscription).
  • Frequency: Specify how many times the event must have occurred.
  • Timeframe: Define the period (e.g., last 7 days, exactly 3 days ago).

To add multiple behavioral conditions, click + Add Attribute.

Schedule the in-app message

Set an event trigger

Define when your in-app message will appear by setting an event trigger.

  1. Select an event from the list that will trigger the message.
  2. Add attributes to refine when the message should be displayed.
  3. Verify that the event is properly set up in the Pushwoosh Control Panel before using it.

For example, the in-app message is triggered when a user performs the “ProductAdd” event. This means that whenever a user adds a product to their cart, the in-app message will be displayed.

To further refine when the message appears, you can click + Add Attribute to specify additional conditions.

Configure message capping

Capping settings control how often an in-app message appears to users.

  • Show the in-app message every time the specified conditions are met
  • Limit the frequency of displaying this in-app message to a particular user
Capping options
Total impressionsSets the maximum number of times the in-app message can be displayed to a user.If set to 3, the message will be shown only three times to each user, regardless of time. If a user triggers the event five times, they will still only see the message three times.
Limit impressions in X daysDefines how many times a user can see the message within a specific period.Setting 1 impression per day ensures the message appears no more than once daily. If a user triggers the event multiple times in a day, they will still receive only one in-app message.
Interval between impressionsSets a minimum number of days between repeated impressions.If you allow 1 impression per day and set an interval of 1 day, the message will appear once every two days. If a user sees the message today, they won’t see it again until the day after tomorrow, even if they trigger the event again tomorrow.
How global frequency capping and in-app message capping are interrelated

Global frequency capping ensures that users are not overloaded with too many messages across different campaigns, even if individual messages have their own separate capping settings.

For example, if an in-app message is set to appear 5 times in 3 days, and the global frequency capping for in-app messages is also 5 times in 3 days, but the user has already seen 3 other in-app messages, this specific message will be shown only 2 more times before reaching the global limit. Learn more about Global Frequency capping

Define the display period

Set the timeframe for when the in-app message will be active.

  • Start now and finish manually: The in-app message will run continuously until you manually stop it.
  • Set start and finish dates: Specify a fixed time range for the message to be displayed.

Example: If the start date is March 13, 2025, and the end date is March 20, 2025, the in-app message will only be shown during this period.

Confirm and save your in-app message

Before launching the campaign, review your in-app message settings.

  • Check the creative details, including the message name, description, priority, and Rich Media content.
  • Verify the audience settings, ensuring the correct segment, behavior, and attributes are applied.
  • Review the schedule, confirming the trigger event, start and end dates, and any frequency capping.

To make changes, click Edit in the relevant section.

Once you have reviewed all details:

  • Click Save to finalize and activate the in-app message.
  • Click Save draft to store progress without launching the message.
  • Click Cancel to discard changes and exit.

Example scenario: Sending an in-app message using in-app campaigns

Imagine you’re a fashion retail app aiming to boost conversions by offering a limited-time discount when users add items to their cart. You set up an in-app campaign targeting users in the U.S. with English as their preferred language who add products worth at least $50.

Prepare the in-app message

Create an in-app template using the built-in editor.

Encourage users to act quickly with a clear and engaging message:

“Complete your purchase in the next 10 minutes and get 10% off!”

Make sure to add a CTA button leading to checkout.

Define the audience
  1. Select Use filters and choose Create filter to target a specific audience.
  2. Click Add Condition and set Country to United States of America.
  3. Click Add Condition again and set Language to English.
  4. Under Behavior, select No specific behavior to send the message to all users in the chosen segment.
Schedule the message
  1. Choose the “ProductAdd” event as the trigger, so the message appears as soon as a user adds an item to their cart.
  2. Click + Add Attribute and set: Price greater than or equal to $50 to target users adding high-value products.
  3. Next, configure message capping. Limit impressions to 2 times per user within 3 days to avoid overwhelming users and set an interval of 1 day between impressions.
  4. Define the display period and set the campaign to run from March 13, 2025, to March 20, 2025 to align with the promotional period.
Confirm and launch the campaign
  1. Review the settings, audience, schedule, and capping.
  2. Click Save to activate the in-app message.

Send in-apps via Customer Journey

Go to Pushwoosh Customer Journey Builder → Create Campaign.

Here, you are able to set up a target audience and add custom scheduling settings.

As a basic example, let’s build a one-off in-app message Journey. This flow shows you how to send an in-app to a user segment of your choice.

Drag and drop the following elements onto your canvas: Entry, In-App, and Exit. Connect the elements:

Audience segmentation

Configuring an Entry segment is a mandatory step in your Journey. Without it, your in-app can’t be delivered to user devices.

Trigger-based Entry—show your in-app when a user performs a specific action, for example, lands on a pricing screen. Pushwoosh offers you a variety of default triggers and events to kick-start. Or you can create your own.

In our example, we want to show an in-app with a discount to only iOS users:

Audience-based Entry launches a journey for a pre-built segment of a particular app’s users. For example, if you want to send your in-app message to your entire user base.

You can create a new segment based on tags or/and events. Pushwoosh offers a variety of pre-built (default) segments you can use for free. Learn how to create user segments here >

Read more about Entries >

Scheduling

By default, when using the Audience-based Entry, users from the segment will only enter the journey once—at the time it’s activated. However, you can choose to schedule the journey launch instead. Scheduled Launch lets you automate your campaigns by setting specific times, dates, and intervals for the journey to begin. Learn more about setting up Scheduled Launch.

Content building

Add your template to your user Journey by clicking the In-App → Media Source. The newest template will be shown first. Choose a template and click Apply.

You can optionally choose ​​In-app expiration to define the number of days the in-app message will be available to users. For example, if your offer expires in 7 days, choose In-app expiration 7 days so that users won’t see the offer after it has expired.

And that’s it. Click Launch campaign in the right upper corner to send your in-app message to users.