Stay organized with collectionsSave and categorize content based on your preferences.
Personalized content can delight your users and provide an experience from the
very first interaction with your app based on their preferences, usage history,
and locale. Firebase allows you to define audiences based onGoogle Analyticsmetrics and customize your application withFirebase Remote Configdirectly from theFirebaseconsole.
Using these two features together, you can customize your app's welcome back
screen for a repeat user based on their preferences or activity in your app.
This guide walks you through the process to create your own personalized
"welcome back" screen on Android.
To get started, you'll need an Android app connected to a Firebase project. If
you don't already have one, seeGet started for Androidto connect your app.
Implementation overview
Implementing your app's personalized welcome screen consists of 3 broad steps:
Set upRemote Configto hold parameters for the elements to be
personalized.For example, you might store the welcome screen message as a
parameter. This way you can update the message without republishing your app.
Set upAnalyticsto define audiences and/or user properties forRemote Configto target your users.Both features can be used for
targeting; however, there are important differences between them. The
relative advantages of each are discussed later in this guide.
ConfigureRemote Configconditions to customize your parameter based on
theAnalyticsaudiences or user properties you set up.
Set up parameters inRemote Config
Once you identify the elements of your app you want to customize, useRemote Configto store parameters. We'll explore personalizing the welcome
screen message in the rest of this guide.
What to do in the Firebase console
Go to theRemote Configparameterpage in theFirebaseconsole. If
you've never configuredRemote Configin your app, clickAdd Your First
Parameter.
Fill out a parameter key and default value. For example,welcome_messageandWelcome to this sample app.
Remote Config parameter configuration.">
ClickPublish Changes.
What to do in the Android app
Add code to read and display the parameter you just added to your app in theFirebaseconsole. For example:
You can also follow the steps inUse FirebaseRemote Configon Androidto read and display the parameter that you created in the console. If you get
stuck, theAndroid walkthroughguides you
through the working sample app implementation.
Turn ondeveloper modeto see config changes immediately while testing.
Test that it works
Open your app and make sure that it shows the current value of the parameter
in theRemote ConfigUI.
Change the value in the console and clickPublish Changes
Restart your app. The new parameter value should be shown.
Set upAnalyticsaudiences or user properties
In this step you'll useAnalyticsto define the users who should see
personalized content. In this walkthrough, we'll use a user property to do this
but you could also define anAudience.
These approaches are similar, but you should be aware that once a user is added
to an Audience, they cannot leave it or be removed. If the attribute you want to
use for targeting could change, use a user property instead.
Give the user property a name and description. For example, if you were
customizing an app based on whether a user prefers dogs or cats, you might
name itanimal_preference.
Analytics user property configuration.">
ClickCreate.
What to do in the Android app
Follow the steps inSet User Propertiesto learn to set your user property in your application. For example, you
might ask a user if they prefer cats or dogs and set a string value
accordingly. You can skip over the steps to register your property in the
console as you've already done that in the previous section.
Follow the steps inDebugging Eventsto enable
debug mode for your app.
Test that it works
Open your app and navigate to where your user property is set.
Look to see if any user properties have been set (there might
be a few minutes of delay before anything shows up).
ConfigureRemote Configconditions
Now that your app has parameters that can be configured, and user properties
(or audiences) to use as variables, you can create conditions to personalize
the values of your parameters.
Give your condition a name. For example, "Prefers cats" to reflect the user
preference from earlier.
UnderApplies if, selectUser property(orUser in audienceif
you created an Audience inAnalytics), and select your parameter, and
define a conditional relationship with your parameter values.
Remote Config condition.">
ClickCreate condition.
Enter a value to reflect the new condition. For example, the welcome message
for "Prefers cats" could be "Meow!".
ClickUpdateto save your changes.
ClickPublish Changesto enable the new conditions and values in your
app.
Test that it works
Open your app and navigate to where your user property is set.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-05 UTC."],[],[],null,["Personalized content can delight your users and provide an experience from the\nvery first interaction with your app based on their preferences, usage history,\nand locale. Firebase allows you to define audiences based on\nGoogle Analytics metrics and customize your application with\nFirebase Remote Config directly from the Firebase console.\n\nUsing these two features together, you can customize your app's welcome back\nscreen for a repeat user based on their preferences or activity in your app.\n\nThis guide walks you through the process to create your own personalized\n\"welcome back\" screen on Android.\n\nTo get started, you'll need an Android app connected to a Firebase project. If\nyou don't already have one, see [Get started for Android](/docs/android/setup)\nto connect your app.\n\nImplementation overview\n\nImplementing your app's personalized welcome screen consists of 3 broad steps:\n\n1. **Set up Remote Config to hold parameters for the elements to be\n personalized.** For example, you might store the welcome screen message as a parameter. This way you can update the message without republishing your app.\n2. **Set up Analytics to define audiences and/or user properties for\n Remote Config to target your users.** Both features can be used for targeting; however, there are important differences between them. The relative advantages of each are discussed later in this guide.\n3. **Configure Remote Config conditions to customize your parameter based on\n the Analytics audiences or user properties you set up.**\n\nSet up parameters in Remote Config\n\nOnce you identify the elements of your app you want to customize, use\nRemote Config to store parameters. We'll explore personalizing the welcome\nscreen message in the rest of this guide.\n\nWhat to do in the Firebase console\n\n1. Go to the [Remote Config parameter](https://console.firebase.google.com/project/_/config) page in the Firebase console. If you've never configured Remote Config in your app, click **Add Your First\n Parameter**.\n2. Fill out a parameter key and default value. For example, `welcome_message`\n and `Welcome to this sample app`.\n\n Remote Config parameter configuration.\"\\\u003e\n3. Click **Publish Changes**.\n\nWhat to do in the Android app\n\n1. Add code to read and display the parameter you just added to your app in the\n Firebase console. For example:\n\n final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();\n config.getInstance.fetch(CACHE_EXPIRATION_MS)\n .addOnCompleteListener(this, new OnCompleteListener\u003cVoid\u003e() {\n @Override\n public void onComplete(@NonNull Task\u003cVoid\u003e task) {\n if (task.isSuccessful()) {\n config.activateFetched();\n\n String welcomeMessage = config.getString(\"welcome_message\");\n }\n }\n });\n\n You can also follow the steps in\n [Use Firebase Remote Config on Android](/docs/remote-config/get-started?platform=android)\n to read and display the parameter that you created in the console. If you get\n stuck, the [Android walkthrough](/docs/remote-config/android) guides you\n through the working sample app implementation.\n2. Turn on\n [developer mode](/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigSettings.Builder#setDeveloperModeEnabled(boolean))\n to see config changes immediately while testing.\n\nTest that it works\n\n1. Open your app and make sure that it shows the current value of the parameter in the [Remote Config UI](https://console.firebase.google.com/project/_/config).\n2. Change the value in the console and click **Publish Changes**\n3. Restart your app. The new parameter value should be shown.\n\nSet up Analytics audiences or user properties\n\nIn this step you'll use Analytics to define the users who should see\npersonalized content. In this walkthrough, we'll use a user property to do this\nbut you could also define an\n[Audience](//support.google.com/firebase/answer/6317509?hl=en&ref_topic=6317489).\nThese approaches are similar, but you should be aware that once a user is added\nto an Audience, they cannot leave it or be removed. If the attribute you want to\nuse for targeting could change, use a user property instead.\n\nWhat to do in the Firebase console\n\n1. Go to the [Analytics user property](https://console.firebase.google.com/project/_/analytics/userproperty) page in the Firebase console. Click **New User Property**.\n2. Give the user property a name and description. For example, if you were\n customizing an app based on whether a user prefers dogs or cats, you might\n name it `animal_preference`.\n\n Analytics user property configuration.\"\\\u003e\n3. Click **Create**.\n\nWhat to do in the Android app\n\n1. Follow the steps in [Set User Properties](/docs/analytics/android/properties#set_user_properties) to learn to set your user property in your application. For example, you might ask a user if they prefer cats or dogs and set a string value accordingly. You can skip over the steps to register your property in the console as you've already done that in the previous section.\n2. Follow the steps in [Debugging Events](/docs/analytics/debugview) to enable debug mode for your app.\n\nTest that it works\n\n1. Open your app and navigate to where your user property is set.\n2. Open the [Analytics DebugView page](https://console.firebase.google.com/project/_/analytics/debugview) in the Firebase console.\n3. Look to see if any user properties have been set (there might be a few minutes of delay before anything shows up).\n\nConfigure Remote Config conditions\n\nNow that your app has parameters that can be configured, and user properties\n(or audiences) to use as variables, you can create conditions to personalize\nthe values of your parameters.\n\nWhat to do in the Firebase console\n\n1. Go to [Remote Config](https://console.firebase.google.com/project/_/config) in the Firebase console.\n2. Click your parameter to edit it.\n3. Click **Add value for condition**.\n4. Select **Define new condition**.\n5. Give your condition a name. For example, \"Prefers cats\" to reflect the user preference from earlier.\n6. Under **Applies if** , select **User property** (or **User in audience** if\n you created an Audience in Analytics), and select your parameter, and\n define a conditional relationship with your parameter values.\n\n Remote Config condition.\"\\\u003e\n7. Click **Create condition**.\n\n8. Enter a value to reflect the new condition. For example, the welcome message\n for \"Prefers cats\" could be \"Meow!\".\n\n9. Click **Update** to save your changes.\n\n10. Click **Publish Changes** to enable the new conditions and values in your\n app.\n\nTest that it works\n\n1. Open your app and navigate to where your user property is set.\n2. Open the [Analytics DebugView page](https://console.firebase.google.com/project/_/analytics/debugview) in the Firebase console.\n3. Look to see if any user properties have been set (there might be a few minutes of delay before anything shows up).\n4. Restart your app and verify that your personalized elements have been set."]]