How it works
- Define a placement in Settings > In-app > Placements, or with the API, CLI or MCP. The key (
home_hero) is what your app’s code uses and never changes. Optional size hints tell whoever writes the content how much room the slot has; the editor previews at that width. - Add an in-app step to a sequence and choose the Placement format. Pick the placement and a layout, write the content (eyebrow, title, message, image, up to two buttons and app data) and set a priority. If the slot does not exist yet, choose New placement… in the placement list to create it without leaving the step.
- Each contact who reaches the step gets the item in their in-app inbox. It stays until they dismiss it or it expires (placement items never expire unless the step sets an expiry).
- Your app asks for the placement through the SDK view, which shows the contact’s open item with the highest priority. Ties go to the newest item.
identify, reset and when the app comes back to the foreground, and reports displayed once per item per app session, clicked when a link button is used and dismissed for a dismiss button. After a dismissal the next item for that slot, if any, takes its place. Mobile views report displayed when the item is added to the screen’s view tree, even below the fold of a scrolling screen; the web element waits until half of it is visible.
Priority
Every placement item has a priority: High, Medium (the default) or Low. When a contact has several open items for the same placement, from different sequences or repeated runs of one, the highest priority shows; ties go to the newest. Use High for time-limited offers and Low for evergreen content that fills the slot when nothing else applies.Layouts
Every placement item is drawn with one of three layouts, in the step’s colors, corners and font:
The first button is the main action. Card draws it as a text link in the accent color; Banner and Hero draw it as a filled button in the button colors and corners from Design. The second button is always a text link. A light accent that would be hard to read is replaced by the muted text color, and on a Hero image a light button turns white, the same rules the in-app messages follow.
Placement items have no unread dot, pin or close control. Add a dismiss button if contacts should be able to close the content. The view takes the full width your layout gives it and is as tall as its content (a Hero is at least half as tall as it is wide).
To draw the content with your own components, read the item yourself (see each platform below) and report events with the SDK’s report helpers.
Add a placement view
Every SDK needs the setup from Mobile SDKs (publishable key, identify with an identity token).- SwiftUI and UIKit
- Android
- React Native and Expo
- Flutter
- Web
SequenzyPlacements.shared.observe("home_hero") { item in ... } and report with logDisplayed(_:), dismiss(_:) and Sequenzy.handleButtonTap(_:in:).From your backend
A server-rendered app can fetch placement content with an API key through Get Placement Content, draw it, and report events with Record In-App Event.Stats
Settings > In-app > Placements lists each placement with Live (contacts with open content), Shown and Clicked (contacts who saw or clicked their item) and the click rate. Each in-app step shows its own created, displayed, clicked and dismissed counts on the sequence canvas. The API returns the same numbers from List Placements and Get In-App Step Stats.Deleting a placement
Deleting a placement collapses its slots on the next refresh. In-app steps that target it skip contacts (the activity showsplacement_not_found) until a placement with the same key exists again; the step editor flags the missing placement. Items already created stay in contact history, and never show again: a placement created later with the same key only shows items created after it.
Limits
Placement content uses the native layout; custom HTML is available for in-app messages (see Custom HTML Messages).