In-App Messaging is a marketing tool to improve user engagement and retention rates. Combined with push notifications, in-app messages increase the overall audience you can connect with, up to 100% of your userbase. Depending on user behavior, in-app messages are deeply contextual and relevant to a user, which allows you to interact with your audience efficiently.
There are three milestones to create an effective In-App Messaging campaign:
Creative - create a Rich Media page to display it as an in-app message.
Audience - specify the group of users to receive the in-app message.
Scheduling - define a specific event triggering the in-app message.
Add an In-App creative by selecting one of the already-existing Rich Media pages or upload a new one.
Basically, in-app messages are HTML-based pages displayed in a custom web view of the app. An In-App creative should be compressed to a .zip file and comply with the rules below:
the .zip archive should contain an index.html file in its root folder;
all images, CSS, and JS files should be included in the .zip archive.
To use remote images in your in-app message for iOS, use https protocol or add Allow Arbitrary Loads to Info.plist.
If a Rich Media page is uploaded properly, you will see a preview of an in-app message as it should appear on a device.
If you upload a new .zip archive at that point, it will be saved as a Rich Media page in the corresponding tab in your Pushwoosh Control Panel.
To make sure Pushwoosh SDK has finished downloading in-app message in case the trigger Event occurs right after the app's launched, tick the "High-priority In-App" checkbox. The SDK will block app's UI for a few seconds the in-app message is downloading.
To define users who should receive the in-app message, set up conditions presented in two sections - Segment and Behavior.
To send the in-app message to a specific audience segment use Filters based on Pushwoosh Tags and Filters.
The example below will narrow the segment to the devices from the USA on which the last app opening took place in between 1 and 3 days ago.
NOT SET and ANYTag operators are now available for In-Apps segmentation. Using these operators, you can show the In-App Message to users with no Tag value or any Tag value on their devices.
To target users with a specific behavior, use Events based on actions users perform within the app.
The example below will target all users who performed the CartCleared Event at least 1 time during the last 7 days.
Determine when to show the in-app message to make sure it's relevant to your users.
Define the Event triggering the in-app message here. Choose an Event from the list and add attributes to set up the trigger rule.
Events are a tool indicating particular actions your users perform in the app. Events should be first configured in Pushwoosh Control Panel, describing a specific pattern in the app. Choose the Event you find the most appropriate to trigger the in-app message.
Capping allows you to limit the number and frequency of the In-App message impressions to a particular user.
Total impressions set the max number of times the In-App will be shown to the user. For example, if you set the limit to 3 here, the In-App will be shown to a user only 3 times in total.
The limit of impressions in X days sets the number of times the In-App will be shown to a user in a particular number of days. If you set 1 impression in one day, the In-App will be shown to a user not more often than once a day.
Interval between the impressions sets the number of days the In-App is not shown to a user who has seen it already. If you have the previous option activated (1 impression per day), this will add an additional interval. For example, setting a 1-day interval will make it shown once in two days.
Add a schedule to display the in-app message in a specified date range or finish the in-app campaign manually later.
Take a glance at your In-App settings and save the in-app message by clicking the 'Save' button.
You can return to any previous step to edit your in-app message settings or save a draft to complete it later.
Once an in-app message is shown to a user, this impression is captured and can be tracked from Pushwoosh Control Panel, allowing you to see the in-app statistics in dynamics. This metric is accessible as a counter of total impressions and as a graphics of distribution over a chosen period:
console.log('Post event success')
console.log('Post event failed: ', error)
You can also use sendTags method to set tags for the device from an in-app:
To get device tags, use the getTags method as follows:
console.log('failded to get tags: '+ error)
Or simply use custom scheme URL for the button/link <a href="pushwoosh://close">
When sending a push notification with Rich Media, you can get custom data of that push with the following code: pushwoosh.getCustomData()