The Remote Config feature is available in Countly Enterprise and as an add-on in Flex with A/B Testing.
Remote Config is an ingenious way to change the features of your application based on customer behavior without releasing any updates. When Remote Config is included in your application, it can track down the events related to your customer base and help enhance your application usage.
Benefits of Remote Config
In Product Analytics, the most crucial aspect is the user’s behavior and experience related to a particular product. As there are technological advancements, updates are always important. But it can cost a tremendous amount of workforce and storage. And an unstable update can be costly. To avoid such scenarios, Remote Config can help you understand the customer journey better. It is always recommended to release tried and tested methods, and Remote Config can enable you to determine which update needs to be incorporated into your application.
In a nutshell, with Remote Config:
- You do not have to release any updates to enhance your application, which will save a lot of time and storage space on your server.
- The in-built parameters of Remote Config can help you control your application, as they are the fields included in your application source code.
- The parameters created in Remote Config can be used in A/B Testing to determine which feature can increase the productivity of your application.
Getting Started
First of all, make sure the Remote Config feature is enabled. To do so, in the Sidebar, go to Management > Feature Management and enable the Remote Config toggle.
Remote Config Overview
What is Remote Config?
Remote Config means that you can change any configuration remotely, i.e., Remote Config is used to control the behavior of your application without releasing an app update, which means you can decide what your customers see and how the app will behave depending on determined user actions. All without deploying any code or making any changes to your code.
Parameters
Parameters are key-value pairs used by an application to control its behavior and appearance.
In Remote Config, the parameters are the fields of your application used to decide which update is consumed more by the target users.
Parameters are further customized by determining conditions, as explained below.
Conditions
A condition is used to assign a different value to a given parameter which is evaluated using the user instance metrics. Thus, app users get classified into different groups based on given conditions.
Conditions are made up of one or more filters, including Cohorts, Events, and User Properties that must all be evaluated to true for a given app user instance.
Seed Value
It can be any value defined by you, which will cater as the starting point for the user data, on which the conditions will apply.
Using Remote Config
When you click on Remote Config, the following view will appear with two tabs:
- Parameters (selected by default)
- Conditions
Parameters Tab
Here you will see the following elements:
- Tab selector, with the Parameters tab selected by default.
- + Add Parameter button used to add new Parameters.
- Table view containing created parameters and their details, which includes Parameter name, Status, Description, and Creation date.
- A toggle button to see a detailed description of any individual parameter and the performance of each condition.
- Stop button is used to disable the parameter temporarily.
- Individual 3 dot ellipsis sub-menu for each parameter allows to edit or to delete the parameter.
Adding Parameters
The following drawer will appear when you click on the + Add Parameter button.
- Parameter Key: Parameter keys define the Parameter name and must start with an underscore or English letter character [A-Z, a-z] and may include numbers.
- Use Description checkbox: You can check/uncheck this box based on your requirements. If you check the box, you must add a description of the Parameter key you are creating.
- Default Value: Enter a value for the Parameter key that will initially define the Parameter. It is advisable for the input to be in JSON, but it can be in any format. (highlight)
- Conditions: + Add value for condition to your parameter key by either selecting pre-existing ones or by creating new ones using the + New Condition button. Once conditions are added, you can rearrange their order using the drag-and-drop button on the top-left of the respective condition.
- Expiration Time: You can add a particular period after which the parameter will expire.
Once all the fields are filled up, click on Save. And your newly created Parameter will show up in the table along with its details.
Conditions Tab
The Conditions tab is located in the top left corner of the screen.
The Condition tab consists of a tabular view of all the fields related to a parameter.
The table view consists of the following fields:
- Condition Name: This field defines the name of the condition added by you.
- Description: You can add an explanation for any of the Conditions that you define.
- Definition: You can define your Condition, which will be displayed in this column.
- Seed Value: Seed Value that can be defined by you.
- + Add Condition button: Open the drawer to create new conditions.
Adding Conditions
When you click on the + Add Condition button, you will be greeted with the following drawer.
- Condition Name: You can write the name of your condition here.
- Use Description checkbox: You can check/uncheck the description checkbox. If you want a description of your condition, you can check it and write down the description of your Condition.
- Color Tag: The color tag can be used by you to differentiate between different conditions in case you create an extensive range of conditions.
- Condition definition: Define the properties of your condition.
- You can use the operators AND/OR to add more than one property.
Defining Conditions
A condition definition consists of a property you select, equating to a particular value defined by you to run that specific condition.
Property
You can select any property based on Events, User Information collected, User Profiles, and also the custom property defined by you.
Select
Select consists of a range of logical operators that will run the way you want them to evaluate a particular property.
Value
In the string text box, you can enter the desired value that you want to.
For example, to create two related conditions that each apply to a non-overlapping 5% of an app’s users, you could have one state include a <= 5% filter, and another condition includes both a > 5% filter and a <= 10% filter. To make it possible for some users to randomly appear in both groups, use different seeds for the filters in each condition.
Understanding Parameter Value Priority
The first condition that evaluates to true gets assigned its conditional value to the parameter. Suppose multiple states within one parameter are considered to be true. In that case, the first condition (shown on top) takes precedence, and the conditional value associated with that condition gets assigned to the parameter. Once the conditions have been added to the parameters, you can see them in the Parameters table.
- If you click on the down arrow button, you will get a detailed view of the Parameter.
- The # column shows all the conditions listed under that particular parameter.
- You can click on the re-arrange button to arrange the order in which they are presented.
FAQ
How many Parameters and Conditions per Parameter are allowed?
By default, you can add up to 2000 parameters and 20 conditions per parameter. It can be edited from Management > Settings > Remote Config.
What is the maximum length of a Parameter Key?
You can add up to 256 characters to it.
What is Random Percentile? Is it the same as in A/B Testing?
Random Percentile is used when you cannot decide what percentage of your audience will be exposed to this experiment of adding the new feature. So, when you opt for Random Percentile, the Countly SDK generates the percentile randomly.
And yes, it is the same as in the A/B Testing feature.