Multi-step messages
UpdatedThis feature is in beta
This feature might not be available for your account while we complete a final round of testing—but it will be soon!
Multi-step messages let you send a single in-app message that contains sub-messages or steps, if you will. With multi-step messages, you can respond to user inputs or feedback without having to set up multiple messages or complicated campaign logic.
How it works
You can add multiple steps to your in-app message, where users progress through each step as they interact with your message—click a button; go to the next step within the in-app message. You might do this to walk new users through an onboarding flow, showcase new features in your app, immediately respond to surveys, and so on. Each step in the message has the same display properties (modal, overlay, etc.), but otherwise, each step can have its own design, content, buttons, and behaviors.
To step through your message, you’ll use the show step action. This action determines which step in your message to show in response to user input. For example, if your message contains a survey, you might provide two steps after your survey: one thanking users who respond and another telling users where they can provide feedback if they opt not to respond. You can link these steps to different buttons in your survey with the show step action, so your message adapts to your users’ behavior immediately and appropriately.


Set up a multi-step message
In your in-app message, click Steps in the upper left corner. Click Add step to add a new step to your message.
Go to the step that should lead to your new step and select a button, link, or any “clickable” element. Then go to the Action area and set:
- Behavior to
Show step
. - Target step to the step you want to show when the user interacts with the button, link, or other “clickable” element.
- Tracked name to something descriptive—this is what you’ll see in your campaign’s metrics.
- Behavior to
So, if your message contains two steps, you might go to a button on the first step and set the action to Show step
, with the Target step set to the second step in your message. Steps can operate in any order. For example, if your first step has multiple buttons, you could send your audience to different steps based on which button they click.
Field | Example Value | Description |
---|---|---|
Behavior | Show step | Shows another step in the same message. |
Target step | Message 2 | The step you want to show when the user interacts with part of your message. You don’t have to send people through your steps sequentially. You can send them to different steps based on their input. |
Tracked name | go-to-message-2 | The event name you want to use to track this interaction. |
Set the tracked name to something descriptive
In your campaign’s metrics, the Tracked Responses area shows individual clicks for each step in your message. If you set the Tracked name to something descriptive, it’ll be easier to tell which steps your users interacted with!
Renaming, duplicating, and deleting steps
You can rename, duplicate, and delete steps in your message, but remember that we use each message’s name to determine which message to show. If you delete or rename a message, you’ll need to update the show step action in your journey to use the new name.
- In your in-app message, click Messages in the upper left corner.
- Click and select the option to rename, duplicate, or delete the message.
- Update the show step action for any steps in your message that relied on the deleted or renamed message!


Multi-step metrics
A multi-step message is still considered a single message. We aggregate metrics for the complete message. This means that when someone sees your message, we’ll record an Open, regardless of how many steps they progress through in your message. We’ll record a single click for the entire message, whether someone clicks on one step before dismissing the message or progresses through all the steps in your message.
But, while we aggregate metrics for the complete message, you can see the Tracked names people clicked in the Tracked Responses area, including clicks for every step in your message. Make sure that you give your buttons, links, and other actions descriptive Tracked names so that you can easily tell where and how people interact with your messages.


Listening for step changes
You can listen for events from in-app messages, like when someone closes a message or clicks a button. For multi-step messages, you can listen for the Message Changed event, which fires when someone engages a step in a sequence. You can use this event to add special handling for people who progress through your messsage—like highlighting a new feature on a page as someone moves through a tutorial.
The code changes a bit depending on whether you’re using our JavaScript library for your website or one of our mobile SDKs, but the event contains an actionName
parameter that tells you the name of the step shown to a user.
window.addEventListener('in-app:message-changed', (event) => {
console.log(event.detail.actionName);
});
See the JavaScript library reference or your SDK’s in-app documentation for more information.
Best practices
Give your steps descriptive names. By default, we call each step “Step 1”, “Step 2”, and so on. But, if you give your steps descriptive names, it’ll be easier to remember, or communicate with your team, what each step is for. For example, you might have multiple steps in your message that don’t display sequentially depending on user inputs! You might want an introduction step, a call to action step, and so on.
Set descriptive Tracked names for your show step actions. This makes it easier to tell which steps your users interact with. Not only does this help you determine engagement in Tracked Responses metrics. You can also trigger follow-up campaigns and add people to segments based on the tracked name.
Tracked names in events and downstream campaigns
You can use tracked names in events and downstream campaigns. For example, you might want to trigger a follow-up campaign based on whether someone clicks a button on the second screen in your message.

