> For the complete documentation index, see [llms.txt](https://docs.amply.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.amply.tools/recipes/feature-feedback-capture.md).

# Feature feedback capture

Ask a targeted feedback question after a user has used a new feature twice — while the memory is fresh and the sample is qualified.

**Use this when** you have shipped a new feature and need real signal on whether it is landing before committing to more work on it. **Don't use this when** the feature has not shipped to enough users yet; the popup firing is cheap, but drawing conclusions from ten answers is not.

## Goal

You ship a new section. Support is quiet, analytics shows some usage, and you have no idea whether users love it, find it confusing, or cannot find what they were looking for. Running a user-research round takes two weeks. This recipe drops a three-button popup on users who have engaged with the feature enough to have an opinion, captures the answer, and ships it to your analytics tool. You get a coarse but honest read in 48 hours.

## Setup

### In the dashboard

* Create a campaign `new-section-feedback`.
* Trigger: event `NewSectionUsed` with `usage_count = 2`.
* Conditions: `new_section_feedback_given != true`.
* Action: fire a deeplink to your in-app feedback popup, e.g. `yourapp://popup/new-section-feedback`. The popup asks "How's the new section?" with three buttons: "Love it", "Confusing", "Couldn't find what I wanted". See [Custom popups](/user-guide/custom-popups.md) for the popup-as-deeplink pattern.
* Each button tap is handled in-app: the app tracks the answer event and dismisses the popup. No further navigation.
* Frequency: once per user, ever — enforced by the `new_section_feedback_given != true` condition in the audience, not a native frequency cap.

### In the app (engineering hand-off)

* Increment a usage counter and fire an event each time the feature is used:

  ```kotlin
  val count = currentCount + 1
  amply.setCustomProperty("new_section_usage_count", count)
  amply.track("NewSectionUsed", mapOf("usage_count" to count))
  ```
* On each popup button tap, track the answer and mark the user as answered:

  ```kotlin
  amply.track("NewSectionFeedback", mapOf("answer" to "love_it"))
  amply.setCustomProperty("new_section_feedback_given", true)
  ```
* Forward `NewSectionFeedback` to your analytics tool. That is where the team will read the split.

## How it runs

1. User opens the new section for the first time. App increments the counter and fires `NewSectionUsed { usage_count: 1 }`. No campaign matches — the event trigger requires `usage_count = 2`.
2. Later that day, user opens the new section again. `usage_count = 2`. `new-section-feedback` matches.
3. Custom popup appears: "How's the new section?"
4. User taps "Confusing." App fires `NewSectionFeedback { answer: "confusing" }` and sets `new_section_feedback_given = true`.
5. The popup closes. The user continues using the app.
6. Over the next week, several hundred users answer. The product team reads the "Confusing" share in analytics and opens a ticket on whichever screen ranks worst for that cohort.

## Metrics to watch

* Response-rate of the popup. A healthy range is 40-70%. Under that and the moment is wrong or the copy is off.
* Answer distribution. The absolute numbers matter less than the shape: "Couldn't find what I wanted" high means the information architecture is off.
* Correlation with retention. Do "Love it" responders have higher 30-day retention than "Confusing" responders? That is the test of whether the feedback is predictive.
* Time to first answer after feature launch. Fast feedback is the point of this recipe.

## Related

* [Custom popups](/user-guide/custom-popups.md) — building the three-button popup
* [Campaigns](/user-guide/campaigns.md) — event-triggered campaigns with usage-count conditions
* [Tracking events](/developer-guide/tracking-events.md) — firing `NewSectionUsed` and `NewSectionFeedback`
* [User attributes](/concepts/user-attributes.md) — marking `new_section_feedback_given` to prevent re-asking
* [Feedback capture on negative rating](/recipes/feedback-capture-on-negative-rating.md) — the rating-driven cousin of this recipe
* [AI-assisted integration](/getting-started/ai-assisted-integration.md) — describe this campaign in plain language and have your AI assistant build it


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.amply.tools/recipes/feature-feedback-capture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
