Create In-App Campaign

To create an In-App campaign:

  1. Navigate to the MoEngage Dashboard.
  2. From the left navigation, use one of the following options:
    • Click Engage > Campaigns. The All Campaigns page displays. At the top right, click + Create Campaign. The Create Campaign page appears.
      1.png
    • Click Create New > Campaign. The Campaign page appears.
      2.png
  3. Under Inbound, click In-App. The In-App campaign creation page appears.
    2025-05-13_15-17-14.png

Create an In-App Message Campaign

To create an In-App message campaign, follow these steps:

  1. Target users: Define the audience for your campaign.
  2. Content: Design the message content.
  3. Schedule and goals: Set the delivery schedule and track campaign performance.

Step 1: Target Users

Campaign Details

The Campaign Details section includes:

details.png

  • Campaign name: Enter a name to easily identify and manage your campaign. The campaign name must be between 5 and 256 characters.
  • Campaign tags: Select up to five tags from the drop-down list. Tags help you organize and filter campaigns. For more information, refer to Campaign Tags.

Select Platform

In the Target platforms section, select the required platforms where your In-App message should display.

platforms.png

Trigger Criteria

This section defines when the In-App message triggers for users.

On session start On screen load On custom event

Select On session start to display the In-App message as soon as a user's app session begins. An app session starts when the user first interacts with the app. The session ends if the user logs out, enters from another traffic source, or is inactive for longer than the defined inactivity period (default is 30 minutes).

Screenshot 2025-03-03 at 4.07.40 PM.png

Under Select trigger time, select Immediately to send the message as soon as the campaign is published, or select After Delay to send the message after a specified time.

info

Note

  • Make sure to add a delay so the In-App message does not appear on the splash screen.
  • With the After Delay option, you can set a maximum delay of one day (86400 seconds) and a minimum delay of one second.
  • The After Delay option is available in the following SDKs:
    • Android SDK version 6.9.0 or later
    • iOS SDK 4.11.1 or later
    • React Native SDK 8.6.0 or later
    • Cordova SDK 8.4.0 or later
    • Capacitor SDK 3.1.0 or later
  • This trigger condition is available in the following SDKs:
    • Android SDK version 9.0.0 or later
    • iOS SDK version 6.06.0 or later
  • This trigger condition is presently available only for native Android and iOS. It is not supported for hybrid.

Select Target Audience

This section includes segmentation filters to help you select the target audience for your campaign.

All Users Filter by User Property Filter by User Behavior Filter by User Affinity Filter by Custom Segment

Select this filter option to send the campaign to all app users. When you use this option, you cannot add multiple filters.

6.png

After selecting the filter criteria, you can also perform the following actions:

  • Create Multiple Filters: Create and combine multiple user property, user activity, and custom segment rules to build complex user segments.
    1. Click + Filter.
    2. Click AND or OR.
    3. Select the attribute or event and define the filter conditions.
  • Exclude Users: Select this check box to define filter criteria for users to exclude from the campaign.
  • Reset filters: Click this option to clear all segmentation filters.
  • Show count: Click this button to display the total number of users currently in the configured segment.

filters connector campaign.png

Campaign Audience Limit

This feature helps you control campaign reach and expenditure by limiting the number of users who receive it based on engagement metrics like sends, impressions, and conversions. You can set total, daily, or instance-level limits for campaigns. For more information, refer to Campaign Audience Limit.

image (2).png

In-session Attributes

In-session attributes enable you to group and target users based on their actions within the current app session. For example, use in-session attributes to display onboarding flows exclusively to new users visiting your app for the first time. This method ensures that these users receive a customized experience immediately during their initial session.

To add an in-session attribute:

  1. Click the + In-session attributes button and select the required attribute from the list.
    Screenshot 2025-01-21 at 2.47.47 PM.png
  2. Use And/Or to combine multiple in-session attributes.

    Screenshot 2025-01-21 at 2.46.44 PM.png
  3. Select the Exclude Users check box to exclude users based on their in-session activity.

You can use the following in-session attributes with your In-App campaign:

  • Query Parameter: This attribute segments users based on query parameters in the Uniform Resource Locator (URL). Typically, users land on your personalized URL by clicking an advertisement on any social media platform.
    • You can use UTM parameters to segment users based on their source or the campaign that led them to the URL.
    • UTM parameters like utm_source identify campaigns driving users to websites. You can use UTM and custom parameters to segment users and personalize their experience.
  • User Type: This attribute segments users based on whether they are new or returning. The SDK stores user details (unique_id) for each user in the app storage. A user is considered a Returning User if the associated user details exist in the SDK data storage. Otherwise, the user is considered New. If the user clears the app cache, they are considered new.
    • Note: If two users (User 1 and User 2) use the same device and User 2 logs in after User 1, User 2 is considered a returning user.
  • Day of the Week: This attribute segments users based on the day of the week they visit your app.
  • Time of the Day: This attribute segments users based on the hour of the day they visit your app. You can choose from any of the one-hour slots available in the list.
  • GeoLocation: This attribute segments users based on their geolocation when they visit your app. You can choose the country, state/region, and city where the user is located or exclude a specific country.

Control Group

This section provides information about control groups for the campaign. Control Groups are enabled only for promotional campaigns. They are not applicable for transactional campaigns. Enable control groups to which you want to send the promotional campaign.

In the Control group section:

  • Turn the Global control group toggle on to not send the campaign to all users in the control group.
  • Turn the Campaign control group toggle on to not send the particular campaign to the control group.

For more information, refer to Control Group.

control group.png

Click Next or use the tabs at the top of the campaign creation navigation to proceed to Step 2: Content.

Step 2: Content

The following options are available to add content for your campaign:

Prebuilt and Saved Templates

This option enables you to choose a template from the following categories: All (chosen by default), Pre-built, Saved templates, and API templates.

In this section, you can perform the following actions:

  1. Search templates: Enter the template name in the Search templates bar.
  2. Filter templates: Use the following options to filter templates:
    •  
      • Filter By Type: Filter templates based on pre-built types (e.g., Nudges, Carousel, Pop-up).
      • Filter By Use Case: Filter templates based on their purpose (e.g., Promotional, Feedback, Survey).
      • Filter By Content: Filter templates based on their content (e.g., text-only, buttons).
      • Filter By Editor: Filter based on the editor that supports the template (Native, HTML, or Self Handled).

Pre-built Templates

FilterandSearchOptions.gif

Pre-Built templates Saved templates

Pre-built templates support various options beyond adding text, such as adding links and buttons, displaying ratings, and pop-up templates. The following table summarizes some common 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 Displays nudge templates in a non-intrusive manner.

Start from Scratch

This option enables you to choose from the following content creation methods:

Add Content to the Template

Perform the following steps to add content to the selected template and template type.

Common Actions

  1. Turn the Mirror platforms toggle on to use the same template and configure the message together for the selected platforms.
  2. 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.
  3. Click + Locales to add a locale. You can add a maximum of 10 locales for a single campaign.
    For more information, refer to Using Locales.
  4. Click the ThreeDots.png icon to:
    1. Save Template
    2. Change Template
    3. Reset Template

Screenshot 2022-05-25 at 2.02.06 PM.png

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:

  1. Select the Image URL option and enter or paste the URL of the image.
  2. Select the Upload Image option and drag and drop the image or click upload from the computer to upload the stored image.

Note:

  • Ensure that the image size is less than 10MB.
  • Ensure that the aspect ratio of the image is 2:1 (Width x Height).
Animation

Entry and exit animations for the entire In-App message.

Select from one of the following animations:

  • None - no animation
  • Slide up - Message displays from the top of the screen.
  • Slide down - Message displays from the bottom of the screen.
  • Slide left - Message displays from the left of the screen.
  • Slide right - Message displays from the right of the screen.
  • Fade in - Message displays with the fade-in effect. Applicable only for entry animation.
  • Fade out - Message displays with the fade-out effect. Applicable only for exit animation.
Close Button
  1. Enable or disable the display of the close button.
  2. From the Type drop-down, customize the appearance of the close button by selecting one of the following:
    • White-filled (Android only)
    • Black-filled
    • Grey-filled
    • Brown-filled
    • Cross only black
    • Cross only grey
    • Black-empty (iOS only)
  3. From the Close button placement drop-down, select the placement as one of the following:
    • Left
    • Right
Border

Select the following:

  1. Use the slider to define the Width of the border in pixels.
  2. Use the slider to define the Radius of the border in pixels.
  3. Select or type the hexadecimal code of the Border color.

Text

Field Description and action
Heading Type or paste the heading in the text box.
Font size Type or use the up and down arrows to select the font size used in the text.
Font color Type the hexadecimal code or select the font color used in the text.
Custom font Select the custom font and type the font name used in the text.
Background color Select and define the background color of the message.
Action

Select one of the following from the drop-down list:

Field Description
None No action is performed.
Navigation

You can add a Key-Value pair to an action. To do so, perform the following steps.

  1. Select one of the following:
    • Navigate to screen: From the drop-down, select the screen to which the user should navigate.
    • DeepLink: Type or paste the URL to which the user should navigate.
    • Rich landing: Type or paste the Rich landing page to which the user should navigate.
  2. Click + New KV pair (optional).
  3. In the Key value pairs field, enter the key and value.

For more information, refer to Key-Value Pairs in In-App Campaigns.

Dismiss Dismiss the In-App message.
Track Event

Type or paste the name of the event to track.

Share Type or paste the text to share with the user.
Set User Attribute
  1. Select the user attribute from the drop-down list.
  2. Type or paste the value for the user attribute.
Copy Coupon Code Type or paste the coupon code to share with the user.
Call Type or paste the phone number to which the user should call.
SMS Type or paste the phone number and message to which the user should send the SMS.
Custom Action

Add key-value pairs for custom action.

Navigate to notification settings Take users to the app Settings screen. This option is only available on iOS.
Request Notification Permission Invoke system notification permission. This option is only available on iOS.
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 margins of the text box in pixels.

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 pixels.

Padding

Select Together and use the slider or type the value to define all padding for the text box in pixels.

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 pixels.

Border

Select the following:

  1. Use the slider to define the Width of the border in pixels.
  2. Use the slider to define the Radius of the border in pixels.
  3. Select or type the hexadecimal code of the Border color.

Image

Perform one of the following actions:

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 upload from the computer to upload the stored image.

Note:

  • Ensure that the image size is less than 10MB.
  • Ensure that the aspect ratio of the image is 2:1 (Width x Height).
Action

Select one of the following from the drop-down list:

Field Description
None No action is performed
Navigation

Do the following:

  1. Select one of the following:
    • Navigate to screen: From the drop-down, select the screen to which the user should navigate.
    • DeepLink: Type or paste the URL to which the user should navigate.
    • Rich landing: Type or paste the Rich landing page to which the user should navigate.
  2. Click + New KV pair (optional).
  3. In the Key value pairs field, enter the key and value.
Dismiss Dismiss the In-App message.
Track Event
  1. Type or paste the name of the event.
  2. Type or paste the value for the event.
Share Type or paste the text to share with the user.
Set user attribute
  1. Select the user attribute from the drop-down list.
  2. Type or paste the value for the user attribute.
Copy coupon code Type or paste the coupon code to share with the user.
Call Type or paste the phone number to which the user should call.
SMS
  1. Type or paste the phone number to which the In-App message is sent.
  2. Type or paste the content of the SMS.
Custom Action

Select custom action and do the following:

  1. Click + New KV pair.
  2. In the Key value pairs field, enter the key and value.
Navigate to notification settings Take users to the app Settings screen. This option is only available on iOS.
Request Notification Permission Invoke system notification permission. This option is only available on iOS.

Buttons

Field Description
Button text Type or paste the text used in the button.
Font size Type or use the up and down arrows to select the font size used in the button.
Font color Type the hexadecimal code or select the font color used in the button.
Custom font Select a custom font and type the font name used in the button.
Background color Select and define the background color of the button.
Action

Select one of the following from the drop-down list:

Field Description
None No action is performed
Navigation

Do the following:

  1. Select one of the following:
    • Navigate to screen: From the drop-down, select the screen to which the user should navigate.
    • DeepLink: Type or paste the URL to which the user should navigate.
    • Rich landing: Type or paste the Rich landing page to which the user should navigate.
  2. Click + New KV pair (optional).
  3. In the Key-value pairs field, enter the key and value.
Dismiss Dismiss the In-App message. This is the default action.
Track event
  1. Type or paste the name of the event.
  2. Type or paste the value for the event.
Share Type or paste the text to share with the user.
Set User attribute
  1. Select the user attribute from the drop-down list.
  2. Type or paste the value for the user attribute.
Copy Coupon Code Type or paste the coupon code to share with the user.
Call Type or paste the phone number to which the user should call.
SMS Type or paste the phone number and message to which the user should send the SMS.
Custom Action

Select custom action and do the following:

  1. Click + New KV pair.
  2. In the Key value pairs field, enter the key and value.
Request Notification Permission

Android - Invoke system notification permission. If the system notification permission has been requested multiple times, it takes the user to the application notification settings screen where the user can manage notification permission.

iOS - Invoke system notification permission.

Navigate to notification settings Take the user to the application notification settings screen where the user can manage notification permission. Android only.
Navigate to Settings Take the user to the application settings screen where the user can manage notification permission. iOS Only
Notification Action Invoke system notification permission. This option is only available on iOS
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 margins of the text box in pixels.

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 pixels.

Padding

Select Together and use the slider or type the value to define all padding for the text box in pixels.

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 pixels.

Border

Select the following:

  1. Use the slider to define the Width of the border in pixels.
  2. Use the slider to define the Radius of the border in pixels.
  3. Select or type the hexadecimal code of the Border color.

Personalize Content

Personalize the content of your In-App campaign by using the '@' symbol to insert user attributes, user events, product sets, content APIs, and content blocks. This enables dynamic and relevant messages for each user.

For more information, refer to:

Do the following:

  1. In step 2 of campaign creation, click the text box or the image property URL.
  2. Type @ to personalize the content.
  3. Click either Data personalization or Content Block.
  4. Click the Data personalization tab and from the drop-down, select one of the following:
    1. User Attributes
    2. Select one of the following as fallback options if personalization does not work:
      • No Fallback: No alternate content is provided if personalization fails.
      • Do not send In-App: The In-App message is not sent if personalization fails.
      • Replace Text: Type or paste the text to use if personalization fails.
    3. Product Sets
    4. Content API: Modify the values of the Content API parameters.
  5. Click Content Block:
    1. Select the content block to insert.
    2. Click Insert only the content of the content block.
  6. Click Done.
arrow_drop_down Test Campaign (optional)

Test campaigns enable you to preview the campaign on a test device to ensure your notification displays as desired.

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

7.png

For more information about testing campaigns, refer to Testing In-App Campaign.

Step 3: Schedule and Goals

This section includes:

  • Delivery Schedule: Choose when to deliver the campaign to your users and how often.
  • Conversion goals: Select the conversion goals and revenue metrics to track for the campaign.
  • Delivery controls: Choose advanced delivery options such as throttling, frequency capping, and expiration settings.

Delivery Scheduling

The following delivery schedule options are available for In-App Campaigns:

One Time Periodic

Select this option to send the campaign immediately or at a specified time to target users.

Field Action
As soon as possible

Sends the campaign immediately to target users. You can select:

  • Campaign time zone - the timezone in which the campaign should send.
  • 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 and end time you specify.
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 send.
  • Start date - the date on which the campaign should send.
  • Send time - the time at which the campaign should send. Select AM or PM depending on the time of day.
  • 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 and end time you specify.

In-App-DeliverySchedule_oneTime.gif

Conversion Goals

You can add conversion goals to track business metrics for your campaigns, with a maximum of five goals. Choose any app event as a conversion goal activity. The first goal is treated as a primary goal.

For example, if you want to track the number of customers who purchased an iPhone after your campaign was sent (Event: Purchase event, Product: iPhone), your conversion goal setup might resemble the following image:

ConVErsionGoals.png

With multiple conversion goals, you can track more than one business metric or visualize a funnel for your user actions. For example, use multiple conversion goals to check:

  • How many users viewed the product page?
  • How many added that product to the cart?
  • How many made a successful order?
arrow_drop_downTracking Revenue Performance (Optional)

With MoEngage, you can track the revenue generated by your campaigns. For example, 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, enable the Revenue performance toggle.

TrackingRevenuePerformance.png
After choosing the goal, 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 reported. RevenuePerformance.png
Set Attribution window: Set an attribution window (a time period or window calculated from when the user receives/clicks the campaign, for which you want to attribute 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. Attribution Window.png

Campaign Priority

Set a priority for your In-App campaign as Critical, High, Medium, Normal, or Low.

CampaignPriority.png

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: Control campaign frequency by entering how many times to display the message.

    Note: Frequency capping works at the device level, not the user level. This means if your user logs on to two devices at once, they receive the campaign on both devices even if the frequency setting is 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 displaying In-App messages to the user. This setting is disabled for Nudge Templates.
  • Ignore global minimum delay: Enable or disable global minimum delay settings for this particular campaign.
  • Auto Dismiss message after: This option dismisses the In-App message after a specified duration (in seconds). After the specified time, the In-App message is dismissed even if the user does not perform any action on it.

DeliveryControls.png

arrow_drop_down Delay Between Two Campaigns

If you have multiple In-App campaigns, you can stagger them by setting a minimum delay between messages from different campaigns. Go to Settings > Channels > Delivery controls.

Note: This minimum delay applies to messages from different campaigns and the same campaign.

Here you can set the minimum delay (in minutes) between two In-App messages from different campaigns. With this setting, if your user sees a message from Campaign 1 at time T and another message is sent before T+15, it does not display.
Screenshot 2025-08-05 at 12.13.34 PM.png

Your campaign is now ready to send. Click Publish and confirm in the dialog box that opens to create the campaign. After successful creation, the Campaign Info page displays.

info

Information

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, contact your Customer Success Manager.

Was this article helpful?
9 out of 18 found this helpful

How can we improve this article?