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.
If you didn't enable Google Analytics when you created your Firebase project, enable it on your project's Integrations page.
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.
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.
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.
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.
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.
On the Edit parameter pane, click Add new > Personalization.
Define two or more alternative values. "Alternative values" are a special name for the parameter values that the personalization algorithm can choose for your users. The format of the values you use here must match the data type that your Remote Config parameter uses.
Choose an objective. You can choose one of the following:
- Select from a list of pre-built objectives for metrics like revenue and engagement.
Add a custom metric based on any other Google Analytics event that you’d like to optimize by typing the event name into the Objective field and clicking Create event.
Because these events may be dynamic or custom, they may not appear in the drop-down. To ensure the metric you specify precisely matches an active Analytics event, verify the event in Analytics > Events.
Select whether to optimize for the number of events (COUNT) or the sum of all events' values (SUM).
In some cases, this option is pre-selected for built-in Analytics events. For example, SUM will always be selected for User engagement time to optimize for total time spent. If you choose Ad clicks, personalizations are optimized for COUNT, or total number of ad click events.
If you selected SUM, enter the name of the event parameter to aggregate.
In most cases, the event parameter name is
value, but you might have a custom metric with a specific value you want to aggregate. For example, if you had an event with different currency types with parameters like
AUDand so on, you could optimize for Australian revenue by specifying
AUDas the event parameter (and, in the next step, be sure to configure a targeting condition for users in Australia!).
Optionally, choose up to two additional metrics to track. While these will not affect the personalization algorithm, these results can help you better understand performance and trends. For example, if your personalization optimizes for ad clicks, you may want to track user engagement between the baseline and personalized groups.
Tracked metrics will appear in the Personalization results summary, organized by tab.
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.
When you're satisfied with your alternatives, objective, additional metrics, and targeting, you're done! Save and 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 a personalization is performing by selecting it from the Personalizations page or by clicking on the parameter's targeting condition on the Remote Config page.
For more information about interpreting results, see Understand personalization results.