Creating In-App Message

In-App messages are messages that are displayed to the user while they are using a mobile app. You can define the content of the message and the rules for its display to target the message to a specific audience.

šŸ“˜

Important

To send In-App messages from our platform, you need to Install SDK.

To create a new message:

  1. Go to the Messages → Messages → In-App section. Click the New In-App button.

    Messages list showing the In-App section selected and the New In-App button highlighted
  2. Select the message type:

  • Fullscreen
    • blocks app content
    • closes by pressing the cross icon
  • Popup
    • blocks app content
    • closes when tapping outside the message or by pressing the cross icon
  • Slideup
    • has top or bottom positioning
    • does not block app content
    • closes by swiping left/right and up/down depending on the positioning or by clicking on the cross icon
  • Floating Bar
    • has bottom positioning
    • does not block app content
    • closes with a swipe left/right/down or by pressing the cross icon

All of the above message types are created in a drag-and-drop editor. You can also use the HTML editor to get more options for customizing the message content.

Create new In-App message dialog showing Fullscreen, Popup, Slideup, Floating Bar, and HTML editor options
šŸ“˜

Note

All In-App message types are supported in SDK versions starting from Android 2.5.0/iOS 2.5.0.

Working in the Drag-and-drop Editor

Let's look at creating a full-screen message - the functionality of other In-App types is identical.

The components for building the message are located in the left-hand side panel. To add a component, drag and drop it to the editor field.

In-App editor showing the component panel on the left, an empty message preview, and background overlay settings on the right

Columns and Container can contain other components, except for the Floating image component.

Floating image overlays other components. It can be used, for example, to emphasize a specific element.

šŸ“˜

Note

There's no dedicated Video component for In-App messages, unlike Widgets.

In-App editor showing a floating cursor image overlapping a button, with the Floating image component selected in the left panel

The right-hand side panel of the editor contains a menu with editing options for each component. Click the relevant component to display its menu.

To return to the main layer menu of the editor, click anywhere outside the components.

In-App editor showing a component's settings panel with the Action on click menu expanded, listing Open URL, Close current message, and Use click tracking

The following settings are available for the components.

Action on click

Expand the +Add Action menu and choose the action to be performed when clicking on the element:

  • Open URL
  • Use click tracking
  • Close the current message

You can add one or several actions.

In-App editor panel showing the Align inner elements section highlighted, with an alignment grid, direction buttons, and distance between elements field

Align Inner Elements

Select the appropriate icon for aligning elements within the container or columns.

Enter the value for the distance between elements in the corresponding field. The minimum value is 0.

In-App editor Size settings showing width and height dropdowns, with By content height expanded and Stack vertically in portrait mode enabled

Size

Expand the drop-down lists and select the necessary sizes from the following options.

For width:

  • Fixed width. The minimum value is 20.
  • By container width.
  • By content width.

For height:

  • Fixed height. The minimum value is 20.
  • By container height.
  • By content height.
In-App editor Size dropdown expanded showing Fixed height, By container height, and By content height options

Columns

For the Columns component, you can choose the following settings:

  • Equalize width. This option sets equal width for all columns.
  • Number of columns. Select the number of columns from 1 to 8.
  • Spacing between columns. Enter a number in the field to set the distance between columns in pixels. The range is from 0 to 40.
In-App editor Columns settings highlighted, showing Equalize width, column count from 1 to 8, and distance between columns

Stack Vertically in Portrait Mode

When this option is enabled, the columns are displayed vertically when the message is viewed in portrait mode.

In-App editor with the Stack vertically in portrait mode toggle highlighted and enabled

Background

To select the background of the component, activate the Background slide button and choose one of the following options:

  • Image to upload your pictures or select from the built-in library.
  • Color to choose the desired color from the palette or enter its code manually.
In-App editor Background settings highlighted, showing Image and Color options with a color swatch

Background Blur

The acceptable values for background blur range from 0 to 100.

In-App editor Background blur setting highlighted, showing a blur value applied to the message background

Stroke

Activate Stroke to set formatting for the outer contour of the Container and Columns components. You can set the same stroke format for all sides at once or for each individually by choosing:

  • Stroke Type: solid, dashed, dotted.
  • Thickness: Acceptable values are from 0 to 100.
  • Color: Choose it from the palette or specify manually.
In-App editor Stroke settings highlighted, showing solid line type, thickness, and color fields for each side

Shadow

Activate the slide button to set shadows for the component. The following settings are available:

  • Vertical (x) and horizontal (y) spread.
  • Blur.
  • Size.
  • Color.

Hover over each value field to see its minimum and maximum value.

In-App editor Shadow settings highlighted, showing X, Y, blur, and size value fields

Round Corners

This option allows you to set the value for rounding the component's corners.

In-App editor Round corners settings highlighted, showing corner radius values for a button

Text Formatting

Select the component that contains text to access the formatting menu.

In-App editor text formatting panel showing text style, font family, weight, size, color, case, alignment, and spacing options

Custom Fonts

In the text formatting menu, open the Font field and switch to the My fonts tab to add and use your own fonts, matching your brand style without switching to the HTML editor.

Click + Add font and fill in the font parameters:

  • Font name
  • URL with CSS file
  • Family
In-App editor text formatting panel showing the Font family field set to Montserrat, along with font weight, size, and color options

You can get these parameters from Google Fonts or another font library — the process is the same as for the Email editor.

Once added, the font appears in the My fonts list, where you can edit or delete it, and becomes available for selection in the Font field for any text component.

šŸ“˜

Note

Some email and app clients may not support custom fonts or fail to load them. In that case, a similar system font is used as a fallback.

Icon

For the Button component, you can add an icon with the following parameters:

  • Size
  • Alignment
  • Distance before text
In-App editor Icon settings panel showing size, alignment, and distance before text options with an icon example

Hover Effects

Activate the slide button to make the button more interactive when hovered over or tapped.

In-App editor Hover effects settings panel showing text color, stroke, background, and shadow options for the hover state

Loop Animation

The Loop animation option allows you to choose the following parameters for the Button component from the drop-down lists:

  • Animation type.
  • Number of repetitions.
In-App editor Loop animation settings showing the Wobble animation type selected with loop count set to 3

Slider

Drag the slider from the left-side panel and drop it into the message template. Set up slider and Manage slides buttons will appear on the right-side panel.

In-App editor showing the Slider component in the left panel with Set up slider and Manage slides buttons highlighted

In the slider setup window, you can set up navigation buttons, indications, slideshow animation, and the slider's general design.

Slider setup panel showing slider type options, navigation buttons, indication, slideshow animation, and loop sides settings

Manage slides’ order, add, duplicate, or rename slides after clicking the Manage slides button.

Slides panel showing Slide 1 and Slide 2 with an Add slide button

Also, you can add a slide by clicking on the + sign.

In-App editor showing the plus icon for adding a new slide highlighted next to the slide counter

To change or edit an image, click on it in the template, after which it will appear in the right settings panel. Clicking on the image from the slider in the settings panel opens the editing window.

In-App editor showing the slider image settings panel with Fill and Fit options, position controls, and the selected slide thumbnail highlighted

Use navigation buttons to switch between the slider’s images.

In-App editor showing the slide counter with navigation arrows highlighted above the slider component

Set the action on click:

In-App editor Action on click menu expanded showing Open URL, Close current message, and Use click tracking options

Context Menu

A Context menu becomes available upon right-clicking on the message component with the following actions:

In-App editor showing the right-click context menu with Copy, Duplicate, Cut, Delete, and floating image ordering options
  • Copy
  • Duplicate
  • Cut
  • Delete
  • Put behind all floating images
  • Put in front all floating images
  • To container

Close Icon

The Close icon allows the user to close the message.

You can use standard and custom icons with settings for color, size, and positioning on the screen.

Close button settings panel showing icon style options, color, size, and position fields, with the close icon highlighted on the message preview
šŸ“˜

Note

The position of the Close icon is calculated from the top-right or top-left corner of the message.

Message Orientation

The message can be displayed in Portrait or Landscape mode, depending on how the user holds the device (vertically or horizontally).

To see how the message will display on the device, click the Orientation icon at the editor's top.

In-App message preview with Portrait and Landscape toggle buttons at the top, showing the message displayed in portrait mode

Ā Press the Save button on the top panel of the editor to apply the changes after configuring the In-App message.

In-App editor showing the Save button highlighted in the top toolbar

Fill in the New Message field. This field is available for searching messages in the general list; users will not see it.

New message page showing the New Message name field highlighted, with the message preview and Unpublished status

HTML Editor

This method of creating In-App messages is more labor-intensive and requires specific technical skills in working with HTML and CSS; however, it provides a more flexible approach to customizing message content.

Fill in the In-app name field.

HTML editor showing the In-app name field highlighted

HTML Settings

Open the HTML tab.

HTML editor showing the HTML tab selected, highlighted next to the CSS tab

You can put your HTML code or use our base code.

Using base code

Copy and paste the base HTML into the code window. Insert your code instead of Your code goes here text.

HTML editor showing the base HTML code with the comment marking where custom code should be inserted, highlighted at the bottom

Custom HTML markup rules

  1. Use buttons instead of anchors
🚧

Attention

Usage of Anchor HTML elements is forbidden.

  1. Set data attributes for the clickable element

Each clickable element must have the required data attributes.

  • Code of the button that should open the URL:

    - \<button  
                      data-target-component-id="1c92f19e-c994-11ed-afa1-0242ac120002"  
                      data-sys-action-type="OPEN_URL"  
                      data-sys-action-params="{"url":"<https://google.com"}">  
                      class="button">  
      </button>
  • Code of the button that should close a widget:

    - <button
                      data-target-component-id="c740db99-cfbb-4857-b790-cb5631c33255"
                      data-sys-action-type="CLOSE_WIDGET"
                      class="close-button">  
      </button>
Attribute nameAttribute value
data-sys-action-typeOne of action:
  • CLOSE_WIDGET
  • CLICK
  • OPEN_URLCLICK and OPEN_URL are counted in the statistics as clicks, CLOSE_WIDGET — no.
data-target-component-idGenerate a unique element’s UUID (e.g., using Online UUID Generator)

Use Margin Top 50 px (approx) so the content does not overflow the iOS devices panel.

CSS Settings

Open the CSS tab and add CSS rules in the code window.

HTML editor showing the CSS tab selected with an empty CSS code window

Adding CSS code is optional, but custom HTML is usually displayed incorrectly without CSS.

After adding the code, press the Save and exit button on the top panel of the editor to apply the changes.

HTML editor showing custom HTML code in the code window with the Save and exit button highlighted

Messages created using the HTML editor are marked with the corresponding icon.

Messages list showing an In-App message marked with the HTML icon, highlighted

Velocity Personalization

Supports:

  • resolving any context key as a root-level variable, for example $eventParam;
  • fallback syntax ${key|'altKey'}, which lets you use an alternative key when the primary key is unavailable;
  • contact context aligned with other communication channels, including case-insensitive access to contact fields, for example $firstName and $FirstName.
In-App message preview showing Velocity personalization variables such as $!firstName, ${address}, ${eMail}, $!{personal.countryCode}, and ${town|'altTown'} above a 25% discount graphic

These features are available for In-App messages that users see after clicking a mobile push notification.

Multilingual Version (optional)

You can create multiple language message if this option is available in your pricing plan. Click the globe icon in the editor's top panel, specify the default language, and add language versions.

In-App editor showing the globe icon highlighted in the top toolbar for adding language versions

When adding a language version, the automatic translation option is enabled by default. To translate manually, disable it.

In-App editor language dropdown open showing the Translate automatically toggle enabled and a list of available languages
šŸ“˜

Note

The language is determined by the device language, and not by the one written in the contact card.



Did this page help you?