Industry Best Practices & Top Insights delivered to your Inbox.
Blog Engineering

Improve iOS App Ratings with SKStoreReviewController

Peter Peter Wilkniss, SVP of Engineering at CleverTap, focuses on product development and innovation.
Improve iOS App Ratings with SKStoreReviewController

Starting with iOS 10.3, Apple has made significant changes to its app rating and review functionality, including adding a new API to manage and streamline user rating requests.
The SKStoreReviewController API, carries the big benefit of letting users leave a rating without leaving your app – reducing friction and (in theory) leading to more ratings.
Using the API is dead simple, in Swift:
import StoreKit
and then


Here’s what the displayed rating dialog looks like:
Ratings and reviews

But there are some things to keep in mind:

  1. You should only call requestReview when it makes sense in the user experience flow of your app, and then only after the user has demonstrated engagement.
  2. You have no control over exactly when and if the user sees the rating dialog, that is determined entirely by the system.
  3. Because the system may or may not show a ratings prompt, it’s not appropriate to call the API in response to a button tap or other user action.
  4. No matter how many times you call the API, the system will only show up to a maximum of 3 prompts to the same user in a 365-day period.
  5. And remember, the App Store defaults to showing ratings and reviews only for your app’s most recent version.

With these caveats in mind, some strategy is in order

For one, you want to identify users likely to give you a good rating (reduced friction cuts both ways!), so its important to choose and track a meaningful engagement metrics to trigger your API call.
Moreover, because the App Store defaults to showing only ratings for your latest app version, consider limiting ratings requests to a once-per-user-per-app-version cycle (or rationing rating requests across different cohorts of users if you find yourself updating your app more than 3 times per year).
To get you started, here’s an Improve your app user ratings and review project that implements the SKStoreReviewController API, along with a simple demo engagement tracking trigger and an app version request limit.
We’ve seen promising results using this approach, with a 50% increase in 5-star ratings in our implementation, so give it a try!

Retain Your Users for Life

CleverTap brings together real-time user insights, an advanced segmentation engine, and easy-to-use marketing tools for your app.

Schedule a Demo Now!

Last updated on March 29, 2024