In-App NATIV Campaigns target your users by showing a message while the user is using your app. They are very effective in providing contextual information and help to cross-sell/up-sell on desired screens of your app or/and on desired actions performed by the user in your app. You can embed coupon codes and images in these messages or deep-link the message to take the user to a deep-linked screen or URL.
Currently, MoEngage enables you to create two kinds of In-App NATIV campaigns -
1. General In-App Campaign - Targeted to a particular user segment based on user attributes/events
2. Smart Trigger In-App Campaign - Targeted to a user segment based on user attributes and triggered on user events ex. when a user with a particular attribute views a product, a targeted In-App message will be triggered.
In this article, we describe the steps in creating a general In-App campaign.
In-App NATIV Campaign
Navigate to Campaigns->Create Campaign->In-App NATIV Campaign on the dashboard and click on Create button under In-App NATIV Campaign
General In-App NATIV Campaigns are shown when the users open the app. Based on the other conditions defined in the campaign creation, in-app nativ campaign are triggered when the app is opened.
Smart Trigger In-App NATIV Campaign
Navigate to Campaigns->Create Campaign->In-App NATIV Campaign on the dashboard and click on Create button under In-App Smart Trigger Campaign
Smart Trigger campaigns can be created for all supported platforms.
Smart Trigger campaigns allow segmentation based on user attributes/device filters (user events or custom segments are not allowed for segmentation). Except this, user segmentation can be done in similar manner to general in-app campaigns.
Below section represents the different functionalities available with InApp campaigns -
Step 1: Segmentation
Name the Campaign
Select a name that helps you identify the campaign while managing the campaigns later. Campaign name must have a minimum of 5 characters.
Select the target platforms
When a platform is selected it also shows the number of templates currently supported by the selected platforms.
In-App NATIV compatible SDK versions
|iOS||Greater than 2.x|
|Android||Greater than 6.x|
Once upgraded to these versions, new templates will be inherently supported by all SDKs. Legacy templates are still supported.
Target Audience or the target segment for the campaign can be selected in three ways:
1. All Users: This selection will send the In-App to all the users of the app. The count of All users will be shown when this option is selected.
2. Custom Segment: You can target any of the custom segments saved during segmentation by selecting this option. It gives you the option to search the custom segments by name. Learn more about custom segments here.
3. Create a new segment: Alternatively, you can create a new user segment on-the-fly similar to creating a segment through user attributes/events in segmentation. Learn more about creating a segment in this article.
After selecting the desired target segment, click on Next to move to "Create View" tab
Select Trigger Action:
Selecting a Trigger Action is only applicable if you choose to create a Smart Trigger In-App NATIV Campaign. Such campaigns are triggered as soon as the selected user action is performed by the user on the app. It is important to note that the trigger action for such campaigns has to be tracked from the Mobile App so that appropriate campaigns can be shown immediately. This will not work for events tracked via Server to Server API calls.
The Trigger for the campaign can be set by selecting user/derived event in the "if" condition and entering the event attributes. You can enter additional event attributes as well
Step 2: Create View
Templates which are marked as "Legacy Support" are the templates which will be served to apps having older SDKs as well.
There is absolutely no way in to serve new templates to SDKs prior to ones mentioned in the above table. Here on we will release new templates every month which will be supported by all In-App NATIV compatible SDKs.
- Click to change the template at any point in time
- Click on the platform tabs to preview in respective platforms
- Toggle to enable platform specific customization. Once you enable this, each platform has to be customized separately
- Click to reset everything
- Click this button to show options to customize the container. Container is the base of the In-App message
- Click on individual widgets to customize them
Customize Message Container
7. Entry and exit animations for the entire In-App message
8. Upload a background image for the container
9. Set the background color for the container
10. Border radius of the container. The value will be in pixels. Set it to 0 in case you want to remove it
11. Border color of the container. Remove it if you want to remove the border property
12. Border width is equivalent to the border weight.
13. Margin Left for the container.
14. Margin Right for the container.
Changing the values of 13 & 14 will change the position of the inapp. Manipulate this only if you want to move the complete inapp in either direction (left or right)
InApps can be visualized as vertical stacks of view which are centrally aligned.
Any widget can be set to be a primary widget. It is mandatory to select a primary widget. This is used to identify whether the purpose of the In-App has been satisfied or not. Once it is satisfied, the In-App will not be shown again if "persistence" is set to false. Persistence is discussed in step 4.
Can the "Close Button" be removed or realigned?
Clicking on the "close button" in the preview allows you to customize the button. Unchecking "Show Close Button" will remove the close button completely. Close button image can be changed by changing the source image. Changing the float option from right to left will position the button to be on the left side of the In-App message rather than the right.
Customizing Image Widgets
Image Content can be changed by uploading an image or providing an image URL. It is advised to upload an image to leverage our CDNs for faster delivery. Also, the image size should always be kept in mind, in order to download image over slower network connections. In-App images are auto scaled with respect to aspect to fit according to the device dimensions.
Customizing Text Widgets
Text content can be changed. Keep the text crisp and direct. Font customizations are available with certain limitations. The text background color and text color can also be changed.
Note: Do not forget to set the Fallback text for your personalized messages.
For every widget, layout and action can be specified. The width of the widget is calculated in percentages with respect to the viewable screen dimensions whereas the height is calculated in pixels.
Margin and padding can be changed for every widget. Selecting "Together" changes left, top, right and bottom values together. Opting for "Separate" will allow changing each dimension separately.
Setting action to widgets
Every widget is clickable and can be backed by an action.
Multiple actions can be added to a single widget as well. It is implicit that two navigations cannot happen at the same time, but a track event and a navigation can happen at the same time.
The biggest advantage of In-App NATIV is the support of NATIV actions. NATIV actions are actions which can be specific to each app like for a music app it might be play or download song whereas for an e-commerce app it might be adding a product to a wishlist. This feature will be shortly provided with the release of NATIV actions.
As of now the actions supported also include, tracking events or attributes, copy coupon code, navigation (screen name or deep link), share intents, permission settings for iOS, etc.
For our rating template, we have additionally rolled out Conditional Based actions . It allows you to take different actions basis end-user rating via Rating In -app. Read more here.
Step 3: Platform-specific configuration and legacy support
Both Android and iOS support showing In-Apps on specific screens. This is where the configuration has to be provided. This is optional. If left blank the In-App message will not be tied up to a specific screen.
"Cancellable" is an Android only feature which ignores the "Back" press. If set to false, In-App messages will not be dismissed even if the back button is pressed. This is useful for "Force Update" scenarios.
Legacy support can be enabled or disabled based on your need.
The replicate from platform field is utilized to backport the customizations done to the specified platform for older SDKs.
Step 4: Scheduling & Goals
Select a scheduling frequency, expiry and conversion goal for the campaign
While creating In-Apps, you can choose to start them as soon as possible or schedule it at a later date. If you mention Auto dismiss after time in seconds, In-App will be dismissed even though user does not perform any action on it.
However, the frequency of a campaign can be controlled by entering the number of times to show the message and minimum time delay between two messages.
As the name suggest, "Auto Dismiss" dismisses the In-App after the specified duration.
What is a Persistent In-App?
As the name suggests Persistent In-Apps are shown even after the primary call to action is satisfied. In every case, In-Apps will honor the other delivery criterions like minimum delay between In-App and minimum delay between the same In-App.
In-App campaigns must have an expiry date, time and time-zone to stop showing the In-App message. The default expiry date is 24 hours after the campaign start time in the same timezone.
After deciding on the scheduling, you can set the campaign conversion goal to understand the conversion activity tracked from running the campaign. Through this, you can tie the success of the campaign to conversion activities such as Item Purchased. You can also associate an attribute such as "Revenue" with the conversion goal
You can now review how your In-App looks on your device by using our Test In-App feature. For this you need the capability to send push notifications to your application and a compatible SDK Version. The test feature is supported only for Android (starting from MoEngage SDK version 7.1.00) and iOS (starting from MoEngage SDK version 2.3.2).
Once you click on Test campaign, a push notification will be delivered to your device. Click on push notification and your In-App Message will be displayed in a matter of seconds. Sample snapshots below:
Once you finalize your campaign, click on Create Campaign button, confirm in the dialog box and your campaign is created. Upon successful campaign creation, you will be taken to the campaign info page where you can view the campaign performance stats such as impressions, clicks, conversions and other details mentioned in this article.
Delay between two campaigns
If you have more than one In-App campaigns created, you can also stagger them by setting minimum delay between two messages from different campaigns. To do that, go to Settings->In App NATIV
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 Message from Campaign 1 at time T, and if another message is served at time before T+15, it won't be shown.
*Please note that Delay between InApps is not applicable for Smart Trigger In-App Campaigns. More information on Smart Trigger In-App Campaigns is available below.
Next, you can understand how to manage (view, edit and duplicate) campaigns