How to Enrich User Profiles through In-App Surveys


As a marketer, running a survey to ask questions and profile your users can provide numerous benefits. By gathering insights into their preferences, interests, and pain points, you can tailor your marketing campaigns to fulfill their specific needs, leading to higher engagement and conversion rates. User profiling also enables targeted messaging, personalized advertising, and remarketing strategies. Additionally, understanding why users unsubscribe or disengage helps improve their experience, mitigate churn, and foster long-term relationships.

In this article, we will create an In-App campaign to conduct a survey and save the survey response as user properties.

Expected Result

Users receive a survey on their phones when they open the app:




  • Integration of the MoEngage Android SDK or iOS SDK with your app. For more information, refer to the Developer Guide.
  • Events to track the action of a user unsubscribing from your newsletter and related information such as the platform, app version, plan. To understand how to track events, refer to the Developer Guide. In this example, we will name the event as “Newsletter Unsubscribed”.

Create an In-App Campaign to Conduct a Survey

In this section, let us create an In-App campaign to conduct a survey in your app to users who have unsubscribed from your newsletter:

Step 1: Target Users

  1. Navigate to the sidebar on the left and click Engage > Campaigns and click + Create campaign, or click + Create new > Campaign.
  2. Under Inbound, click In-app.
    You are taken to the first step "Target users" of defining your campaign.
  3. Enter the following details:
    • Campaign name: Enter a name for the campaign. For example, "Survey || Unsubscribed Users".
    • Campaign tags: Select the relevant campaign tags.
  4. In the Target Platforms section, select both the platforms Android and iOS.
  5. In the Trigger Criteria section, select On app open because we aim to understand the reason behind users who have unsubscribed. This will show the survey pop-up to users who belong to the target audience and then open the app.
  6. In the Target audience section, target the users who have unsubscribed from the newsletter. So select the User behaviour tab and define it as “Has Executed Newsletter Unsubscribed at least once in the last 30 days”. image-20240121-050811.png
  7. Click Next to move to the second step "Content" where you can define the content that will go into your campaign.

Step 2: Content

MoEngage In-App campaign offers a variety of templates for all your use cases. It also provides the option to start from scratch.

  1. Select the Prebuilt and saved templates tab.
  2. In the Filter By Use Case section, select Survey.
  3. Select the template Survey Popup - Radio Buttons with Emoji.image-20240121-051423.png
  4. Edit the content and design through the HTML code snippet in the left-side section. image-20240121-051934.png
  5. Edit the code based on your requirements in one section, Android or iOS. With the Mirror platforms toggle turned on, MoEngage will replicate the changes in the other platform as well. image-20240121-054240.png
    The code here is automatically defined to trigger the “MoEResponse Submitted” event with the selected answer as an attribute and to create a user property “survey_response”, which will have the selected answer.
  6. Change the property name based on your requirement, by editing the same.
    class="btn btn-cstm-light submit"
    onclick="moengage.trackClick(1); moengage.trackEvent('MOE_RESPONSE_SUBMITTED',{survey_response: document.querySelector('input[name=customRadio]:checked').value},{},{},false,true); moengage.setUserAttribute('survey_response', document.querySelector('input[name=customRadio]:checked').value)">Submit</button>
  7. Click Next to move to the third step "Schedule and goals" where you can define the schedule and goal of your campaign.

Step 3: Schedule and Goals

  1. In the Send campaign section, define when you want to start and end your In-App survey. image-20240121-054649.png
  2. In the Conversion goals section, add conversion goals that you like to track.
  3. In the Campaign priority section, assign a priority to this campaign. Assigning a priority helps you decide which In-App message to be shown to a user when they are eligible for more than one messages at a specific time. For example, selecting Critical makes sure that the users will always see this even when there are other campaigns that they are eligible for.
  4. In the Delivery controls section, define the controls based on your requirements. For more information, refer to Create In-App Campaignimage-20240121-054810.png
  5. Click Publish.


In this use case, we created an In-App campaign to conduct a survey and saved the survey response as user properties.

Now that we have published the campaign, we can keep track of our CTR and conversions (if defined) to understand how well our campaign is performing. For more information, refer to In-App Campaign Analytics.



Was this article helpful?
0 out of 0 found this helpful

How can we improve this article?