In-app feedback is feedback collected automatically inside a product while a user is actively using it. It’s caught right after the user performs a meaningful action, making it more relevant than follow-up emails sent 48 hours later.

Collecting in-app feedback automatically can change your product’s trajectory, but it doesn’t guarantee success on its own. According to Zonka Feedback’s State of Feedback Analytics, 93% of customer feedback is never analyzed, and 87% of teams still process it manually. This means most teams collect more feedback than they will use, leading to overwhelm, analysis paralysis, and ultimately, a waste of resources.

So, for this article, I’ll walk through my process for collecting feedback that leads to action. Including where to trigger surveys, which type to use for each moment, how to set up automatic delivery, how to analyze what comes back, and how to address friction in the product.

demo CTA

The boring reality: Feedback must be actionable

Spoiler: there’s no clever trick that makes in-app feedback programs work.

For most teams, the problem is collecting far more data than they act on. This is because teams tend to collect opinions about features rather than identifying where the product value is falling apart. They’d worry about users with sub-optimal workflows or see “problems” that the user doesn’t perceive, and end up focusing resources on fixing issues that the user doesn’t care about.

In reality, the problems that matter are the ones users are aware of; those they’re struggling with and that are blocking something they actually need to accomplish.

The solution for this isn’t sexy: focusing on user feedback that closes the loop. That is, identifying the key moments that reflect your product’s value, spotting problems users can perceive, solving them, and communicating them to users.

This is the basis of my feedback process, which is what I’m going to explain next:

My 5-step process for collecting actionable in-app feedback

If I were to start over in another company to set up an efficient feedback function, here’s what I would do:

In app feedback process
My 5-step feedback collection process in a nutshell.

1. Identify key touchpoints to trigger surveys

For in-app feedback to be actionable, you need to know which moments in the user journey deliver more value and improve your business KPIs. And then, triggering a survey to ask users about the experience they just had.

In a PLG company, this means identifying the levers that move users from signup to activation, then to conversion, then expansion, and so on. These might include:

  • Activation stage: The first time a user experiences your product’s core value. If you can define that moment as a specific event (first flow published, first dashboard created, first export run), a short CES or satisfaction question can capture any friction that’s happening before or during the activation stage.
  • First session onboarding: When a user finishes your onboarding checklist or completes a key setup step, a one-question CSAT survey can measure overall satisfaction with their first session. This is the clearest signal you’ll get about whether your onboarding is actually working.
  • Feature engagement: Triggering a survey after the user activates a product (i.e., when they complete a key action with it) can measure satisfaction with specific features or point to usability issues.
  • After closing a support ticket: CSAT immediately after ticket resolution tells you whether support actually solved the problem or just closed the issue. If scores are consistently low here, the feedback is telling you something about the self-serve experience, not just the support team.
  • When interacting with your in-app agent: If your product supports agentic workflows either via MCPs or directly inside your app, a CSAT survey would measure satisfaction with the agent’s results. This would help you figure out if users are achieving their intended goal with AI. It’s exactly what LLMs like ChatGPT are doing, and I think this is eventually the future of products.

chatgpt survey

2. Choose the right survey type

To be effective, in-app microsurveys must be triggered in the right format, to the right audience, and at the right time. A CES survey before the user has experienced a tool is useless, and running NPS too early in the user journey won’t work as a signal for customer loyalty.

Some surveys are more quantitative (e.g., NPS or CSAT surveys), while others are more qualitative (e.g., follow-up questions, passive surveys, etc). Here are the types I use most:

  • NPS (Net Promoter Score): Asks users how likely they are to recommend your product from 1 to 10, segmenting respondents by promoters, neutrals, and detractors. It’s often used as a relational survey for measuring loyalty or relationships. But you can also use it as a transactional survey inside your product, with a follow-up question that provides useful qualitative data.

userpilot-nps-survey-editor

  • CSAT (Customer Satisfaction Score): CSAT surveys measure users’ satisfaction with a specific interaction: a support ticket close, a feature use, or a call with your CS team. It’s best to trigger them right after those interactions to get more detailed responses (since the experience is still fresh in their minds).
  • CES (Customer Effort Score): It asks how much effort it took to complete a task. It’s best for finding friction at specific onboarding steps or features.
  • PMF (Product-Market Fit) surveys: It asks users, “How disappointed would you be if this product disappeared?” Most useful during early-stage development or after a major product change to confirm product-market fit.
  • Passive feedback widgets: These are in-app widgets that allow users to submit any feedback about your product, such as bug reports or feature requests. The data from these is high quality, but it needs to be visible enough without disrupting the product experience.

💡 Did you know?

Additionally, you can ask an AI to help you brainstorm multiple survey questions based on your goal. For example, Lia (our AI agent) can analyze in-app behaviors and customer data to suggest specific surveys automatically.

3. Set up in-app surveys to trigger automatically

What makes in-app surveys great is that they’re automatic, scaling feedback collection. Also, when you trigger surveys based on specific in-app events, the user’s experience is still fresh, which improves response quality.

In Userpilot, for instance, I can set up in-app surveys with these steps:

  1. Define the trigger event: Choose the specific user action or page visit that will show the survey. This should map directly to one of the touchpoints you identified in step one, such as completing a specific setup action or spending a defined amount of time in a feature for the first time.
  2. Set the audience segment: Select the target segment for the survey. For example, a CES survey for first-time users should only trigger for those completing onboarding for the first time, so you’d have to exclude experienced users performing the same action.
  3. Configure frequency and suppression rules: Decide how often a user can see this survey, and add suppression logic to prevent multiple surveys from appearing in a single session (avoiding survey fatigue).
  4. Write the survey with one to two questions maximum: The first question should be a quantitative rating scale. An optional open-text follow-up captures the “why” behind the score without making it feel mandatory for the user.
Userpilot user feedback interface showing survey builder, targeting, and trigger configuration
Userpilot‘s feedback builder lets you configure trigger events, segment rules, and follow-up actions in one place, without engineering support.

💡 In our experience

You can also consider an in-app widget to collect passive feedback. For example, Dealfront used this approach to place a feedback widget directly in their product UI, giving users a frictionless way to report data inconsistencies without leaving their workflow. The result was a nearly 50% survey completion rate, a direct consequence of meeting users inside the experience rather than following up after the fact.

This aligns with my experience at Userpilot, too. We run both active and passive survey widgets, and the passive ones sometimes see four to five times the response rate of the targeted feedback surveys we send.

dealfront in app feedback widget.
Dealfront feedback widget added with Userpilot.

4. Analyze the feedback

Feedback analysis requires looking at both quantitative and qualitative data. A low CES score tells you if friction exists, while the open-text response shows the cause of a problem. You need both to make good decisions.

For quantitative analyses, I recommend starting with:

  • Score trend tracking: Track NPS or CES trends. Look to see if the score improves after you ship a fix or a UI change to validate whether they worked.
  • Funnel drop-off paired with survey data: Running a funnel report alongside survey analytics shows where users are abandoning a flow and correlates this with high-effort scores to validate the problem.
Funnel analysis Userpilot.
Creating a funnel analysis with Userpilot.
  • Response rate monitoring: A sudden drop in survey response rate is itself a signal. It often means survey fatigue, poor timing on the trigger, or an audience segment that’s already disengaged from the product. If response rates fall, check your suppression rules and trigger placement before assuming the data is representative.
  • Segment-level breakdowns: Comparing satisfaction scores across plan tiers, company sizes, or usage frequency levels can bring your attention to a specific segment where friction is most notable.

On the other hand, qualitative approaches that actually surface what to fix:

  • Response tagging by theme: Grouping open-text responses into recurring categories (onboarding, navigation, feature X, pricing) or using AI to summarize overall themes can make qualitative data easier to analyze. For example, Lia can surface common themes across large response sets and flag emerging patterns of friction.
  • Session replay alongside low-scoring responses: Watching a session replay from a user who gave you a low CES score lets you see what happened and get evidence of a problem your team might need to prioritize.

5. Address the friction points

As I mentioned, collecting and analyzing in-app feedback only matters if it leads to meaningful product decisions and closes the feedback loop.

This means fixing issues that the users care about and communicating with them when there are relevant changes in the product. Here’s how this might look in practice:

  • Well-placed in-app tooltips: When product analytics and survey responses indicate friction in the same step, a targeted tooltip is usually the fastest fix without requiring an engineering ticket. It appears right before users encounter an obstacle helping them achieve their goal with your product faster.
  • In-app resource centers: When friction stems from users not knowing how to use a tool, an in-app resource center lets them find answers without leaving your product. Doing this can lead to significant ticket deflection, since users no longer have to reach out to a support agent.
  • Optimize your onboarding flow: If users are having a hard time completing activation due to a couple of steps, you can improve your onboarding flow by adding more guidance on the challenging tasks and making the AHA! moment easier to achieve.
  • Closing the feedback loop with users: When you make a change based on user feedback, telling those users about it matters. Automated feedback loop messaging increases the probability that those users will give you useful feedback again. Even a simple in-app notification or triggered email that says “you told us this was frustrating and we fixed it” is enough.
  • Using AI agents to suggest ideas: If you can connect an agent to your product data via MCP or use a dedicated agent like Lia, then you can ask it to analyze all the collected feedback and suggest targeted in-app flows to address common pain points.

Best practices for collecting in-app feedback

I believe my process above is a pretty good base, but you can still end up with a feedback dashboard that doesn’t lead to action. This is because some execution details are easy to miss without experience (how the questions are written, which users see them, how often, and whether you’ve collected enough data).

So these are the best practices I recommend prioritizing when trying to implement any feedback collection process:

  • Target the right segment for each survey: A user who hasn’t completed onboarding yet can’t give you useful feedback on advanced features. Thus, define the segment you’re trying to understand before writing the first question, and make sure it’s relevant to their experience.

 userpilot survey settings

  • Keep surveys to one to two questions maximum: Every question after the first reduces response rates and lowers feedback quality (due to survey satisficing), so make sure to keep them short and easy to respond to.
  • Avoid leading and double-barrelled questions: For example, “How much did you enjoy our new feature?” is a leading question because the answer is already implied. “How satisfied were you with both the design and the functionality?” is double-barreled because it combines two distinct questions. Both corrupt the data, and you must remove them.
  • Track scores periodically: Tracking satisfaction scores month-by-month tells you whether the changes you’re making are actually improving things.
  • Follow up on low-scoring accounts: For high-value accounts that give you low satisfaction scores, direct outreach from CS is worth the effort. Userpilot’s integrations with Salesforce and HubSpot make it possible to trigger CS alerts automatically when a score drops below a threshold, even when your team is managing a large user base.
  • Make surveys optional: Always include an option to skip the survey, because disrupting the user’s experience to get an answer will only reduce feedback quality and response rates.
  • Leverage AI where you can: Although AI isn’t perfect, it’s still pretty good for summarizing large bodies of data, spotting problems you’d otherwise never see, and suggesting strategies for closing the loop.

Are synthetic users worth trying?

Synthetic users are AI-generated personas that simulate how real users might respond to your product, answer survey questions, or navigate a UI. The idea is that they eliminate recruitment costs and scheduling friction while producing responses at scale.

But that promise comes with caveats. Maria Rosala and Kate Moran at Nielsen Norman Group tested synthetic users against real user research across three separate studies, comparing responses from AI-generated personas to what real users actually said and did. Their conclusion was unambiguous:

“UX without real-user research isn’t UX. Real user research is essential. Synthetic users cannot replace the depth and empathy gained from studying and speaking with real people. They often provide shallow or overly favorable feedback.”

So, even though collecting in-app feedback from synthetic users sounds helpful, the strength of in-app feedback is exactly what synthetic users can’t replicate. That is, users are hitting friction in your actual product, during their actual work. Human experience and human judgment remain essential to understanding the user experience and solving problems.

Ready to make your product frictionless?

As I repeated throughout the article, in-app feedback must be actionable. And for the most impactful product decisions, user feedback is much more useful when it is part of a larger process. This means combining survey responses with product analytics, validating hypotheses with session replays, and addressing product friction with in-app guidance.

At Userpilot, we run this feedback loop inside our own platform. If you want to see how it works in practice for your product, book a demo. We can walk you through the feedback features and show you how to set up your first automated survey in under an hour.

demo CTA

About the author
Lisa Ballantyne

Lisa Ballantyne

UX Researcher

UX Researcher at Userpilot – Usability testing, UX research, User interviews, Product Analytics, Session Replay.

All posts