# In-App v1 (old)

{% hint style="info" %}
This guide is specific to Batch's Mobile Engagement Platform(More on the [difference between Batch's CEP and MEP](https://doc.batch.com/getting-started/other/faq/what-are-the-differences-between-batch-customer-engagement-platform-and-mobile-engagement-platform)).
{% endhint %}

An **In-App message** appears right inside your app while your user is actively using it.\
It is a great way to communicate in the moment and in context, perfect for guiding, informing, or prompting action.

This guide will walk you through crafting a clear, impactful In-App message. Let’s get started! 🚀✨

## Prerequisite: Create a theme

Before launching your first In-App automation, you will need to create a **theme**.

To do so: go to **Settings → Themes → Create your first theme**:

<figure><img src="https://1464139620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUIK868wiiK9XOVyETGZS%2Fuploads%2Fvp7ZIp1qLQ5N0KCHvvu2%2FCleanShot%202025-04-14%20at%2018.57.18.gif?alt=media&#x26;token=156ebd60-5f21-4235-aef3-63b7c2194b33" alt=""><figcaption></figcaption></figure>

You can choose between five formats:

* Fullscreen
* Banner
* Modal
* Image
* WebView

### Customize your theme&#x20;

<figure><img src="https://1464139620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUIK868wiiK9XOVyETGZS%2Fuploads%2FICPZyVe3NFnVHLTzXiOx%2FCleanShot%202025-04-14%20at%2019.00.32.gif?alt=media&#x26;token=f02c4d38-136d-4e81-b433-d527d2737082" alt=""><figcaption></figcaption></figure>

**Themes are fully customizable**, including:

* Background and text colors
* Header, title, and image
* Number of CTAs
* Overall layout and appearance

Once your theme is ready, you will be able to select it from the dropdown menu during the **"Message"** step when setting up your campaign.\
(See: *In-App - Part 4 - Editing Your In-App Campaign Message*)

## Create your In-App automation

Now that your theme is ready, go to Automations > iOS or Android > Create a New Campaign:

<figure><img src="https://1464139620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUIK868wiiK9XOVyETGZS%2Fuploads%2FxpR4puWONkNB7DTSsKnL%2FCleanShot%202025-04-14%20at%2019.07.53.gif?alt=media&#x26;token=1ee7d05f-87e9-4a6e-88c7-26805b5c6356" alt=""><figcaption></figcaption></figure>

### Name your In-app automation and set up targeting

Just like with a push campaign or automation, you can define the **audience targeting conditions**.

<figure><img src="https://1464139620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUIK868wiiK9XOVyETGZS%2Fuploads%2FbOG7crCmgvBWh6oMFHTp%2FCleanShot%202025-04-14%20at%2019.10.12.gif?alt=media&#x26;token=13c98fe9-fc62-45d5-a718-47c2c7911922" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If you’re using dynamic targeting (e.g., opt-in status), enable **"Re-evaluation just before display"** to ensure the SDK recalculates the audience in real time before the message is shown.
{% endhint %}

### Set the trigger action

This is the user action that will cause the message to be displayed:

<figure><img src="https://1464139620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUIK868wiiK9XOVyETGZS%2Fuploads%2FLUIMBlpWlCz9rn58R1mi%2FCleanShot%202025-04-14%20at%2019.12.05.gif?alt=media&#x26;token=f04f0336-7417-4b5e-b17a-ec9e92e28b6f" alt=""><figcaption></figcaption></figure>

* Choose from any **tagged and tracked event** collected by the Batch SDK
* You can also set:
  * **Priority**: if multiple campaigns use the same trigger, set which one takes precedence.
  * **Capping (optional)**: limit how many times a user can see this message.
  * **Grace Period (optional)**: define a minimum delay between two displays of the same campaign.
  * **Start/End Date**: schedule your campaign’s availability window with start and end times.

### Customize the message and CTA behavior

Now it’s time to craft your message 🌟

**Select a theme** for your In-App message using the dropdown menu:

<figure><img src="https://1464139620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUIK868wiiK9XOVyETGZS%2Fuploads%2FhMCHpWHWP6IPpKHnIQB0%2FCleanShot%202025-04-14%20at%2019.31.30.gif?alt=media&#x26;token=1abf7fd0-f177-490f-8c45-39f5eba57756" alt=""><figcaption></figcaption></figure>

Fill in the **content** for your campaign: title, body text, visuals, etc.

<figure><img src="https://1464139620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUIK868wiiK9XOVyETGZS%2Fuploads%2FZoEFIlFKMv5lfrs5Uuct%2FCleanShot%202025-04-14%20at%2019.37.06.gif?alt=media&#x26;token=5721e686-cb28-4f16-a69f-2320b29596cb" alt=""><figcaption></figcaption></figure>

Define the behavior of your **Call-to-Action (CTA)**:

* Choose what the CTA should do:
  * Redirect to a URL or screen
  * Trigger a smart re-opt-in
  * Copy something to the clipboard
  * Open the rating popup
  * …and more

You can also attach **secondary actions** to the CTA, such as:

* Tracking an event
* Adding or removing a tag

{% hint style="info" %}
These secondary actions can later be used in **audience segmentation** or as **future triggers**.
{% endhint %}

And that is it! With these steps, you are ready to launch personalized, real-time In-app automations that engage users exactly where they are: inside your app ✨
