Get started with Remote Config personalization

With Remote Config personalization, you automatically provide users one of several alternative user experiences, in order to optimize for an objective of your choice. See an Overview of this feature.

Here's how to get started.

1. Instrument your app with Analytics and Remote Config

Before you can start providing personalized user experiences, your app needs to be using Analytics and Remote Config.

  1. If you didn't enable Google Analytics when you created your Firebase project, enable it on your project's Integrations page.

  2. Make sure you're using at least the following versions of the Remote Config SDK:

    • iOS: 7.5.0 and above
    • Android: 20.0.3 (Firebase BoM 26.4.0) and above
    • C++ 7.1.1 and above
    • Unity: 7.1.0 and above

    Only these versions (and newer) perform the logging necessary for the personalization system to learn how to optimize for your objective.

  3. Add event logging calls to your app.

    At a minimum, log an event when a user completes the objective action you're optimizing for. For example, if you want to optimize for Play Store rating submissions, log an event every time a user rates your app.

    In addition, you should explicitly log any Analytics events relevant to your app that aren't automatically logged. By logging these contextual events, you can improve the quality of your personalizations.

  4. Implement the different user experiences you want to be possible in your app. This could be as simple as personalizing how often ads are shown to each user, or more substantial alternatives, such as implementing different layouts.

  5. Make the different user experiences configurable based on the value of a Remote Config parameter. See Get started with Remote Config and Remote Config loading strategies.

At this point, you can deploy your app to the App Store or Play Store. Users will continue to get the default experience you configured, but because you can control the experience with a remotely configurable variable, you can start experimenting with automatic parameter personalization.

You will need to have a critical mass of users using your updated app before the personalization system can begin to optimize individual experiences.

2. Configure parameter personalization in the Firebase console

Now that your instrumented app is in users' hands, you can use the Firebase console to set up personalization.

  1. On the Remote Config page of the Firebase console, find the parameter that controls the user experience you want to personalize, and click the pencil icon to edit it.

  2. Click Add value for condition to define or select a targeting condition for the personalized parameter. Only users who meet this condition will get a personalized experience. Some commonly used conditions are to limit personalization to only users of a particular platform or to only users in a particular region.

    You can configure multiple target conditions, each with different sets of personalization alternatives.

  3. Click the Personalization icon next to the newly-created targeting condition to open the Define Personalization window.

    1. From here, you can select two or more alternatives. "Alternatives" are just a special name for the parameter values that can be set by the personalization algorithm—in your app, you can treat them like any other parameter value.

    2. Next, choose an objective. There are several pre-built objectives for metrics like revenue and engagement, but you can also define an objective based on any other event that you’d like to optimize. You can also define a compound objective if you need to optimize across multiple objectives.

When you’re satisfied with your targeting, alternatives, and objectives, you’re done! Deploy your changes to start personalizing your users' individual experiences. Users will begin to receive personalized parameter values in a few hours, but it will take up to 14 days for the system to learn about your user and achieve the best performance.

You can see how your personalizations are performing by clicking on the parameter's targeting condition on the Remote Config page.