Create Message

Learn how to create an In-App campaign using the CleverTap dashboard.

Create a New Campaign

Create a campaign to deliver your message.
To create a new campaign:

  1. From the dashboard, select Campaigns.
  2. Click + Campaign.
  3. From the Messaging Channels list, select the messaging channel.

Select Messaging Channel

The Campaign page displays.


Create Campaign

Define all the sections and publish the campaign. `

Start Campaign Setup

The Start here section displays the setup information.

This section has the following parts:

  • Set a goal: You can track your campaign conversion by setting up a goal. Setting a goal allows you to measure your campaign effectively against what you want to achieve in the campaign. This selection is optional.

The campaign goal can be as generic or as specific as you want. It can answer questions from How many users were influenced for purchasing an X amount? to How many first-time visitors purchased red shoes worth a minimum of X amount and blue jackets worth a minimum of Y amount? ".

Define the conversion period by selecting the Conversion Time. You can define your conversion goal further by filtering an event by event properties. For more information on event properties, see Events.


Set a Goal

Define the Audience

You must indicate the target audience for your campaign. You can specify your target audience from the Target segment section. Here, you can create a new segment or use a previously saved user segment from the segment list.


Define Target Segment - Who


Source Event Property

The CleverTap source event property is not supported for web pop-up and mobile in-app campaigns.


If you want to create an ad-hoc segment, you can select a type of segment on which to base your campaign. You can create the target based on user properties or live (ongoing) user behavior. The latter is helpful to send out real-time, triggered campaigns.

Deliver Action Based Messages

You can trigger a message based on an action. Users receive messages when they perform an action in the app instead of waiting for the next app launch. It makes the messages more contextual and increases conversion. Campaigns with delays and app inbox coupled with a push message do not trigger instant messages.

Ad-hoc Segment

If you want to create an ad-hoc segment, you can select a type of segment on which to base your In-App campaign. You can create the target on the basis of user properties, or live (ongoing) user behavior (the latter is useful to send out real-time, triggered In-App campaigns).

Filter by User Properties

Using the With user properties filter in the Who section, you can segment your campaign to only reach users who meet specific criteria.

For example, you can send a push notification to English-speaking female users who live in the United States.


Filter by User Properties

To know more about what segments can be used, see Segments.

Control Group

You can define the control group to compare and measure the results of your campaign. For more information, refer to Control Groups.

Control Group

Control Group

Define the Message Content

Now, you need to set up the What section to define the campaign content, with four different options:

  • Single Message
  • AB Test
  • Split Delivery
  • By User Property
  • Legacy

Click Go To Editor to create your message.

In-App Templates

Select the template and fill in the required details.


In-App Template Types

There are three types of templates available.

Basic Templates

These are templates available to you for creating a message. Select a template with or without images.

Image only notifications

When selecting an image only template, you can send a message which only contains an image (without CTAs and/or title and/or message).

Content with image notifications

When selecting a With Content Notification template, you can send a message with a background image, title, message, and CTAs.

Template Aspect Ratio and File Size Guide

Follow this guide while creating in-app messages:

Canvas TypeCanvas Aspect RatioSample Image SizesImage Type SupportedImage SampleText Limit
CoverFull ScreenScreen ResolutionImage
Interstitial1.78:116:9Image, gif, audio, videoTitle [20 Characters], Message [75 Characters]
Half Interstitial1.30:14:3ImageTitle [25 Characters], Message [100 Characters]
HeaderHeight: 1:1
Width: Fit to screen
N/ALogo ImageTitle [22 Characters], Message [75 Characters]* Title [30 Characters], Message [128 Characters]Title [22 Characters], Message [75 Characters
FooterHeight: 1:1
Width: Fit to screen
N/ALogo Image
Image Only Cover
Image Only Half Interstitial
Image Only Interstitial

File Size

  • Image: Less than 500 kb.
  • Audio: Less than 5 Mb.
  • Video: Less than 50 Mb.

Message Character Limit



Image Cropping

Due to the multiple phone sizes on both Android and iOS, we will center crop images if the image does not fit the screen resolution.

We scale the image uniformly (maintaining the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or larger than the corresponding dimension of the phone (minus padding). The image is then centered in the view.


Video Messages

When adding video messages to In-App, ensure an audio track is available.
If required, insert a blank audio track to the video.

Ratings Template

Marketers can now create feedback-related popups for their mobile app users using the Ratings Template.
They can now create two types of rating templates for gaining feedback from their customers:

  • User Rating Popup - It helps assess how happy your customers are with your services by taking feedback in the form of star ratings.
  • NPS Popup - It enables you to measure the loyalty of your customers by distinguishing them in three categories - Promoters, Passives, Detractors. One can view the NPS performance, navigate to the NPS board available under the Boards section.

The images below represent a sample User Rating Popup and NPS popup in a mobile app.


User Ratings Popup


NPS Popup

Marketers get the complete flexibility to explicitly define the rating scale, style, its shape (Star, Heart, Emojis), labels, and the overall content of the popup. One can also choose to add a comment box to get accurate user feedback/comments.


In-App Editor Style

Besides, additional styling such as configuring the color for the message, question, background, and the rating scale is also possible from the editor as shown in the image above. The in-app notification text fields shown below can be personalized for every user based on specific user property or event property values. Refer to the Analysing User Rating document to learn more about tracking and monitoring user rating data.


Compose In-App Message

Custom Templates

You can use create in-app with custom HTML. Add more customization to the in-app messages with Javascript.
Check that you select the Include Javascript box to add custom Javascript.


Custom HTML and Actions

Time to Live (TTL)

You can configure the number of days (or hours) to keep the message on the user's device by setting the time to live.


Time to Live for a Message

The TTL can range from 1 day to 60 days. The default value for TTL is two days. You can define the TTL for a maximum of 28 days. The message on the user's device stays there for the specified TTL, after which it is automatically removed. You can also have Infinite TTL, which means the message will never be deleted from the user's device.


Choosing the Right TTL

You should choose a TTL that resonates with the purpose of your campaign. Some messages need to stay on the user's device for a longer period (coupon codes which are valid for a month) while some should last for a day or two (weekend discount offers).

In-App Editor

The In-App Editor has two types of templates, that is, Basic and Custom. You can use the Basic template to create HTML in-apps via a drag-drop method. As an alternative, you can also use the Custom HTML option to build your own campaign.


In-App Editor


You can upload media from your image library or use personalized media to compose your messages.

Enter the title, message, and upload or personalize media as required.


Compose In-App In Editor

You can use different types of call to actions (CTAs) to cater to different use cases.

Choose from one of the following actions (Optional):

*Close Notification: A click on this button closes the in-app message.

  • Open URL CTA: The user can open deep links for iOS or Android.
  • Custom key-value pairs CTA: The key-value pairs send back custom data when a user clicks the Native Display button. This data is not visible to the user.


Select the style for your notification such as background color, text color, and message color.


Style Elements from Editor

Action buttons

Mobile in-app enables various types of call-to-action (CTA) to cater to different use cases for clients, such as the following:

  • Close notification: It closes the notification after a tap.
  • Open URL: A special type of CTA that enables the user to open a deeplink for Android or iOS.
  • Custom key-value pairs: The key-value pairs send back custom data when a user clicks the in-app button.

Select media

Some things to consider when selecting media with orientation:

  • Using the background option in in-app, you can choose the media you want your end-users to see when the app is in portrait and landscape mode.
  • You can choose to add the same image with different form factors or completely different images to give a unique experience on portrait and landscape.

To personalize the message, click the Personalization icon in the editor. All the available personalization options for the channel display.


Create Interactive In-Apps

You can create interactive in-app campaigns such as scratch card campaigns and swipe interaction campaigns using JavaScript.

Using the Custom HTML option, you can use Javascript in the HTML and create deep interactive in-app campaigns by adding the JavaScript code along with the HTML code.

JavaScript-based campaigns are available for versions 3.5.0 and above.

Enter all the necessary information to create a message.


Typeform and Character Limit

We do not currently support Typeform because its rendering requires access to local storage which is a security risk. CleverTap SDK WebView does not allow access to local storage.

The character limit for a message in English is 30 for the title and 128 for the message.
The character limit for a message in Chinese is 9 for the title and 38 for the message.

Preview & Test

Once you are all done setting up the content of your campaign in the What section, you have the option to send a test notification to any CleverTap user profile you have marked as a Test profile
Click the Preview & Test button from the message editor to test a message.

Message Types

You can create the following types of messages:

  • Single Message
  • AB Test
  • Split Delivery
  • By User Property

Single Message

In this campaign, we send the same message to all users who qualify as your target audience. This message type is best for broadcast messages and for applications that do not vary campaign communication based on differences between properties such as language, geography, or any other user properties.

A/B Testing

A/B testing helps you understand what type of message copy works best to get clicks from users.

You can test up to three message variants on a test group, and the variant that gets the most clicks is declared the winning variant and is automatically sent to the rest of your target audience.

When creating multiple variants for a campaign, you can also auto-copy what is already present in a current variant.

Split Delivery

With split delivery, you can decide what percentage of your audience receives each message variant for the campaign duration.


Split Delivery Variant Distribution

Split Delivery to Live User Segments

With campaigns sent to live user segments (triggered campaigns), messages are delivered immediately when a user's activity matches the criteria you have selected. For example, you can send a message when the user has completed a booking or purchase. Since it is not possible to determine the reach of triggered campaigns upfront, you need to decide how many total messages to send for A/B testing before a winner is declared.


Triggered Campaign Example

If you select 500 users as your test audience, we will alternate delivery of Variant A and Variant B as users qualify for the campaign. After a total of messages are sent (Variant A – 250 and Variant B – 250), we then decide the winner based on the number of clicks and continue only with this winning message for the duration of the campaign.

Deciding on a test audience for A/B testing triggered campaigns requires some estimation. We recommend you check the total messages that were sent for similar triggered campaigns in the past to get a sense of how many users may qualify. If you select a test audience that is too small such as 25 users, you will get a statistically insignificant sample. If your test group size exceeds the total number of users who ultimately qualify for that campaign, then no winner will be declared, and each message variant will be alternatively delivered for the duration of the campaign.

By User Property

If you would like to send different message variants to your target audience based on the user properties they possess, this campaign type is your best bet. A good example would be when you want to send a localized update to people based on their preferred language.

Similar to creating A/B test variants, you can use the + button to add multiple variants based on a user property value. In the example below, we have used the Customer Type user property so users with different customer type property values will receive corresponding copies of the campaign based on their different levels (Silver, Gold, or Platinum).


Allows you to create and send a single campaign to users on both old and new versions of the application.

Legacy message type is for customers whose entire audience has not updated their app to support the native in-app capability.

Post releasing the app update, there will be users on both old and new app versions. In this case, to send a campaign to both your user base, follow the below steps.



You will not be able to use the A/B test and message on user property with this option.

Based on your SDK version, use one of the following steps to create in-app campaigns:

New Version (SDK 3.3.0 and Above)

To create In-App campaigns with the new version of the SDK:

  1. Go to Message Type > Legacy and click Go to Editor.
  2. Select New In-app.

Templates for New SDK (3.3.0 and Above)

  1. Create your message and click Save Draft.

Legacy Version (SDK 3.2.0 and Below)

To create In-App campaigns with the older version of SDK:

  1. Go to Message Type > Legacy and click Go to Editor.
  2. Select Legacy In-app.

Templates for Legacy SDK (3.2.0 and Below)

  1. Create your message and click Save Draft.

Define the Campaign Schedule

The delivery preferences for Live campaigns can be set as follows:

  • Start Date and Time
  • End Date and Time
  • Set Delay
Schedule a Campaign

Set Message Schedule

Delivery preferences

Set frequency

From the Delivery preferences section, select the days and the time frame to deliver the message.
Click _Apply to all _to copy the choices from the selected day to all other days.


Set Message Frequency

Publish Campaign

After testing and once you are satisfied with the appearance of your campaign, finalize your campaign with the following steps:

  1. Click Continue to view your campaign summary. The overview page displays.
  2. View your campaign summary, and then click Publish Campaign.

Publish Campaign