Skip to content

Simple survey

Use the Simple Survey in-app message template to collect user attributes, insights, and preferences that power your campaign strategy.

For example, ask users how they’d like to use your app, learn more about their personal preferences, or even ask about their satisfaction with a particular feature.

Three simple survey messages: notification preferences, dietary preferences, and a customer satisfaction survey. The selected options in the surveys correspond to custom attributes that will be logged for that user.

SDK requirements

This in-app message will only be delivered to devices that support Flex CSS, and must have at least the following SDK versions.

Creating a survey

When creating an in-app message, select Simple Survey for your Message Type.

This survey template is supported for both mobile apps and web browsers. Remember to check that your SDKs are on the minimum SDK versions required for this feature.

Step 1: Add your survey question

To get started building your survey, add your question to the survey Header field. If desired, you can add an optional Body message that will appear under your survey question.

Compose tab of the simple survey editor, with fields for a header, optional body, and optional helper text.

Step 2: Choose between single or multiple-choice

Use Single-choice selection or Multiple-choice selection to control whether a user can select only one choice or multiple choices. You can add up to 12 choices in a survey.

Choices dropdown with "Multiple-choice selection" selected.

Step 3: Collect custom attributes

Select Log attributes upon submission to collect attributes based on the user’s submission. You can use this option to create new segments and retargeting campaigns. For example, in a satisfaction survey, you could send a follow-up email to all users who were not happy.

Choices dropdown with "Log attributes upon submission" selected.

To add a custom attribute to each choice, select a custom attribute name from the dropdown menu (or create a new one), and then enter the value to set when this choice is submitted. You can create a new custom attribute in your Settings Page.

For example, in a notification preferences survey, you might make each choice a boolean (true/false) attribute to allow users to select which topics they’re interested in. If a user checks the “Promotions” choice, that will update their user profile with the custom attribute Promotions Topic set to true. If they leave the choice unchecked, that same attribute will remain unchanged.

You can then create a segment for users with Promotions Topic = true to make sure that only users interested in your promotions will receive the relevant campaigns.

Custom attribute data types

The data type of your custom attributes matters depending on how you’ve set up your survey.

  • Multiple-choice selection: The data type of the custom attribute must be an array. If the custom attribute is set to a different data type, responses will not be logged.
  • Single-choice selection: The data type of the custom attribute must not be an array. Responses will not be logged if the attribute is an array.

Logging responses only

Alternatively, you can choose to Log responses only (no attributes). When this option is selected, survey responses are logged as button clicks, but custom attributes are not logged to a user’s profile. This means you can still view the click metrics for each survey option (see Analytics), but that choice won’t be reflected on their user profile.

These click metrics are not available for retargeting.

Step 4: Choose submission behavior

Once a user submits their response, you can optionally show a confirmation page, or simply close the message.

A confirmation page is a great place to thank users for their time or provide additional information. You can customize the Call To Action on this page to guide users to another page of your app or website.

Edit your button text and on-click behavior in the Submit Button section at the bottom of the Survey tab:

On-click behavior set to "Submit responses and display confirmation page".

If you elect to add a confirmation page, switch to the Confirmation Page tab to customize your message:

Confirmation Page tab of the simple survey editor. The available fields are header, optional body, button text, and button on-click behavior.

If you want to guide users to another page of your app or website, change the button’s On-click behavior.

Step 5: Stylize your message (optional)

You can customize the font color and accent color of the message using the Color Theme picker.

Compose tab of the simple survey editor with the Color Theme picker expanded after a user has clicked on the color palette.

Analyze results

Once your campaign has launched, you can analyze results in real-time to see the breakdown of each selected choice. If you’ve enabled custom attribute collection, you’ll also be able to create new segments or follow-up campaigns for users who have submitted the survey.

For definitions of survey metrics, refer to the Report Metrics Glossary and filter by “In-App Message”.

In-app message performance panel with click analytics for each choice and button on the survey.

Check out In-app message reporting for a breakdown of your campaign metrics.


Selected choices will automatically flow through to Currents, under the In-App Message Click Events button_id field. Each choice will be sent with its universally unique identifier (UUID).

Use cases

User satisfaction

Goal: Measure customer satisfaction and send win-back campaigns to users who left low scores.

For this use case, use single-choice selection, with choices ranging from “Very Dissatisfied” to “Very Satisfied”. Each choice has the custom attribute customer_satisfaction set to a number from 1 to 5, with 1 being the least satisfied and 5 being the most satisfied.

After you’ve launched your survey, you can then target your win-back campaigns to users who reported being “Very Dissatisfied” or “Dissatisfied”, which are users with customer_satisfaction set to 1 or 2.

Identify customer goals

Goal: Identify top reasons why users visit your app.

For this use case, use single-choice selection, with each choice being a common reason a user might be visiting your app. Each choice has the custom attribute product_goal set to the use case topic.

For example, if the user selects “Upgrading my account”, that will set product_goal = upgrade on the user’s profile.

Improve conversion rates

Goal: Understand why customers aren’t upgrading or purchasing.

For this use case, use single-choice selection, with each choice being a common reason why a user might not upgrade to a premium account. Each choice has the custom attribute upgrade_reason set to the user’s selection.

For example, if the user selects “Too Expensive”, that will set upgrade_reason = expensive on the user’s profile. You can target these users for promotional campaigns like discounts or free trials.

Favorite features

Goal: Understand which features customers enjoy using.

For this use case, use multiple-choice selection with each choice being an app feature. Each choice has the custom attribute favorite_features set to the user’s selection. Because this use case involves multiple choice, after the user has completed the survey, their profile will be updated with the favorite_features attribute set to an array of all selected options.

New Stuff!