About Scenes
Scenes are multi-screen experiences that are cached on users’ devices and displayed when your users meet certain conditions within your app. Scenes are an AXP feature.
You can create scenes from scratch or by selecting a template for these experiences:
App Onboarding — Onboard new users to your app.
App Update — Alert users that the latest version of your app is now available.
Account Upgrade — Inform users that their subscription has ended or that it is time to upgrade.
Feature Awareness — Educate users about specific features to encourage them to try them out.
NPS Feedback — A survey based on the net promoter score metric, which measures how likely it is that your users would recommend your brand or product to a friend or colleague. This can be used to measure their overall sentiment about your brand or product (known as relational NPS) or about a specific experience or transaction, such as booking a flight (known as transactional NPS). After selecting a template, you customize the questions and design. You also have the option to create a confirmation screen that appears when a user submits the survey.
User Feedback — A general purpose survey with multiple question options to collect a wide range of user feedback. After selecting a template, you customize the questions and design. You also have the option to create a confirmation screen that appears when a user submits the survey.
Survey questions in scenes require analytics be enabled in the SDK. Analytics are enabled by default, and disabling them renders certain features, such as surveys, nonfunctional. See the Analytics and Reporting section of the SDK documentation for information about enabling analytics.
Use cases
In addition to the ready-made use case templates, scenes can be used for a variety of custom experiences that you define. Examples:
- Welcome messages — Communicate the value of your app and highlight key features.
- Push opt-in prompts — Explain the value of your notifications to drive opt-in rates.
- App reviews — Prompt users to rate your app after positive experiences.
- Registration/login — Drive registrations and logins to your loyalty program or account.
- NPS (Net Promoter Score) — Display an NPS survey to gauge how likely your users are to recommend your app.
- Customer service rating — Display a customer service satisfaction survey after they end a support chat.
- Purchase confirmation — Display a survey after they complete a purchase to get feedback on your checkout process.
- General feedback — Display a survey in response to a button click.
- Account closure — Display a survey at the end of an account closing asking why they closed their account.
Appearance and behavior

Scenes are cached on users’ devices upon receipt of a background push. When background push is disabled for your project, or for users opted out of background app refresh, our SDK downloads and refreshes scenes during the next app open.
They appear regardless of a user’s opt-in/out status for notifications and remain on screen until the user interacts with them, either by swiping through all screens or dismissing the scene.
Scenes can be customized for device Light and Dark modes by creating Color SetsA named pair of hexadecimal color values supporting device Light and Dark modes. Color sets can be selected for any color field in a scene and when configuring the default appearance of surveys, scenes, and in-app automations. Dark mode is supported for scenes only. and assigning them for design elements, e.g., background and text.
Modal and fullscreen styles are supported. Each screen can contain these elements:
Text — May include header, body, and footer fields. The footer field functions as a button and is designed to link to your Terms and Conditions, Privacy Policy, or additional information to help the user make a more informed decision about the actions they could take in this message. 15 text elements maximum per screen.
List — A bulleted list, where the bullet is an image you provide, followed by text.
Question — Questions can be designated as required. Screens support multiple questions, with 10 questions maximum per scene.
Open Text questions are followed by a text field where users can enter a response.
Single Choice questions are followed by radio buttons for selecting one of multiple answers you provide. Answers can be presented in random order. Responses can be stored as text or number AttributesMetadata that you can use for audience segmentation. Attributes differ from tags in that when evaluating users with attributes, Airship uses operators, e.g., equals, less than/greater than, contains, before/after, to determine whether or not to target a user. Supported attribute types are TEXT, NUMBER, and DATE. .
Multiple Choice questions are followed by check boxes for selecting one or more answers you provide. Answers can be presented in random order.
Media — An image or video. 10 media elements maximum per screen. See: Media guidelines.
NPS — A survey based on the net promoter score metric, which measures how likely it is that your users would recommend your brand or product to a friend or colleague. The survey format is a question with answer scale 0-10. You can add one NPS survey per scene.
Button group — One button group per screen is allowed. A button group can support up to five buttons, and you will associate an action for each. If two or more buttons are added, choose a button layout: Separate, Joined, or Stacked. You can also pin buttons to the bottom of the screen when the user scrolls. You can also configure options:
Accessibility description — Text that can be announced by assistive technology, such as screen readers. This overrides announcement of the button text.
Event name — By default, the total clicks for all buttons in the scene are reported using Custom EventEvents that indicate that a user performed a predefined action, such as adding an item to a shopping cart, viewing a screen, or clicking an Unsubscribe button. Custom events can trigger automation, sequences, scenes, and surveys. You can code them into your app or website, or send them to Airship from an external source using the custom event API. Custom events contain
properties
that you can use to personalize messages.button_action
. To differentiate the clicks for a specific button, you can enter your own event name. Event names also support HandlebarsHandlebars is Airship’s templating language for personalization. Handlebars expressions use double curly braces wrapped around a content template, ranging from a simple variable, e.g.,{{first_name}}
, to complex evaluations of personalization data. .Tags and subscription list opt-in/out — Add or remove a TagMetadata that you can associate with channels or named users for audience segmentation. Generally, they are descriptive terms indicating user preferences or other categorizations, e.g.,
wine_enthusiast
orweather_alerts_los_angeles
. Tags are case-sensitive. or opt a user in to or out of a Subscription ListAn audience list of users who are opted in to messaging about a specific topic. Users can manage their opt-in status per list using a preference center. when they tap the button.Fix at bottom on scroll — Keep buttons visible at the bottom of the screen when the user scrolls.
You can drag and drop to reorder the above elements in your screens.
Styles and dismiss button
There are two scene styles:
A modal scene takes over the user’s screen, compelling the user to interact with it. The modal window is smaller than the full width of the screen, superimposed on the app with a translucent background, indicating that the interruption is temporary.
Fullscreen scenes have the same design as modal but use the entire screen.
Appearance can vary based on device size. We recommend testing on devices to ensure your scenes appear as intended.
The Dismiss button appears as an X in the upper right corner of the scene. You can select a Color SetA named pair of hexadecimal color values supporting device Light and Dark modes. Color sets can be selected for any color field in a scene and when configuring the default appearance of surveys, scenes, and in-app automations. Dark mode is supported for scenes only. or enter a hexadecimal color value to customize its color or opt to hide it.
Design
You can customize the appearance of each screen:
Background — You can set a color or provide media. See: Media guidelines.
Text — For Header, Body, Footer, Questions, and Answers. Body text also applies to each item in a list.
- Font family
- Color
- Text Size — Numeric value defined as points, not pixels
- Alignment — Left, right, center
- Style — Underline, bold, italic
Buttons
- Text — Font, color, size (numeric value defined as points, not pixels), style (underline, bold, italic)
- Background color
- Border — Color, radius
Dark mode is supported when using a Color SetA named pair of hexadecimal color values supporting device Light and Dark modes. Color sets can be selected for any color field in a scene and when configuring the default appearance of surveys, scenes, and in-app automations. Dark mode is supported for scenes only. with a Dark Mode color configured.
Tags
You have the option to set a tag when a scene is displayed.
Templates
Each template has various screens with content placeholders supporting the template purpose. You can add, duplicate, reorder, and remove screens. The same design options are available if you choose to create a screen from scratch.
Optional features
In addition to configuring when the scene will display and its appearance and content, you can also set optional features:
Priority — Because multiple scenes can become eligible for display at the same time, you can assign a priority value to each one. If no priority is assigned, by default, the most recently updated scene will appear first. Priority is shared across Scenes, SurveysQuestion-and-answer experiences used to collect and aggregate feedback or generate a net promoter score. They are cached on users’ devices and displayed when your users meet certain conditions within your app, such as viewing a particular screen or opening the app a certain number of times. , and In-App AutomationMessages that are cached on users’ devices and displayed when your users meet certain conditions within your app, such as viewing a particular screen or opening the app a certain number of times. .
Repeat — To prevent over-messaging, our SDK waits 30 seconds after one scene is closed before displaying the next eligible scene. This delay value can be updated through native code. You may also control the number of times an individual scene is displayed and the minimum waiting period before it is eligible for redisplay. Redisplaying your scene is useful because users can dismiss or ignore scenes.
Start and end dates — Set the dates and times during which your scene can be displayed. Specifying a window of time is useful for scenes that are time-bound or tied to scheduled events.
Missed behavior — Override the project-level setting for how the scene is handled when audience conditions are not fully met.
Ignore Message LimitsLimits that cap the number of messages you can send within a specified time frame, preventing you from over-messaging your users. They are set at the project level. — Override the project-level limit for a single scene.
Campaign categories — Group scenes of a similar type or messaging strategy for aggregate reporting.
Custom keys — Custom keys are additional key-value pairs you can send to a device along with the scene, for use by custom code in your app. You can use custom keys to pass additional campaign identifiers for analytics, pass user information to the device, control the look and feel of the app, provide image links, etc.
Scene status
Scene status is either Active, Expired, Canceled, or Pending. When you first create a scene it is Active. It remains active until either:
It expires according to its end date.
OR
You stop it. Stopped scenes are considered canceled.
- Active scenes can be edited or canceled at any time.
- An Expired or Canceled scene can be edited and its end date extended, making it active again, within a grace period of 14 days. After 14 days they can only be duplicated.
A recently created or edited scene has the status Pending for a few seconds until it completes processing and becomes Active.
See: Change status.
Background push
Background push invokes any typical background actions your app takes when it is woken. For some apps, this behavior can be too much to handle. Because of this, background push is disabled by default for use with scenes.
If you are confident with you app’s ability to handle a larger number of background push notifications, for best results, we highly recommend enabling background push for scenes. Without the use of background push, your app will not receive necessary updates of scenes until the next time the app is opened.
Here are some examples of what can happen if background push is not enabled:
New scenes may not be available on the device before the user generates the event that triggers the scene display.
Updates to or cancellations of scenes may not get applied in time, so your app may display the wrong version of a scene or display a scene that should not have been displayed.
Please note that while background push is not guaranteed to solve all of the issues above, it does give the SDK the best opportunity to update the scene list before the app is open, making it more likely that your user sees the correct scene.
Enable background push in your project settings.
Design defaults
You can set appearance and behavior defaults for surveys, scenes, and in-app automations, including Color SetsA named pair of hexadecimal color values supporting device Light and Dark modes. Color sets can be selected for any color field in a scene and when configuring the default appearance of surveys, scenes, and in-app automations. Dark mode is supported for scenes only. and custom fonts. You can override the defaults in the Design settings in the Content step of the Scene composer. See: In-App Experience Design Defaults.
Segmentation
If your scene contains an NPS survey, Airship automatically generates AttributesMetadata that you can use for audience segmentation. Attributes differ from tags in that when evaluating users with attributes, Airship uses operators, e.g., equals, less than/greater than, contains, before/after, to determine whether or not to target a user. Supported attribute types are TEXT, NUMBER, and DATE. based on the following data:
- NPS Score is the score submitted by the user: 0-10.
- NPS Category is one of three categories based on the NPS Score. Ratings 9 and 10 have category Promoter, 7 and 8 are Passive, and 6 or lower are Detractor.
See also: Segmenting your audience.
Reporting
We provide aggregate information about responses to questions and NPS surveys in your scene at Reports » Surveys. See: Engagement Reports: Surveys.
Performance reports are available for individual scenes in the same format as Message Reports. From Messages OverviewA view of all your project’s messages, with options for editing their settings, content, status, and more. click for a scene to open its report.
The header displays the scene name and creation date, time and time zone, as well as its status. Options in the header:
— Changes the status of an Active scene to Canceled. This is effectively the same as specifying an end date, immediately applying an end date of “now.” Active messages can be canceled at any time.
— Changes the status of a Canceled or Expired scene to Active. See: Restart an in-app automation, scene, or survey. This is effectively a shortcut to editing the scene and either eliminating or specifying an end date. Expired scenes can be restarted within a grace period of 14 days. After 14 days they can only be duplicated.
— Opens the scene for editing. Availability depends on its status. Active scenes can be edited at any time. An Expired or Canceled scene can be edited and its end date extended, making it active again, within a grace period of 14 days. After 14 days they can only be duplicated.
— Creates a copy of the scene and opens it for editing. You must complete the composer steps in order to save the new scene.
Performance
The Performance section of a scene report displays:
Latest Message Activity — The username, date, time, and activity associated with the most recent change to the scene. Last Message Activity data is available for 90 days after scene creation. For scenes with more than one activity, click Show all to open a modal window that displays all activity.
Statistics:
- Scene Displayed — The total number of times at least the first screen of the scene was displayed.
- Scene Completed — The total number of times all screens in a scene were displayed and the rate of completion. This only appears for scenes with more than one screen.
- Scene Dismissed — The total number of times the scene was dismissed before the last screen was displayed.
- Survey Displayed — For scenes with questions or NPS, the total number of times the first screen with questions/NPS was displayed.
- Survey Submitted — For scenes with questions or NPS, the total number of times users clicked the button with action Submit Responses and the rate of submission.
- Survey Not Submitted — For scenes with questions or NPS, the total number of times users dismissed the scene without clicking the button with action Submit Responses.
- Total Push Opt-in — The total number of users that opted in from the system prompt or app settings after clicking a button with action Push Opt-in.
Note Ideally, Scene Displayed = Scene Completed + Scene Dismissed, however there may be discrepancies due to:
- Users currently viewing a scene — Users triggered the scene but have not yet dismissed or completed it.
- Users closed the app, or users used the Back button on Android — These behaviors are not reported by the SDK, so the related events are not tracked or counted.
Engagement Over Time — A chart displaying daily Completed, Dismissed, and Push Opt-in counts over the last 7 days. Hover over a date to see counts per day. You can select another time frame, and the chart will reload with the data for that period.
Scene detail
The Scene Detail section of a scene report displays the same information shown in the Review step of the Scene composer and counts for screen displays and dismissals. Click the arrows to page through the previews of each screen.
If you are currently running an A/B test, you will see performance metrics for each variant. For more information, see: Select the winning message.
If you included questions or an NPS survey in your A/B test, responses are includes in the aggregate report in Reports » Surveys. You can click the link in Scene Details to go to that report.
Events
The Events section of a scene report displays a list of events directly and indirectly attributed to the scene. Click Download CSV to export the data.
The Events section is only displayed if you have Custom EventsEvents that indicate that a user performed a predefined action, such as adding an item to a shopping cart, viewing a screen, or clicking an Unsubscribe button. Custom events can trigger automation, sequences, scenes, and surveys. You can code them into your app or website, or send them to Airship from an external source using the custom event API. Custom events contain properties
that you can use to personalize messages. enabled.
- Event Name — Human-readable name assigned to a particular custom event.
- Notification Attribution — Displays whether your event was directly or indirectly attributed to the scene.
- Count — The number of instances of this event.
- Value — The value (monetary or otherwise) generated by the event.
- Average Value — Value divided by Count.
- % of Total Count — Count divided by the Total Count (listed on the bottom row).
Reported events are also accessible via Real-Time Data StreamingA service that delivers engagement events in real time via the Data Streaming API or an Airship partner integration. and Performance AnalyticsA customizable marketing intelligence tool that provides access to reports and graphs based on engagement data. . These events include:
- Scene displayed
- Scene completed
- Scene incomplete
- Button clicked (each button is a separate event)
If your scene contains questions, these events are included:
- Survey displayed
- Survey submitted
- Survey not submitted
Message limits
Message limits cap the number of messages you can send within a specified time frame, preventing you from over-messaging your users. They are set at the project level. The limit for Scenes, SurveysQuestion-and-answer experiences used to collect and aggregate feedback or generate a net promoter score. They are cached on users’ devices and displayed when your users meet certain conditions within your app, such as viewing a particular screen or opening the app a certain number of times. , and In-App AutomationMessages that are cached on users’ devices and displayed when your users meet certain conditions within your app, such as viewing a particular screen or opening the app a certain number of times. are combined. See: Message Limits.
Minimum SDK versions
Minimum SDK required for using questions and NPS surveys in scenes: iOS 16.9+ and Android 16.9+.
iOS: 16.2.0
Android: 16.2.0
Categories