Firebase Remote Config
Change the behavior and appearance of your web client or server without publishing an app update, at no cost, for unlimited daily active users.
FirebaseRemote Config is a cloud service that lets youchange the behavior and appearance of your client app or server without requiring users todownload an app update. When usingRemote Config, you create in-app defaultvalues that control the behavior and appearance of your application. Then, you can lateruse theFirebase console or theRemote Config backend APIs to overridein-app default values for allRemote Config API consumers or for segments of your user base. Yourapp or server implementation controls when updates are applied, and it can frequently check for updatesand apply them with a negligible impact on performance.Ready to get started? Choose your platform:
Key capabilities
| Quickly release changes to your app's user base | You can make changes to your app's default behavior and appearance by changing parameter values remotely. For example, you could use aRemote Config parameter as a feature flag to change your app's layout or color theme to support a seasonal promotion, with no need to publish an app update. Server implementations can now fetch parameters and values. SeeUseRemote Config in server environments for more information. |
| Customize your app for segments of your user base | You can useRemote Config to provide variations on your app's user experience to different segments of your user base by app version, language,Google Analytics audience, andimported segment. You can also useRemote Configcustom signal conditions to match custom parameters you configure for your app. |
| UseRemote Config personalization to automatically and continuously customize your app for individual users and optimize for strategic goals | Use machine learning to continuously tailor individual user experience to optimize for goals like user engagement, ad clicks, and revenue—or any custom event you can measure withGoogle Analytics—withRemote Config personalization. |
| Iteratively roll out new features to targeted segments of your user base and compare against an automatically-provisioned control group | UseRemote Config rollouts to release targeted updates using parameter values as feature flags, gradually releasing new functionality to your users. Determine release stability and success by comparingCrashlytics andGoogle Analytics results between the group receiving your rollout value and an equal-sized control group. |
| Run A/B tests to improve your app | You can useA/B Testing andrandom percentage targeting withGoogle Analytics to A/B test improvements to your app across different segments of your user base to validate improvements before rolling them out to your entire user base. |
How does it work?
Remote Config includes a client library that handles important tasks likefetching parameter values and caching them, while still givingyou control over when new values areactivated so that they affect your app'suser experience. This lets you safeguard your app experience by controlling thetiming of any changes.
We recommend addingreal-timeRemote Configfunctionality to your fetch logic to automatically fetch the latestRemote Config parameter values as soon as they're published.
TheRemote Config client libraryget methods provide a single accesspoint for parameter values. Your app fetches values fromRemote Config usingthe same logic it uses to get in-app default values, so you can add thecapabilities ofRemote Config to your app without writing a lot of code.
To override in-app default values, you use theFirebase consoleor theRemote Config backend APIs to createparameters with the same names as the parameters used in your app. For eachparameter, you can set a default value inRemote Config to override thein-app default value, and you can also create conditional values to overridethe in-app default value for app instances that meet certain conditions.
Remote Config also provides a server client library in theFirebase Admin Node.js, Python, Go, and Java SDKs. Your server implementationscan use this to fetch values from server-specific templates stored byRemote Config.Learn more atUseRemote Config in server environments.
To learn more about parameters, conditions, and howRemote Configresolves conflicts between conditional values, seeRemote Config Parameters and Conditions.
Implementation path
| Instrument your app withRemote Config | Define which aspects of your app's behavior and appearance you want to be able to change usingRemote Config, and translate these into the parameters that you will use in your app. | |
| Set default parameter values | Set the in-app default values forRemote Config parameters usingsetDefaults() and, optionally,download yourRemote Config template defaults. | |
| Add logic to fetch, activate, and get parameter values | Your app can safely and efficiently fetch parameter values from theRemote Config backend periodically and activate those fetched values. Real-timeRemote Config lets your apps fetch updated values as soon as a newRemote Config version is published without the need for polling. You can write your app without worrying about the best time to fetch values, or even whether any server-side values exist. Your app uses | |
| (As needed) Update default and conditional parameter values inRemote Config | You can define values in theFirebase console or theRemote Config backend APIs to override in-app default values. You can do this before or after you launch your app, because the same | |
| (As needed) Update default parameter values in your app | Whenever you update your app, you should synchronize its default parameter values with theRemote Config backend. You can quickly download a file of default values in XML, property list (plist), or JSON format to update your app using the REST API andFirebase console. For more information, seeDownloadRemote Config template defaults. | |
| UseA/B Testing andRemote Config personalization to customize user experience and determine the best parameter values to achieve your goals. | After you implementRemote Config in your app, you can use it to experiment, extend, and update your app with enhanced features likeA/B Testing andRemote Config personalization. |
Policies and limits
Note the following policies:
- Don't useRemote Config to make app updates that should require a user'sauthorization. This could cause your app to be perceived as untrustworthy.
- Don't store confidential data inRemote Config parameter keys orparameter values.Remote Config data is encrypted in transit, but endusers can access any default or fetchedRemote Config parameter that isavailable to their app instance.
- Don't attempt to circumvent the requirements of your app's target platformusingRemote Config.
Remote Config parameters and conditions are subject to certain limits.To learn more, seeLimits on parameters and conditions.
Note the following limits:
A Firebase project can have 3000Remote Config parameters per templatetype (client or server), which are subject to length and content limitsdetailed inLimits on parameters and conditions.
Firebase stores up to 300 lifetime versions of yourRemote Configtemplates per template type (client or server). This 300version lifetime limit includes stored version numbers for deleted templates.SeeTemplates and versioning for details.
You can have up to 24 runningA/B experimentsandRemote Config rollouts combined.
Looking to store other types of data?
- Cloud Firestore is a flexible, scalable database formobile, web, and server development from Firebase andGoogle Cloud.
- Firebase Realtime Database stores JSON application data,like game state or chat messages, and synchronizes changes instantly acrossall connected devices. To learn more about the differences between databaseoptions, seeChoose a database:Cloud Firestore orRealtime Database.
- Firebase Hosting hosts global assets, including theHTML, CSS, and JavaScript for your website as well as otherdeveloper-provided assets like graphics, fonts, and icons.
- Cloud Storage stores files such as images,videos, and audio as well as other user-generated content.
Next steps
- See what you can do withRemote Config by reviewing typicaluse cases.
- Start your design. Review the key concepts and strategies such asRemote Config parameters and conditionsandloading strategies.
- Get started integratingRemote Config with your app. See the setup guidesforAndroid,iOS+,andWeb.
- Learn how to read andmodifyRemote Config parameter valuesprogrammatically.
- Learn how to createRemote Config experiments with A/B testing.
- Learn how to useRemote Config personalization toautomatically optimize individual user experience to achieve your goals.
- Learn how to useRemote Config rollouts togradually and iteratively release new features to your user base, verifyingsuccess and stability with side-by-sideCrashlytics andGoogle Analytics results.
- Learn how to useRemote Config in server environments.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-01-21 UTC.