How to get more App Store reviews without asking unhappy users
Most apps have very few reviews. This month, a developer who runs a directory of indie iOS apps counted 757 apps updated in the last 90 days; 562 had under 5 US ratings (r/iosdev). Their question is the one this page answers: what got you your first ratings?
Hailbell is our product, built by an indie app developer who uses it in his own apps; one section near the end says where it helps. Everything before that needs no tools.
What Apple and Google allow
Checked November 9, 2026, on developer.apple.com (Review Guidelines last updated October 16, 2026), developer.android.com and Google Play's policy center.
Apple Use the system API to ask for a review: guideline 5.6.1 says Apple will "disallow custom review prompts". For someone who hasn't rated your app on that device, the prompt shows at most three times in 365 days. The system decides whether it appears, you can't change its look or text, and people can turn it off entirely. SKStoreReviewController is deprecated since iOS 18; use AppStore.requestReview(in:) or SwiftUI's requestReview environment action.
Google The In-App Review API shows a card over your app. Google doesn't publish the quota and says it can change without notice; calling it more than once in a short period (for example, under a month) might show nothing. You can't restyle the card or cover it.
Both Paid, incentivized or fake reviews are banned. Apple's guidelines also name "filtered" feedback as manipulation, and Google says not to ask any question before the card. Breaking these can get the app removed.
1. Give unhappy users a way to reach you first
This keeps your average up. Someone whose purchase didn't unlock will write a review if that's the only place to complain.
Apple says this on its own ratings page: make your support contact easy to find in the app and on your product page, so you can fix bad experiences "that may otherwise lead to poor reviews". That means a "Contact support" row in Settings, a help link on error screens and in restore purchases, and a support URL on your listing that a person answers.
This is for everyone, not a filter. Happy and unhappy users see the same support link and the same review prompt. You're just giving everyone a quicker way to get help than a one-star review.
2. Pick the moments to ask
Apple's guidance is to ask "when users are most likely to feel satisfaction with your app, such as when they've completed an action, level, or task", and not on first launch, during onboarding or in the middle of a task. Google says to wait until someone has used the app enough to give useful feedback. Good moments look like this:
- A recipe app: after someone marks their third recipe as cooked, back on the recipe list.
- A budgeting app: after the user closes out their first full month and sees the summary.
- A language app: after a 7-day streak, on the lesson-complete screen.
- A photo editor: after a successful export, once the share sheet is dismissed.
- Any app with support: right after you fixed someone's problem and they said thanks. More on this in step 5.
Bad moments: after a crash or error, after someone closed your paywall without buying, mid-typing, or on launch. Apple's sample code also waits until the task is done several times, asks once per app version at most, and pauses a few seconds on the done screen.
3. Call the system prompt at those moments
On iOS with SwiftUI, call the requestReview environment action once your conditions are met:
// Shown when an export finishes
struct ExportDoneView: View {
@Environment(\.requestReview) private var requestReview
var body: some View {
DoneCard()
.task {
try? await Task.sleep(for: .seconds(2))
if ReviewMoments.exportsSinceLastAsk >= 3 { requestReview() }
}
}
}
On Android, ask Play for a review flow and launch it:
val manager = ReviewManagerFactory.create(context)
manager.requestReviewFlow().addOnCompleteListener { task ->
if (task.isSuccessful) manager.launchReviewFlow(activity, task.result)
}
Neither call tells you whether a prompt appeared or what the person did, so don't build logic on the result. Two testing notes: on iOS the prompt always shows in development builds and never in TestFlight, and on Android it only shows for builds installed from Play, including internal app sharing.
4. Add a review button that opens the store
The system prompt may not appear, so Apple and Google both say not to trigger it from a button; one that sometimes does nothing feels broken. Link to the store instead.
On iOS, add action=write-review to your product page URL and it opens the review sheet directly. Apple documents this for exactly this use:
// Your App Store ID is in App Store Connect, under App Information
https://apps.apple.com/app/id1234567890?action=write-review
On Android, Google says to send a button to your Play Store listing:
https://play.google.com/store/apps/details?id=com.example.recipes
Put it in Settings, next to your support link. The people who look for it are fans; don't make them search the store.
5. Ask right after you solve a support problem
The best moment most apps never use is the end of a support conversation. Someone wrote in upset, you fixed it, and they said thanks. They've just seen a real person behind the app, and they know what to write.
Keep the ask short and plain, in the same conversation: "Glad that's sorted. If you have a moment, a rating on the App Store would help a lot." Add the write-review link from step 4. Send it once, only after the problem is fixed, and never ask for five stars. If the answer was "we'll look into it", don't ask.
6. Reply to the reviews you get
Reviews are a conversation. In App Store Connect, anyone with the Admin or Customer Support role can reply to any review, however old. Apple notifies the reviewer, who can then update their review.
Apple's advice: start with the lowest ratings and bug reports on the current version, and when an update fixes the issue, say so in the release notes and reply to the old reviews. No personal details or marketing in replies, and send billing problems to Apple Support. Google Play's policy says the same: stay on the issue, add a support address, and don't ask for a higher rating.
Why a "Do you like the app? Yes/No" pre-prompt is review gating
A popular trick is a custom popup asking "Enjoying the app?" first. "Yes" opens the store prompt, "No" opens a feedback form, so only happy people reach the store. That's review gating.
Google is explicit: its in-app review page says your app "shouldn't ask the user any questions before or while presenting the rating button or card", and gives "Do you like the app?" and "Would you rate this app 5 stars" as examples.
Apple's guidelines don't name the pattern, but two rules cover it: 5.6.1 bans custom review prompts, and the Business section lists "filtered" feedback next to paid and fake reviews as manipulation. In 2023, a Hacker News commenter described the same flow in a chatbot's mobile app: tapping "good response" led straight to an App Store rating prompt. The reply was short: "This is 'review gating' and explicitly against App Store Guidelines" (thread). Big apps still do it. That's no reason to bet your account on it.
Our line: picking a moment because of what just happened (a task done, a problem fixed) is what Apple tells you to do. Asking how people feel and routing them by the answer is gating. Everyone who reaches the moment should get the same ask.
Mistakes to avoid
- Asking on first launch or in onboarding. People haven't formed an opinion yet, and Apple's design guidelines warn they may rate lower for it.
- Using all three prompts in week one. Apple suggests a week or two between requests at least.
- Wiring the system prompt to a button. Use the write-review link or the Play listing.
- Offering anything for a review. No coins, discounts, extra trial days or contest entries. Both stores ban it.
- Hiding support. If the review box is the only feedback channel, complaints go there.
- Never replying. A reply and a fix give the reviewer a reason to update their rating.
Where Hailbell helps
Hailbell is in-app support chat and push notifications for iOS, Android and web apps. Two parts of it are about reviews.
A review request card in the chat. After solving a problem, press Ask for review in the dashboard, or type !review in Discord or Telegram. The customer gets your message with a button and a "Not now" link. On iOS the button opens the App Store's write-review page; on Android it opens your app's Play Store listing, since Google's in-app review sheet can silently not appear after a tap. The tap or "Not now" shows up in the thread, and the app's card counts requests sent and tapped. With Ask automatically on, closing a chat that ended with the customer's thanks sends it once by itself. Setup is your App Store ID or Play package name.
Satisfaction ratings for web chats. Closing a web chat asks for a 1 to 5 rating and an optional comment. You see the average and the share rated 4 or 5 in the dashboard, the API or the MCP server.
The gaps, honestly:
- It doesn't call the system prompt at other moments in your app. Steps 2 and 3 are still your code.
- It can tell you someone tapped the button, not whether they left a review or what they wrote.
- On Android, Google suggests a tap should open the Play listing, since the in-app sheet has a quota. Hailbell opens the listing only when Play returns an error, so for someone who's already hit their quota, the tap may do nothing.
- There's no tool for replying to store reviews. That still happens in App Store Connect and Play Console.
- Hailbell is new, with no ticketing, and its help center is a simple list of articles with search.
Pro is $29 a month for 10,000 monthly active users, with unlimited seats and apps, and there's a 14-day trial with no card. Try Hailbell or read how review requests work.
Questions
How many times can an iOS app ask for a review?
The system review prompt shows at most three times in 365 days for a person who hasn't rated the app on that device. You can call the API more often, but the system decides whether anything appears.
Is it allowed to ask "Do you like the app?" before the review prompt?
Google's in-app review guidelines say your app shouldn't ask any questions before or while showing the review card, and name "Do you like the app?" as an example. Apple doesn't name the pattern, but its guidelines ban custom review prompts and treat filtered feedback as review manipulation. The safe choice is to skip the question and pick a good moment instead.
Can I give users a reward for leaving a review?
No. Apple names incentivized feedback as review manipulation and can remove the app and the developer account. Google Play's policy lists offering an incentive for a rating as a violation.
Should I reply to bad App Store reviews?
Yes, when you have something useful to say. Apple notifies the reviewer when you respond, and they can update their review. Start with the lowest ratings and bug reports, and reply again once an update fixes the problem.
Questions about asking for reviews from support chats? Start a chat with us.