This article provides you information for setting up In-app campaigns for sending to user groups across multiple mobile platforms and devices.
As a quick reminder, here is the onboarding video about Mobile Engage In-App Messaging:
Enabling In-app
In-app needs to be enabled explicitly for each app. To do so, follow the steps below:
- Go to Channels > Mobile Engage > Apps.
- Edit the app by clicking on the Details icon (pencil) symbol on the right side.
- Click the Enable button under the In-app Messages section on the App Settings page.
In-app Messages tab
To navigate to In-app Messages, go to Channels >Mobile Engage > In-app Messages tab. On this tab you can see details of all your In-app messages listed with their Name, Recipient Source, Status, App name, In-app Type, campaign Priority, the date it was Created and last Changed. Filtering/searching features are available, the Show only active messages option will omit all messages that are finished or cancelled from the list.
Status
An In-app message can have one of the following statuses:
- In design - Some content or settings are still missing.
- Launched - In-app campaign has been launched and it is active.
- Paused - The In-app campaign is not displayed to contacts and you can edit its name, content and scheduling settings while the campaign is paused.
- Canceled - An already launched campaign has been called off.
- Finished - In-app campaign has finished and no longer active.
An already launched in-app message campaign cannot be canceled if it is used by an active Automation Center or Interactions program.
Launched in-app message campaigns can be edited. You can modify the content, scheduling settings and the frequency of updating audience from the segment of an active in-app message, unless the scheduled date was not in the past.
In-app Type
There are 2 possible In-app types, Overlay or In-line.
- Overlay - The In-app campaign is displayed over the entire screen and must be interacted with to navigate back to app screen.
-
Inline - The In-app campaign is displayed in a predefined section of the screen.
- On-Event Action - The In-app campaign is not displayed, but it triggers an application event instead.
Priority
The Priority defines the order of which the campaigns are displayed to contacts. When a contact is part of multiple campaign audiences, the result is the campaign with the highest priority is displayed. The highest priority setting is 1.
To adjust the priority setting of a campaign, click on Set Priority. Followed by selecting the campaign, then use the up/down icons to configure the priority level. Once the update is complete, click the Finish Prioritizing button to save the changes.
Creating a new In-app message
There are 3 options for creating an In-app message; Overlay Message, Inline Message and On-Event Action Message.

Content Creation
In-app personalization
This feature is currently on Pilot release for a limited number of clients only. If you are interested in participating in the Pilot phase, please speak to your Success Manager.
Integrated with the Personalization Service V2 API, In-app will adopt the personalization capabilities in a standard Emarsys manner. For example, you will be able to send voucher codes after a local trigger event such as a purchase event.
Button editor
Creating an Overlay Message
To get started, click Create In-app Message in the In-app Message tab, to open the message creation wizard and select Overlay Message. The main steps of creating a campaign are:

Scheduling step is only available if the recipient source is using a segment. Also by default, the new campaign receives the highest priority.
1. Message settings
Define the General settings of your brand new In-app message campaign.
General settings
- Message name – You can name (or later rename) your In-app message to identify the campaign on the In-app Messages tab.
- Mobile app – You can select the mobile application on which you want to display your message notification. You can send your message only to one application. Only apps already associated with your account are listed here.
Source Settings
The options for Recipient source settings are as follows:
- Broadcast - Send to all contacts on mobile devices.
- Audience - Send to contacts that are part of an automation program or you can select a pre-built segment, if you are using a segment for your recipient source.
- Push message - Activate the campaign then create a push message linking to it.
Updating audience from segment
Select the pre-configured segment-based audience from the drop-down list.
Optionally, you can check the Update audience from segment option to select the frequency when the segment is going to be updated by In-app.

In In-app, an audience is a subset of the target segment, because an SDK event (user action) must occur for the message to be sent. A segment only determines the eligibility for the message, but the audience determines whether the contact receives it.
One should use this checkbox to update an audience from a segment periodically according to audience's wish. For example, a Marketer wants to change the segment every 12 hours for a push campaign, but would rather leave the chance for different audiences to receive the In-app campaign from the original segment to improve the In-app campaign result.
Mobile Engage segmentation is included in the universal segmentation feature of Emarsys, available in the Contacts->Segments menu. For details, see Creating Mobile Engage segments.
Apply segment criteria for devices
Optionally, you can apply segment criteria for devices with various conditions.
Tick the Apply segment criteria for devices checkbox to enable device level filtering. By ticking this option, the Conditions drop-down list is appearing.
Conditions
In the Conditions drop-down list you can select a segment criteria for mobile devices. If you initially created the segment and you added device level criteria here you can select that segment. The earlier set device level condition will be taken into consideration when sending a push message.
If you want to specify a device level condition you can do so by creating Mobile Engage segments. Here you can only verify that device level conditions specified when created a segment and these conditions are really taken into account.
An example of device-level conditions is to target a specific OS platform. Therefore if the contact has 2 registered devices, e.g. iPhone and Android, the contact is only received the message on the targeted OS device. Device-level conditions are also useful as the contact list does not display device information like OS platform, OS version etc.

Click Save & Next to save your message for the first time when you are finished with your general settings.
2. Content creation
In the Content creation step you have 3 tabs and a Preview pane to use for defining the content of your In-app message campaign. The tabs (and the Preview pane) in the Content Editor are the following:
1. Template tab
In-app messages can be created based on predefined templates. The In-app Mobile Engage campaign templates come with a preset design that is easy for you to adapt to your brand and content.
The template options are full screen, modal or multistep templates. Select the most appropriate template by clicking on it.
Multistep messages
For multistep messages, it is possible to edit the ordering of the individual steps in the left pane. In the Preview pane on the right, use the drop down box at the top of the preview to switch between the steps when editing.

2. Preview pane
The Preview pane on the right shows how your message will appear. On this section you can directly modify the text, fonts, images and action buttons of the campaign.
Personalisation is not presently available for In-app messages.
Editing Text
To edit the text, click on the text box and perform the update. When doing so, the text formatting options appear to allow customisation.

Editing Image
To edit the image, click on the image and then the Edit image properties. When doing so, the image properties box appears to assign the image.
We recommend using a CDN or our MediaDB server for the fastest rendering. The given URL must use HTTPS.
If the template chosen allows changing the background image, the option is available on the Styles tab.
Emarsys is using the following ratios in our templates, but the templates are responsive, so you can check what they do to your images, just try it out in the preview, you don't have to stick to the exact ratios:
- Fullscreen template: The image is close to square ratio, the sample ones have a ratio of 339x329, 393x392
- Background images: The images are 466x826, this should fit the 16:10 screen ratio
- Modal images: 209x209, 506x337
- Supported image file types: JPEG, PNG, GIF
Please note that the Media DB has a limit of 1MB max size (bigger pictures can also slow down the download and rendering time, especially for devices with degraded network).
Editing Action Buttons
To edit the action button(s), click on the action button and perform the update. When doing so, the text formatting options appear to allow text customisation. In addition to text formatting, it is possible to configure the action performed when the button is pressed. The options are as follows:
- Application Event - To trigger an application event with a button click.
- Deep Link - To deep link to a particular area within the app.
- Custom Event - To fire a custom event for tracking, to be used in segmentation or to launch another campaign.
- Open External Link - To open a URL in the browser.
- Request Push Permission - To request push permission from the contact.
- Close - To close the In-app message.
- Close with click - To close the In-app message with the click of the button.
- Copy to clipboard - To copy any value or voucher code with the click of this button.
The Close with click option also registers the close event for reporting.
Copy to clipboard button
To effectively use this feature, make sure you are following these steps:
- This action is only available for Emarsys SDK version 3.3.0 on iOS and 3.4.0 on Android.
- Any Copy to clipboard button that will be sent by a sooner SDK version will not show any reaction to the end user.
- To use this feature for different SDK version users, use Device filtering in the Message Settings tab, that separates between an updated SDK device and a not updated one.

JSON Editor for custom events
In the Button Editor, you can select between the following button editing options:
- Button-based editing: Edit your new button by entering the "key" and the "value".
- JSON-based editing: You can paste a complete JSON snippet from your app developer into the field, if you feel more comfortable with writing a code.

3. Styles tab
In the Styles tab on the left, you can customise the settings, so the In-app messages appear native to the app.
The In-app style customisation options available include:
- Background image.
- Background opacity.
- Button background colour.
- Button border colour.
- Button border radius.
- Button border thickness.
- Close button background colour.
- Close button font colour.
- Close button position.

4. Languages tab
You can add and remove languages. Use the dynamic search field to find the requested language or select it from the drop-down list then click Add.
Add any new languages and write the message content in that language. Languages which are not shown here will receive the content in the app's default language.
You can delete languages as well, but a default language is mandatory.

If you add a language, but it has no content, those customers will also receive content in the app's default language.
Testing an In-app message
Click Test Messages button on the right.
In the appearing Send Test Message window, you can specify an email address to which a test message will be sent.
The test email address must be a valid address in your Emarsys database, associated with a known device.
Test message is not available for inline In-app message type.
Test messages cannot be sent to email addresses that exist multiple times in the contact database.
If sending of the test message fails, a red warning message appears on the screen. The reasons for this could be the following:
- No contact has been found in Emarsys database with the given email address.
- The email address has been found, but there is no device associated to it.
- More contacts have been found with the external Id: 3.

To test your message, click Save & Send.
3. Scheduling
In the Scheduling section, you can define the campaign trigger.
Can be triggered by a push message toggle button- When you enable this option, the in-app campaign can be targeted from a push campaign, which means it is available for Push-to-In-app action. Learn more.
You can set the frequency of displays and the desired outcome after a click. Also, you can define a specific date and time in the future.
In the event trigger section, if event trigger is selected, enter the event name and event attributes conditions that need to be matched in order to trigger the message.
Click Save and Launch once the schedule has been configured.
Canceling a scheduled launch
Click the Cancel scheduled launch button to call off an already launched campaign.
Canceling a launched campaign is irreversible and the campaign cannot be re-launched at all, later on.
A canceled campaign cannot be edited. First, you have to copy the campaign and make modifications on the copied version of it.
An already launched in-app message campaign cannot be canceled if it is used by an active Automation Center or Interactions program.
Creating an In-line Message
To get started, click Create In-app Message in the In-app Message tab, to open the message creation wizard and select Inline Message. The main steps of creating a campaign are:

Scheduling step is only available if the recipient source is using a segment. Also by default, the new campaign receives the highest priority.
1. Message settings
Define the General settings of your brand new In-app message campaign.
General settings
- Message name – You can name (or later rename) your In-app message to identify the campaign on the In-app Messages tab.
- Mobile app – You can select the mobile application on which you want to display your message notification. You can send your message only to one application. Only apps already associated with your account are listed here.
Source Settings
The options for Recipient source settings are as follows:
- Broadcast - Send to all contacts on mobile devices.
- Audience - Send to contacts that are part of an automation program or you can select a pre-built segment, if you are using a segment for your recipient source.
Update audience from segment
Select the pre-configured segment-based audience from the drop-down list.
Optionally, you can check the Update audience from segment option to select the frequency when the segment is going to be updated by In-app.

In In-app, an audience is a subset of the target segment, because an SDK event (user action) must occur for the message to be sent. A segment only determines the eligibility for the message, but the audience determines whether the contact received it.
One should use this checkbox to update an audience from a segment periodically according to audience's wish. For example, a Marketer wants to change the segment every 12 hours for a push campaign, but would rather leave the chance for different audiences to receive In-app campaign from the original segment to improve In-app campaign result.
Mobile Engage segmentation is included in the universal segmentation feature of Emarsys, available in the Contacts->Segments menu. For details, see Creating Mobile Engage segments.
Apply segment criteria for devices
Optionally, you can apply segment criteria for devices with various conditions.
Tick the Apply segment criteria for devices checkbox to enable device level filtering. By ticking this option, the Conditions drop-down list is appearing.
Conditions
In the Conditions drop-down list you can select a segment criteria for mobile devices. If you initially created the segment and you added device level criteria here you can select that segment. The earlier set device level condition will be taken into consideration when sending a push message.
If you want to specify a device level condition you can do so by creating Mobile Engage segments. Here you can only verify that device level conditions specified when created a segment and these conditions are really taken into account.
An example of device-level conditions is to target a specific OS platform. Therefore if the contact has 2 registered devices, e.g. iPhone and Android, the contact is only received the message on the targeted OS device. Device-level conditions are also useful as the contact list does not display device information like OS platform, OS version etc.

When you are finished with your general settings, click Save & Next to save your message for the first time.
2. Content creation
In the Content creation step you have 3 tabs + a Preview pane to use for defining the content of your In-app message campaign. The tabs (and the Preview pane) in the Content Editor are the following:
1. Template tab
In-app messages can be created based on predefined templates. The In-app Engage Mobile campaign templates come with a preset design that is easy for you to adapt to your brand and content.
Select the most appropriate template by clicking on it.

2. Preview pane
The Preview pane on the right shows how your message will appear. In this section you can directly modify the text, fonts, images and action buttons of the campaign.
Personalisation is not presently available for In-app messages.
Editing Text
To edit the text, click on the text box and perform the update. When doing so, the text formatting options appear to allow customization.

If the template chosen allows changing the background image, the option is available on the Styles tab.
Editing Action Buttons
To edit the link, click on the link and perform the update. When doing so, the text formatting options appear to allow text customisation. In addition to text formatting, it is possible to configure the action performed when the link is clicked. The options are as follows:
- Deep Link - To deep link to a particular area within the app.
- Custom Event - To fire a custom event for tracking, to be used in segmentation or to launch another campaign.
- Open External Link - To open a URL in the browser.
- Request Push Permission - To request push permission from the contact.
- Close - To close the In-app message.

3. Styles tab
In the Styles tab on the left, you can customise the settings, so the In-app messages appear native to the app.
The In-app style customisation options available include:
- Background opacity.
- Button background colour.
- Button border colour.
- Button border radius.
- Button border thickness.
- Close button background colour.
- Close button font colour.
- Close button position.
- Content alignment.
- Heading colour.
- Height of Template.
- Text colour.
4. Languages tab
You can add and remove languages. Use the dynamic search field to find the requested language or select it from the drop-down list then click Add.
Add any new languages and write the message content in that language. Languages which are not shown here will receive the content in the app's default language.
You can delete languages as well, but a default language is mandatory.
If you add a language but it has no content, those customers will also receive content in the app's default language.
Testing an In-app message
Click Test Messages button on the right.
In the appearing Send Test Message window, you can specify an email address to which a test message will be sent.
The test email address must be a valid address in your Emarsys database, associated with a known device.
Test message is not available for inline In-app message type
If sending of the test message fails, a red warning message appears on the screen. The reasons for this could be the following:
- No contact has been found in Emarsys database with the given email address.
- The email address has been found, but there is no device associated to it.
To test your message, click Save & Send.
3. Scheduling
In the Scheduling section, you can define the campaign trigger, and what is the desired outcome after a click. Also, you can define a specific date and time in the future.

In the View-Id section, enter the view-id that is the trigger for the campaign which needs to be matched with view-id implemented on the app.
Click Save and Launch once the schedule has been configured.
You can click the Cancel scheduled launch button to call off an already launched campaign. For more details, see Canceling a scheduled launch.
Creating an On-Event Action Message
To get started, click Create In-app Message in the In-app Message tab, to open the message creation wizard and select On-Event Action Message. The main steps of creating a campaign are:

Scheduling step is only available if the recipient source is using a segment. Also by default, the new campaign receives the highest priority.
1. Message settings
Define the General settings of your brand new In-app message campaign.
General settings
- Message name – You can name (or later rename) your In-app message to identify the campaign on the In-app Messages tab.
- Mobile app – You can select the mobile application on which you want to display your message notification. You can send your message only to one application. Only apps already associated with your account are listed here.
Source Settings
The options for Recipient source settings are as follows:
- Broadcast - Send to all contacts on mobile devices.
- Audience - Send to contacts that are part of an automation program or you can select a pre-built segment, if you are using a segment for your recipient source.
- Push message - Activate the campaign then create a push message linking to it.
Segment: Update audience from segment
Select the pre-configured segment-based audience from the drop-down list.
- Optionally, you can check the Update audience from segment option to select the frequency when the segment is going to be updated by In-app.

For segment update there are 5 additional options. It is possible to either choose the segment to be refreshed every 24 hours based on the segment definition or to update it more frequently even to go down to 1 hour refreshing.
Mobile Engage segmentation is included in the universal segmentation feature of Emarsys, available in the Contacts->Segments menu. For details, see Creating Mobile Engage segments.
Apply segment criteria for devices
Optionally, you can apply segment criteria for devices with various conditions.
Tick the Apply segment criteria for devices checkbox to enable device level filtering. By ticking this option, the Conditions drop-down list is appearing.
Conditions
In the Conditions drop-down list you can select a segment criteria for mobile devices. If you initially created the segment and you added device level criteria here you can select that segment. The earlier set device level condition will be taken into consideration when sending a push message.
If you want to specify a device level condition you can do so by creating Mobile Engage segments. Here you can only verify that device level conditions specified when created a segment and these conditions are really taken into account.
An example of device-level conditions is to target a specific OS platform. Therefore if the contact has 2 registered devices, e.g. iPhone and Android, the contact is only received the message on the targeted OS device. Device-level conditions are also useful as the contact list does not display device information like OS platform, OS version etc.

When you are finished with your general settings, click Save & Next to save your message for the first time.
2. Content creation
In the Content creation step is where to add the event that is to happen when the campaign is received.
Click on Add Action to create the first campaign event.
Choose the Event Type. The options are:
- Application Event- To trigger an app event using key and value pair.
- Custom Event- To fire a custom event, which could be used to trigger for a campaign or segmentation.
- External URL- To send the contact to an external URL in the browser.
- Deep Link- To fire a deep link using a deep link ID and URL.
For External URL or Deep Link, insert the URL. For Application and Custom Events, it is required to enter the following fields:
- ID - The ID of the button to be used for reporting purposes.
- Name - The Name of the button to be used for reporting purposes.
- Key and Value - The key and value of the action button to be used in the JSON payload.
Click Apply.
3. Scheduling
In the Scheduling section, you can define the campaign trigger.
Can be triggered by a push message toggle button - When you enable this option, the in-app campaign can be targeted from a push campaign, which means it is available for Push-to-In-app action. Learn more.
Set the frequency of the messages and you can define a specific date and time in the future.
In the event trigger section, if event trigger is selected, enter the event name and event attributes conditions that need to be matched in order to trigger the message.
Click Save and Launch once the schedule has been configured.
Click the Cancel scheduled launch button to call off an already launched campaign. For more details, see Canceling a scheduled launch.