Skip to main content
All CollectionsIn-App MessagingIntroduction
How do In-App automations work?
How do In-App automations work?

Everything you wanted to know about In-App automations but were afraid to ask.

Antoine avatar
Written by Antoine
Updated over 5 months ago

In-App automations allow you to display messages inside your app. You can trigger them when users open your app or when they perform a specific action (e.g. browsing a page, tapping a button, etc).

In-App messages rely on Batch's technology. We have been working on customizable formats that neatly fit your app design, bring the same experience to all your users and allow you to interact better with them!

Understanding In-App Themes

Before creating your first in-app automation, you need to set up a theme. There are several In-App formats you can use in an In-App message:

  • Fullscreen: Fullscreen In-App themes can contain text (header, title, body), an image, up to two buttons, and a close button. Use the fullscreen format for all your important messages that deserve to interrupt the navigation (supported by Batch SDK 1.10).

  • Banner: Banners can be displayed on the top or the bottom of the screen. They can be attached to the borders of the device or not. Banners can contain text (title, body), up to two buttons, a close button, and an auto-dismiss timer (10 seconds by default, not modifiable). Use banners to suggest optional actions and avoid bothering them when they are making important actions (supported by Batch SDK 1.11).

  • Modal: The modal format will always be displayed in the center of the screen. You can add an image, disable text fields, and buttons and change their color. You can also set a 10-second timer to auto-dismiss the In-App message (supported by Batch SDK 1.14).

  • Image: Displays a full-screen image or a modal with a close button or an auto-close timer. Editing an image theme is straightforward: Choose the format Batch will use to display your image (fullscreen or modal), the background color displayed behind the image, and turn on/off the auto-dismiss option for your theme (supported by Batch SDK 1.14).

  • WebView: A 100% customizable page.

A theme is a customized version of an In-App format you saved on the dashboard. You can create as many themes as you want to manage all the use cases you have in mind (e.g. dark banner with one button, light banner with buttons and a 10 seconds auto-close option, etc.).

It is possible to filter themes by format. You can also edit them and then the changes are applied to all applications to which the theme is attached. However, the edition is blocked when a running automation is using this theme. Learn more about how to manage themes in this article πŸ‘ˆ

Understanding In-App automations

Now, let's focus on the in-app automation itself! You can create a new in-app from the Automations tab.

Creating an In-App automation

Now you have created your first theme, you need to create an In-App automation to display it with a message in your app. An In-App automation always contains:

  1. Targeting conditions. You can target all your users or a part of your userbase.

  2. A trigger. The action that will display the In-App message

  3. A message. The content of the in-app is always attached to a specific In-App theme.

There is one native trigger you can use in your In-App automation: New Session. Using this display event in the automation will display the in-app message the next time users open the app.

Any action tracked with Batch in the app, called "events", can be used as custom triggers (e.g. visited_page). The label of the chosen event can also be used to make sure the message is displayed when users perform an action in a specific context (e.g. trigger an In-App message when users perform the action "visited_page" with the label "checkout").

You will find more details on the In-App automation creation here in the documentation: In-App automation Edition.

You can then select a priority level between Standard, Important and Critical in order to manage the display of automations with an identical trigger event (or label).

You will find more details about the priority feature here in the documentation: How does In-App automations' priority work?

Synchronization Workflow

Unlike push notifications, In-App automations are not pushed to your users' devices.

Once your In-App automation is running, Batch servers process it and make it available for the users of your app. Every time users open your app, Batch SDK will start and pull the list of new or updated In-App automation. Please note the SDK will only store an In-App automation if the installation of the user matches the targeting of the automation.

First session

Batch uses the first session to initialize the SDK and the information on all the running In-App automations.

If you picked "New session" as a trigger event or any other custom event, the SDK will wait until the next time it starts to display the In-App message. This happens when the app is closed and opened again:

A new session is triggered in several cases:

  1. When the application is opened after being killed, i.e. :

    • Closed completely from the Task Manager.

    • On Android: by exiting the application via the "back" button on the Android device to return to the previous application or the main menu.

  2. A session ends when the application remains in the background for more than 300 seconds (= 5 minutes). If the user reopens it after 300 seconds, this triggers a "New Session" event.

Modifying an In-App automation

Batch doesn't send live updates to your app when you save changes for an In-App automation or disable a campaign on the dashboard.

These changes will be detected the next time your users open the app. During that session, the SDK will sync again with Batch servers. The SDK may still display an outdated version of your campaign or an In-App automation recently disabled. All the changes received from Batch servers will be applied in the next session. This is why we recommend you include an end date in your automations or double-check the wording of your automation before activating it:

In-App automations Analytics

In-App automations Performance

Once your In-App automation is running, the number of "Devices Synced" will grow, meaning users have opened the app and the SDK successfully retrieved data for your In-App automations. The automation will be displayed as many times as set according to the capping rule defined.

Global In-App automations Export

To further your analysis, you can download the results per automation or day per day during a given timeslot. From the campaign list of the Automations tab, use filters to show the automations you want and click on the Export button.

You can either download one of these two formats:

  • Essentials: Campaign token, source, status, label, campaign name, device synced, display, clicks, 1st button, 2nd button, close.

  • Extended: Start date, end date, smart segments, country, custom audience, languages, targeting applied, trigger event, message, format, button 1 action, button 2 action, global action, tracking id.

You will find more details about your Campaigns Analytics here in the documentation: How to export my Campaigns Analytics?


This article belongs to Batch's FAQ. Need more help? Find insightful articles, documentation, case & market studies, guides, and even more in our website's Resources section on batch.com and our blog.

Did this answer your question?