> 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/feedback-capture-on-negative-rating.md).

# Feedback capture on negative rating

Keep 1- and 2-star reviews out of the App Store by catching them inside the app and routing the user to a feedback form instead.

**Use this when** you run the rate-review positive-moment flow and want to do something useful with the unhappy branch. **Don't use this when** you do not have an internal channel to read and answer the feedback; silent intake makes the user angrier.

## Goal

If you only ask happy users to rate you, you never hear from the unhappy ones — and they eventually leave 1-star reviews anyway, just with less data for you. This recipe catches the "not really" branch of the rating popup, opens a short in-app form, captures the complaint with a reason category, and closes the loop with a confirmation. The public rating is protected and you now have actionable signal.

## Setup

### In the dashboard

* This recipe is the negative branch of [rate-review-positive-moment](/recipes/rate-review-positive-moment.md). It reuses that recipe's sentiment popup.
* When the user taps "Not really" in the popup, the app opens `yourapp://feedback/form`. No additional campaign is needed for this step — the app handles the branch locally.
* Create a follow-up campaign `feedback-thanks` triggered by the event `FeedbackSubmitted`.
  * Action: fire deeplink `yourapp://popup/feedback-thanks` — the app renders a "Thanks — we'll get back to you" popup with a single OK button (see [Custom popups](/user-guide/custom-popups.md)).
  * Frequency: once per submission.
* Do not fire the native store prompt on this branch under any circumstance.

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

* Register the `yourapp://feedback/form` deeplink to open an in-app form with a reason selector (bug, missing feature, price, other) and a free-text field.
* On submit, send the payload to your support inbox or help-desk and fire:

  ```typescript
  await Amply.track({
    name: 'FeedbackSubmitted',
    properties: { reason: selectedReason, rating_bucket: 'low' }
  });
  ```
* Suppress the native rate-review call on this branch. The positive-moment recipe's branching already does that.

## How it runs

1. User hits a positive moment. The rating popup appears: "Enjoying the app?"
2. User taps "Not really".
3. The app opens `yourapp://feedback/form` locally — no campaign is involved in this step. The in-app form opens. The user picks "missing feature" and types one sentence.
4. App sends the payload to the support inbox. App fires `FeedbackSubmitted` with the reason.
5. `feedback-thanks` matches. The confirmation popup appears.
6. Support triages the feedback. If it is a bug the team can fix, the user is followed up through the same channel. The native store prompt was never called. The App Store rating stays intact.

## Metrics to watch

* Share of `PositiveSignal` firings that end in the negative branch. Rising share means something in the product got worse — this is now your canary.
* Feedback submission rate once the form opens. <30% means the form is too long or the moment is wrong.
* Reason-code distribution. This is the cheapest user-research feed in the product.
* 1- and 2-star review count in the public stores week-over-week.

## Related

* [Rate-review at a positive moment](/recipes/rate-review-positive-moment.md) — the other half of this flow
* [Custom popups](/user-guide/custom-popups.md) — building the confirmation popup
* [Managing deeplinks](/user-guide/managing-deeplinks.md) — registering the feedback form route
* [Tracking events](/developer-guide/tracking-events.md) — firing `FeedbackSubmitted` with the reason property
* [Handling deeplinks](/developer-guide/handling-deeplinks.md) — opening the form from the deeplink listener
* [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/feedback-capture-on-negative-rating.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.
