About Surveys
Surveys are question-and-answer experiences used to collect and aggregate feedback or generate a net promoter score. Surveys are an AXP feature.
As of March 21, 2023, all Survey functionality is available in ScenesMulti-screen experiences 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. . As of March 23, 2023, new Airship customers will not see the Survey composer in the dashboard.
See our What’s New announcement for more information.
You create a survey using our provided templates:
NPS (Net Promoter Score) — 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).
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 can also create a confirmation screen that appears when a user submits the survey.
Surveys are designed to be highly contextual and displayed immediately in response to user behaviors, e.g., the user opens the app a specific number of times, views a specific screen, adds an item to their cart, makes a purchase, or views a video. Respond to user behaviors instantly by presenting a survey at the best time, giving you precise control of the user experience. Benefits include:
Real-time display — Surveys use our on-device automation framework, which means they can respond to a series of events in real-time (e.g., multiple game level changes, a sequence of screens, additions to a shopping cart) without round-trips to a server.
Guaranteed delivery — Surveys use background push for reliable delivery by sending a broadcast background push to all of your app users.
Dashboard management — Control all aspects of the survey, including branding, using the Airship dashboard.
Surveys require that 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
Here are a few example use cases for surveys:
- 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

Surveys 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 surveys 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 clicking one of the main buttons or dismissing the survey.
Styles and dismiss button
There are two survey styles:
A modal survey takes over the user’s screen, compelling the user to interact with it. Modals are typically used to prompt users to reply to a question or provide quick feedback. 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 surveys have the same design as modal but use the entire screen.
The Dismiss button appears as an X in the upper right corner of the survey. You can enter a hexadecimal color value to customize its color or opt to hide it.
Content

You can add more content to a survey:
Header — Text, up to 200 characters.
Body — Text, up to 2000 characters.
Question — Questions can be designated as required.
Open Text questions are followed by a text field where users can enter a response, up to 2000 characters.
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. . Randomized order requires iOS and Android SDKs 16.6+.
Multiple Choice questions are followed by check boxes for selecting one or more answers you provide. Answers can be presented in random order. Randomized order requires iOS and Android SDKs 16.6+.
Media (image or video) can be embedded in the survey. See: Media guidelines. A media element placed at the top of your survey can function as a header.
You can drag and drop to reorder header, body, question, and media content and question answers.
A single Submit button is configured and required by default. Clicking the button closes the survey if all required questions have been answered. You can edit the button label and add or remove tags when a user taps a button.
Design
You can customize the appearance of surveys:
- Background color
- Text — For Header, Body, Question, and Answer
- 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
Optional features
In addition to configuring when the survey will display and its appearance and content, you can set optional features:
Priority — Because multiple surveys 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 survey will appear first. Priority is shared across surveys, ScenesMulti-screen experiences 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. , 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 survey is closed before displaying the next eligible survey. This delay value can be updated through native code. You may also control the number of times an individual survey is displayed and the minimum waiting period before it is eligible for redisplay. Redisplaying your survey is useful because users can dismiss or ignore surveys.
Start and end dates — Set the dates and times during which your survey can be displayed. Specifying a window of time is useful for surveys that are time-bound or tied to scheduled events.
Missed behavior — Override the project-level setting for how the survey 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 survey.
Campaign categories — Group surveys of a similar type or messaging strategy for aggregate reporting.
Survey status
Survey status is either Active, Expired, Canceled, or Pending. When you first create a survey it is Active. It remains active until either:
It expires according to its end date.
OR
You stop it. Stopped surveys are considered canceled.
- Active surveys can be edited or canceled at any time.
- An Expired or Canceled survey 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 survey 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 surveys.
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 surveys. Without the use of background push, your app will not receive necessary updates of surveys until the next time the app is opened.
Here are some examples of what can happen if background push is not enabled:
New surveys may not be available on the device before the user generates the event that triggers the survey display.
Updates to or cancellations of surveys may not get applied in time, so your app may display the wrong version of a survey or display a survey 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 survey list before the app is open, making it more likely that your user sees the correct survey.
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 Survey composer. See: In-App Experience Design Defaults.
Segmentation
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 data from your NPS surveys:
- 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
Go to Reports » Surveys for aggregate information about responses to surveys. See: Engagement Reports: Surveys.
We also provide performance reports for individual surveys 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 survey to open its report.
The header displays the survey name and creation date, time and time zone, as well as its status. Options in the header:
— Changes the status of an Active survey 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 survey to Active. See: Restart an in-app automation, scene, or survey. This is effectively a shortcut to editing the survey and either eliminating or specifying an end date. Expired surveys can be restarted within a grace period of 14 days. After 14 days they can only be duplicated.
— Opens the survey for editing. Availability depends on its status. Active surveys can be edited at any time. An Expired or Canceled survey 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 survey and opens it for editing. You must complete the composer steps in order to save the new survey.
The Performance section displays:
Latest Message Activity — The username, date, time, and activity associated with the most recent change to the survey. Last Message Activity data is available for 90 days after survey creation. For surveys with more than one activity, click Show all to open a modal window that displays all activity.
Statistics:
- Total Displayed — The total number of times the survey was displayed on user devices.
- Total Completed — The total number of times the survey was submitted.
- Total Dismissed — The total number of times the survey was dismissed without being submitted.
The Survey Detail section displays the same information shown in the Review step of the Survey composer. Click the arrows to page through the previews of the survey and confirmation screen.
The Events section displays a list of events directly and indirectly attributed to the survey. 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 survey.
- 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:
- Survey displayed
- Survey submitted
- Survey not submitted
- Button clicked (each button is a separate event)
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 Surveys, ScenesMulti-screen experiences 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. , 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
iOS: 16.2.0
Android: 16.2.0
Categories