Creating In-App NATIV Campaigns

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. 

Navigate to Campaigns->Create Campaign from the sidebar

Click on Create Button in In-App NATIV Campaign under In-App NATIV Campaign tab

  1. Identify your target audience
  2. Create your In-App Message
  3. Personalize your message text
  4. Personalize your action data
  5. Enable legacy support
  6. Schedule and Test
  7. Delay between two InApp campaigns

Step 1: Segmentation - Name the campaign, select the platforms and define the campaign target audience

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 2.x
Android 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

Step 2: Create View - Select a message template, customize the views and add actions

 

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.

Customizing Templates

  1. Click to change the template at any point in time
  2. Click on the platform tabs to preview in respective platforms
  3. Toggle to enable platform specific customization. Once you enable this, each platform has to be customized separately
  4. Click to reset everything
  5. Click this button to show options to customize the container. Container is the base of the In-App message
  6. Click on individual widgets to customize them

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.

What is a Primary Widget?

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.

 

You can also personalize the text widgets with available user attributes. Use to get the personalization drop-down listing your saved user attributes.

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.

You can additionally personalize the actions like Share & Copy Coupon Code. Using @ will allow you to choose from the multitude of saved attributes.

 

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 

   

Your campaign is now ready to be sent.

Testing In-App Campaign

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.

Next, you can understand how to manage (view, edit and duplicate) campaigns or understand how you can create Smart triggered In-App campaigns 

Have more questions? Submit a request

Comments