In-app message events
There are three kindsevent.kind
of In-App Message Events:
- In-app Impression -
message.iam.impression
- In-app Clicked -
message.iam.clicked
- In-app Page Displayed -
message.iam.page_displayed
In-app impression
This event fires as soon as the message finishes loading and displayed on screen. When using carousels, you can get the name and UUID of the specific page that is shown by usingevent.data.page_name
and event.data.page_id
.
In-app clicked
This event is applicable to any element or block with a click action (also referred to as “target”). You can get the name and UUID of the specific target that is clicked on by usingevent.data.target_name
and event.data.target_id
, as well as the page the target belongs to using event.data.page_name
and event.data.page_id
.
See In-app click actions for details.
In-app page displayed
This is an event that is only applicable to carousels. You can get the name and UUID of the specific page or card that is shown by usingevent.data.page_name
and event.data.page_id
. The impression for the first card is fired as soon as the document finishes loading. Subsequent page impressions are fired upon swipe.
In-app message event data
Eachevent.kind
can have additional event data depending on how you create the in-app message.
The name of the page or card that is displayed when the 
event.kind
is clicked
or page_displayed
. Not available for impression
events.The page_name
is helpful to know which page was displayed and what was clicked on that page.Page names default to “Card 1”, “Card 2”, etc. but you can change the names within the Block Editor.
A unique identifier for the page. Helpful for cases of using a carousel and an old card is deleted or replaced with a new card.
The name of the button or image block element. You must set a click actions.
A unique identifier for the button or image block element. You must set a click actions. This is helpful when using a carousel and an old card is deleted or replaced with a new card.
Create your in-app message Event Stream
Setup event streams
Review the Event Stream Setup instructions for guidance on setting up and personalizing your event stream. The following provides IAM-specific steps for configuring your event stream (step 3).Ensure the target you want to track is set up correctly
In order to leverage custom names in the body of an event streams request you must manually specify a new custom name in the Block or HTML editor. In-App Messages that have existed prior to the release of custom names will not be able to exposepage_name
and target_name
values in the event stream until the In-App is updated with custom names for each page or block.
After the In-App has been updated, event stream requests that are triggered from that moment on will have access to those values. At any given time, the page_name
and target_name
values will reflect the custom names state of the In-App at that moment, which may change if the In-App is ever updated again.
All three events can be used with this editor. When using the block editor, ensure that the target contains an In-app click action. A target includes images, buttons, the close button, and the background block. Text blocks do not currently support click actions and are not included.Target custom names should be unique to avoid confusion in the dashboard experience.
Utilize unique IDs
Best Practice: When using Event Streams for analytics purposes, usemessage.id
, page_id
, and target_id
to validate uniqueness. Custom names can be used but are meant to help differentiate between elements in one IAM in a human-readable format. If you have multiple in-app messages, use message.id
to differentiate them.