To create an In-app campaign:
- Navigate to the MoEngage Dashboard.
- From the left navigation, use one of the following options:
- Click Engage > Campaigns. The All campaigns page is displayed. At the top right corner, click + Create campaign. The Create campaign page is displayed.
- Click Create New > Campaign. The Campaign page is displayed.
- Click Engage > Campaigns. The All campaigns page is displayed. At the top right corner, click + Create campaign. The Create campaign page is displayed.
- Under Inbound, click In-app. The In-app creation page is displayed.
Steps to Create an In-App Message Campaign
The following are the steps to create an In-app message campaign:
- Target users: Define the target audience for the campaign.
- Content: Define the content of the campaign to be sent.
- Schedule and goals: Define the campaign's delivery schedule and goals.
Step 1: Target Users
This section contains the following:
Campaign Details
The campaign details section contains the following fields:
|
Select Platform
In the Target platforms section, select the required platforms:
The available options are:
|
Trigger Criteria
This section describes the trigger criteria for the In-app campaign.
Show the In-app message on the first eligible screen post-launch. You can send the message immediately or after a delay using the Select trigger time option.
How It Works:
Initial Triggering: The pop-up will appear as soon as the app is opened on any screen where showInApp() is explicitly invoked. This ensures that the message is contextually relevant and only displayed on screens prepared to handle it.
Subsequent Displays: If showInApp() is not present on the initially opened screen, the pop-up will not display until the user navigates to a screen where showInApp() is called. This method must be implemented on any screen where you intend for pop-ups to appear.
Across the App: The "Show on App Activity" trigger is not restricted to the app's opening event. It will activate the pop-up on any screen where showInApp() is triggered during the app session.
Managing Repeated Messages: To prevent the pop-up from appearing too frequently, which can disrupt the user experience, it's advised to implement a delay between messages. This can be configured within your messaging settings to ensure users do not receive the same pop-up multiple times in a short period.
info |
Note
|
Send the In-app message when the user navigates to the specified screen. You can send the message immediately or after a delay using the Select trigger time option.
info |
Note
|
Display Settings
Under the Display settings section, you can select the screens for each platform where the In-App campaign needs to be displayed. Toggle between the Android and iOS icons to configure the screens.
-
Show only on screen
library_add_check Prerequisites
Ensure that you have integrated your app screens with MoEngage.
An application can contain multiple screens such as the login screen, home screen, product screen, checkout screen, and many more. You can select a particular screen from the Select screen name dropdown to display the In-app campaign on that screen.
-
For Android - MoEngage automatically fetches the selected screen from your app through the MoEngage SDK.
-
For iOS - You must enter the screen name where the In-App message needs to be shown.
-
-
Show only in App context
Context is a section or a part of a screen where you can display your messages. For example, a podcast screen can have two contexts, "For you" and "All episodes" context.
You can add the name of the context where you want to display the In-App campaign. For more information on context, refer to:
info |
Note You must add the showInApp() method to the screens that you add in the Display Settings. If you don't add this method to a screen, the In-App message will not be displayed on that screen. For more information on showInApp(), refer to Display InApp. |
Displays the In-app messages when the user performs the custom event. You can send the message immediately or after a delay using the Trigger the message option.
IF user
The IF user section allows you to select an event. If you select a single event in the IF condition, if a user performs this event, MoEngage will send the In-app campaign. However, you can add multiple events and attributes with the IF condition.
In the IF user section, do the following:
- From the Select an event drop-down, select the event.
- From In-app Android SDK version 7.1.0 and In-app iOS SDK version 4.12.0, you can now add multiple OR conditions within the events using the + Trigger button. For example, show In-app message to users who have clicked in-app on Android or iOS at least 1 time.
Note: Raise a support ticket or ask your CSM to get this feature enabled.
You can also refine the custom event. To do so:
- Click + Attributes to add attributes to the filter.
- From the Select attribute drop-down, select the respective attributes and the logical drop-downs for the selected attribute.
- To add more attributes, do the following
- Click + Attribute button.
- Click AND or OR.
- From the Select attribute drop-down, select the respective attributes and the logical drop-downs for the selected attribute.
For instance, if you select the event "User installs the app", you can add the attribute "App Version" to filter for users who installed a specific version of the app.
AND then
You can now have more customization with the And then feature. In addition to the + Trigger option, the + Filter button allows you to string multiple events together.
For instance, you can select the In-App Clicked Android event and then use the AND then option to add the Added to Cart event.
By doing this, the In-App campaign will be shown to users who have clicked an In-App campaign on their Android device at least once and then proceeded to add an item to their cart at least once.
You can also define the time to wait before the event in the Filter condition is evaluated. Setting this limit to 15 minutes implies that the user must perform the Filter event within 15 minutes of performing the first trigger event. In this example, the first event would be In-App Clicked Android.
Note: The maximum delay that you can set here is 24 hours, and the minimum delay is 1 minute.
If you click + Filter again, you can add another event to the trigger criteria. You get the option to choose AND or OR. Combine the two filter conditions by choosing AND, or use the OR to filter users if they perform any of the events within the time limit.
THEN
In the THEN section, under Trigger the message, select an option to define when to show the message. The available options are:
- Immediately: The message will be shown immediately after the trigger criteria has been identified.
- After Delay: The message will be shown after the defined delay.
Trigger criteria summary: It summarizes the trigger on the basis of the events and attributes that you select, making it easier for you to understand the trigger criteria.
info |
Note
|
Select Target Audience
This section contains segmentation filters that help you choose the target audience for your campaign. The following options are available:
This filter option allows you to send the campaign to all the app users. When you use this option, you cannot add multiple filters.
This filter option allows you to target the users based on user properties such as first seen, last seen, city, and so on. Click the User property tab and do the following:
- Select the desired attribute in the drop-down list. This enables the filters based on the attributes selected. For example, attributes that are numbers can have filter conditions such as 'is equal to', 'is not equal to', 'is between', and so on, while string attributes have different filters.
- Enter the filter value(s) to create the desired user segment.
- Click + Nested Filter to add a filter to create nested AND or OR conditions. (This is optional)
For more information, refer to Create Segments.
This filter option allows you to target the users based on the behavior of the user or event, such as app/site opened, viewed product, and so on. Click User Behavior and do the following:
- Select the execution condition and the desired user activity (event).
- Enter the event frequency and time duration for the event execution.
- Click + Attributes and add an event attribute with a filter condition.
- Enter the filter value(s) to create a rule.
-
Use the + Aggregation button to add the aggregation functionality. For more information, refer to Aggregation Operations.
-
Click + Nested Filter to add a filter to create nested AND or OR conditions. (This is optional)
For more information, refer to Create Segments.
This filter option allows you to target groups of users created based on the user performing an action with a specific attribute value. For more information, refer to User Affinity. Click User Affinity and do the following:
- Select the desired user event or attribute.
- Select the user affinity parameter from the following:
- Predominantly: Select affinity attribute with a filter condition and provide the affinity values.
- For a minimum of: Select affinity attribute with a filter condition and provide the affinity values.
- Most no. of times: Enter a value or use the arrows to provide the top percentage of users.
- Least no. of times: Enter a value or use the arrows to provide the bottom percentage of users.
- Enter or use the arrows to provide the time duration for the event execution.
- Click + Attribute to add more attributes to the filter.
- Click + Nested Filter to add a filter to create nested AND or OR conditions. (This is optional)
For more information, refer to Create Segments.
This filter option allows you to select a custom segment as the target audience.
- Select a custom segment as the target audience from the list of custom segments available.
- Click + Nested Filter to add a filter to create nested AND or OR conditions. (This is optional)
For more information, refer to Custom Segments.
After selecting the filter criteria, you can do the following as well:
-
Create Multiple Filters: You can create and combine multiple user property rules, user activity rules, and custom segment rules to create a complex user segment using this option.
- Click + Filter.
- Click AND or OR.
- Select the attribute or event and define the filter conditions.
- Exclude Users: Select this checkbox to define the filter criteria for users to be excluded from the campaign.
- Reset filters: Click this option to reset the segmentation filters.
- Show count: Click this button to display the total number of users who are currently in the configured segment.
Control Group
This section contains information about control groups for the campaign. Control Groups are enabled only for promotional campaigns. They are not applicable for transactional campaigns. You can enable the control groups to which you want to send the promotional campaign.
In the Control group section:
For more information, refer to Control Group. |
Click Next or use the tabs at the top of the create campaign navigation to move to Step 2 "Content".
Step 2: Content
The following options are available to add content:
Prebuilt and Saved Templates
This option allows you to choose a template from the following options: All, Pre-built, Saved templates, and API templates. The All option is chosen by default.
You can do the following in this section:
- Search templates: You can search for a template by specifying its name in the Search templates search bar.
- Filter templates: You can filter the templates using the following options:
-
- Filter By Type: You can filter the templates based on the type of pre-built templates (Nudges, Carousel, Pop-up, and so on).
- Filter By Use Case: You can filter the templates based on their use (Promotional, Feedback, Survey, and so on).
- Filter By Content: You can filter based on the template's content (templates that contain only text, templates that contain buttons, and so on).
- Filter By Editor: You filter based on the editor that supports the template (Native, HTML, or Self Handled).
Pre-built Templates
Field | Description |
---|---|
Text | Displays templates with text. |
With Image | Displays templates with images. |
Without Image | Displays templates without images. |
Single Button | Displays templates with a single button. |
Multiple Button | Displays templates with multiple buttons. |
Full Screen | Displays templates that enable full screen. |
Pop up | Displays templates that have pop-up windows. |
Embedded | Displays templates with embedded links. |
Rating | Displays templates with rating options. |
Nudge | Display nudge templates in a non-intrusive manner. |
Start from Scratch
This option allows you to choose from the following options:
- Self Handled: For more information, refer to Self Handled In-App Template.
- Zip upload: For more information, refer to Zip Upload Templates.
- Custom HTML upload: For more information, refer to HTML In-App Templates.
Add Content to the Template
Perform the following steps to add content to the selected template and template type.
Common Actions
- Turn the Mirror platforms toggle on to use the same template and configure the message together for the selected platforms.
- Click + A/B test to create a variation. You can create a maximum of five variations.
For more information, refer to A/B Testing Overview. - Click + Locales to add a locate. You can add a maximum of 10 locales for a single campaign.
For more information, refer to Using Locales. - Click the icon to:
- Save Template
- Change Template
- Reset Template
Click to modify the content:
Template settings
Field | Description and action |
---|---|
Background color | Select the Background color option and define the background color of the message. |
Phone background color | Select and define the background color of the phone or device. |
Image |
Do one of the following:
Note:
|
Animation |
Entry and exit animations for the entire In-App message. Select from one of the following animations:
|
Close Button |
|
Border |
Select the following:
|
Text
Field | Description and action | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Heading | Type or paste the heading in the text box. | ||||||||||||||||||||||||||
Font size | Type or use the up and down to select the size of the font used in the text. | ||||||||||||||||||||||||||
Font color | Type the hexadecimal code or select the color of the font used in the text. | ||||||||||||||||||||||||||
Custom font | Select the custom font and type the name of the font used in the text. | ||||||||||||||||||||||||||
Background color | Select and define the background color of the message. | ||||||||||||||||||||||||||
Action |
Select from the drop-down one of the following:
|
||||||||||||||||||||||||||
Width, Margin, and Padding | |||||||||||||||||||||||||||
Width |
Use the slider or type the value to define the width of the text box in percentage. |
||||||||||||||||||||||||||
Margin |
Select Together and use the slider or type the value to define all the margins of the text box in pixel. OR Select Separate and use the slider or type the value to define the top, bottom, right and left margins of the text box in pixel. |
||||||||||||||||||||||||||
Padding |
Select Together and use the slider or type the value to define all the padding for the text box in pixel. OR Select Separate and use the slider or type the value to define the top, bottom, right and left padding of the text box in pixel. |
||||||||||||||||||||||||||
Border |
Select the following:
|
Image
Do one of the following:
Field | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Image URL |
Select the Image URL option and enter or paste the URL of the image. |
||||||||||||||||||||||||||
Upload image |
Select the Upload image option and drag and drop the image or click the upload from the computer to upload the stored image. Note:
|
||||||||||||||||||||||||||
Action |
Select from the drop-down one of the following:
|
Buttons
Field | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Button text | Type or paste the text used in the button. | ||||||||||||||||||||||||||||||
Font size | Type or use the up and down to select the size of the font used in the button. | ||||||||||||||||||||||||||||||
Font color | Type the hexadecimal code or select the color of the font used in the button. | ||||||||||||||||||||||||||||||
Custom font | Select a custom font and type the name of the font used in the button. | ||||||||||||||||||||||||||||||
Background color | Select and define the background color of the button. | ||||||||||||||||||||||||||||||
Action |
Select from the drop-down one of the following:
|
||||||||||||||||||||||||||||||
Width, Margin, and Padding | |||||||||||||||||||||||||||||||
Width |
Use the slider or type the value to define the width of the text box in percentage. |
||||||||||||||||||||||||||||||
Margin |
Select Together and use the slider or type the value to define all the margins of the text box in pixel. OR Select Separate and use the slider or type the value to define the top, bottom, right and left margins of the text box in pixel. |
||||||||||||||||||||||||||||||
Padding |
Select Together and use the slider or type the value to define all the padding for the text box in pixel. OR Select Separate and use the slider or type the value to define the top, bottom, right and left padding of the text box in pixel. |
||||||||||||||||||||||||||||||
Border |
Select the following:
|
Personalize Content
You can personalize the content of the In-app campaign. Use @ to personalize the content or image.
You can personalize the content using User Attributes, User Events, Product Sets, Content APIs and Content Blocks.
For more information, refer to:
- MoEngage Templating Language (JINJA)
- Derived Events & Attributes
- Product Sets
- Content APIs
- Content Block
- Auxiliary Data
Do the following:
- In step 2 of campaign creation, click on the text box or the image property URL.
- Type @ to personalize the content.
- Click either Data personalization or Content Block.
- Click the Data personalization tab and from the drop-down, select one of the following
- User Attributes
-
Select one of the following as for alternate (Fallback) to the personalization:
- No Fallback
Choose the option for personalized content. The option results in no alternates when the personalization does not work. - Do not send In-App
Choose the option where if the personalization does not work, In-App messages are not sent. - Replace Text
Type or paste the text used when the personalization does not work.
- No Fallback
- Product Sets
- Content API: Modify the values of the parameters of the Content API.
- Click the Content Block
- Select the content block to be inserted.
- Click Insert only the content of the content block.
- Click Done.
Test campaigns enable previewing the campaign on a test device to ensure that your notification is conveyed in the manner that you desire.
You can test the campaign you created by selecting any of the following options and providing the value for the attribute chosen for your test user:
- Unique ID
- Email ID
- Mobile Number (Registered With MoEngage)
- Google Advertising Identifier
- iOS Identifier For Advertising
- Device Push Token
- Custom Segment
For more information about testing campaigns, refer to Testing In-App Campaign.
Step 3: Schedule and Goals
This section contains the following:
- Delivery Schedule: Choose when the campaign should be delivered to your users and the periodicity of delivery.
- Conversion goals: Choose the conversion goals and revenue metrics to be tracked for the campaign.
- Delivery controls: Choose the advanced delivery control options such as throttling, frequency capping, and expiration settings for the notification.
Delivery Scheduling
The following delivery schedule options are available for In-App Campaigns:
Choose this option to send the campaign immediately or at a specified time to the target users.
Field | Action |
---|---|
As soon as possible |
Sends the campaign immediately to the target users. You can select:
|
At specific date and time |
Send the campaign at the specified time, time zone, or predicted time. This section helps you send the campaign on a specific date and time and contains the following fields:
|
- Campaign time zone: the timezone in which the campaign should be sent.
- Start date: the date on which the campaign should be sent.
-
Periodic: the periodicity of the campaign. You can choose from the following options available on the left of the screen:
Periodicity Description Daily Repeat every: This option allows you to specify the number of days after which the campaign should be repeated. Weekly Repeat every: This option allows you to specify the number of weeks for which the campaign should be repeated.
Repeat on: This option allows you to specify the day(s) of the week on which the campaign should be sent (For example, if you wish to send the campaign every Monday, Wednesday, and Friday, select these days in this option).
Monthly Repeat every: This option allows you to specify the number of months for which the campaign should be repeated.
Repeat on: This option allows you to do the following:
- Days of month: Choose this option for repeating campaigns that are date-specific. Select the date(s) of the month the campaign should be sent (For example, to send the campaign on the 5th and the 25th of a month, select the 5th and 25th in the calendar widget.).
Note: If the selected date(s) does not exist in the month specified (as it is a shorter month), a campaign will be sent on the last date. (For example, if the 30th and 31st are selected and the month is February, one campaign would be sent on the 28th). - Days of week: Choose this option to specify the day(s) of the week on which the campaign should be sent (For example, if you wish to send the campaign every Monday, Wednesday, and Friday, select these days in this option).
Note: In case of a day of the week not existing in a month (for example, fifth Saturday), the campaign would be skipped for that instance. And in case of overlap (for example, 4th Monday and last Monday), only one instance would be sent.
- Days of month: Choose this option for repeating campaigns that are date-specific. Select the date(s) of the month the campaign should be sent (For example, to send the campaign on the 5th and the 25th of a month, select the 5th and 25th in the calendar widget.).
-
Ends: the date on which the campaign should end. The following options are available:
-
- Never: the campaign runs daily.
- On: the campaign ends on the end date specified in the End date and End time fields.
-
-
Campaign active window: the time duration for which the campaign will be active for the set periodicity. For example, if the campaign were to be shown to the user daily, the campaign active window setting determines the time interval during the day the campaign will be active. If this interval were set between 6 PM and 8 PM for a campaign with daily periodicity, the campaign will be shown every day to users from 6 - 8 PM. If the campaign were active twice a week, the campaign active window setting determines the time duration when the campaign will be shown to the user during the days on which the campaign would be active. The following fields are available to set the campaign active window:
-
- Start time: the time at which the campaign will be triggered for the user.
- End time: the time duration post which the campaign will not be shown to the user irrespective of whether the campaign is set to be active on the specified day.
-
Conversion Goals
You can add conversion goals to track the business metrics for your campaigns. You can track a maximum of five conversion goals. You can choose any app event as a conversion goal activity and set more than one conversion goal. The first goal will be treated as a primary goal.
For example, if you want to track the number of customers who have purchased an iPhone after your campaign was sent. (Event: Purchase event, Product: iPhone). Your conversion goal setup might be similar to the following image:
With multiple conversion goals, you can track more than one business metric or visualize a funnel for your user actions. For example, if you want to check the following, you can do so with multiple conversion goals.
- How many users have viewed the product page?
- How many of them added that product to the cart?
- How many of them made a successful order?
With MoEngage, you can track the revenue generated by your campaigns. For example, you can track the revenue generated by your product after sending a communication. To track revenue performance, enable the Revenue performance toggle for the conversion goal for which you want to track the revenue. In the example here, to track revenue for orderSuccessful events, you must enable the Revenue performance toggle. |
After choosing the goal, you can select the numeric attribute that captures the order's total monetary value. In this example, cartValue contains the total order value. You can choose the currency in which your monetary value is being reported. |
Set Attribution window: You can set an attribution window (a time period or window that is calculated since the user has received/clicked the campaign, for which you want to attribute the conversion goals to a specific campaign.) By default, it is set for 36 hours while the maximum attribution window can be set up to 10 days. In the example below, the attribution window is set to 5 hours. |
Campaign Priority
Set a priority for your In-App campaign as Critical, High, Medium, Normal, and Low
Delivery Controls
You can select the following options for your In-App Campaign:
-
Limit the maximum number of times a user can see messages from this campaign to: The frequency of a campaign can be controlled by entering the number of times to show the message.
Note: Frequency capping will work on the device level and not the user level. This means if your user has been logged on to two devices at once, they will receive the campaign on both devices even if the frequency setting has been set to 1. - Add a minimum delay between two messages of this campaign: Add a minimum delay between two messages to control the frequency and timing of showing in-app to the user. This setting is disabled for Nudge Templates.
- Ignore global minimum delay: You can choose to enable or disable the global minimum delay settings for this particular campaign.
-
Auto Dismiss message after: This option dismisses the In-App message after the specified duration. Select the time in seconds. After the specified time, In-App message will be dismissed even though the user does not perform any action on it.
If you have more than one In-App campaign created, you can also stagger them by setting a minimum delay between two messages from different campaigns. To do that, go to Settings > In App NATIV.
Note: This minimum delay will apply to messages from different campaigns and the same campaign.
Here you can set the minimum delay between two In-App messages from different campaigns. The delay is in minutes. With this setting, if your user sees a Message from Campaign 1 at time T and if another message is sent at the time before T+15, it is not displayed.
Your campaign is now ready to be sent. Click Publish and provide confirmation in the dialog box that opens up to create the campaign. After the campaign is created successfully, the Campaign Info page will be displayed.
info |
Note In-app campaigns support the Campaign Approval WorkFlow (CAF). If CAF is enabled, the campaign must be reviewed and approved for publishing. For more information, refer to CAF. To enable CAF, please contact your Customer Success Manager. |