Remote Config¶
Remote Config is a mechanism where app vendors can dynamically change the appearance or the behavior of the app without forcing users to update the app. Our servers will send sets of pre-configured values to the app which can later be used to modify the appearance or the app's functionalities. You can either send default values to all exising users, or send specific value just to targeted users for campaign use.
How Remote Config can be used¶
Usage |
Details |
---|---|
Apply changes to the appearance or functionality quickly |
Once you update the values configured in the dashboard, those values will immediately be applied to the app. For example, if you use Remote Config to control the app's background color, you can change the color seasonally just by changing the values from the dashboard. |
Customize the app only to particular segment of users and A/B Test. |
You can start an A/B Test by distributing variant values as an campaign and compare the results. Once you find out which variant performs the best from the A/B Test which had been activated only to limited group of users, you can then apply the best result to all of the users. |
Warning
Implementation on the app side is always mandatory when using Remote Config. Once the correct APIs are being called with the desired parameter names, you can change the values dynamically anytime you wish.
How Remote Config works¶
Remote Config works by receiving a set of parameters, a combination of keys and its values, from Repro's server and using each value for any desirable purposes. For example, if you wish to control the background color of the app using Remote Config, you could assign a value white
to a key called main_background_color
. Key names can be any string, so it is recommended to give a descriptive name to each key.
There are four different ways to set a value to each parameter.
Set static default values in the app
Assign static default values that are hard-coded in the app. When the app launches for the first time, or is off-line and cannot connect to Repro's server to retrieve server-side values, this default value will be used.
Dynamically set default values in the app
Call Repro SDK's APIs to dynamically set default values while the app is running.
Set default values from the dashboard
Create set of default parameters that you wish to distribute to all users. The values can always be modified from the Remote Confg Settings page, and once changes are saved new values will be sent to apps and be applied later.
Create campaigns from the dashboard
You can configure a Remote Config campaign to deliver values to a segment of users. The values can always be modified from the Remote Config Settings page, and once changes are saved new values will be sent to apps and be applied later.
The hierarchy of values¶
Which value set by one of the 4 methods presented above finally will be the active one is illustrated in the graphic below.

Campaign values that are active only in a certain user segment.
If a user belongs to the target segment of multiple campaigns and both campaigns overwrite the same parameter key, value from the campaign with newer update date will be used.
If a campaign is under an A/B Test using Control Group variant, values assigned in the campaign will not be overwritten to users who belong to the Control Group.
Default value set from the dashboard
Default values set dynamically in the app
Default values set statically in the app
Note
Values retrieved from the server will not be cached in order to reduce network traffic. Once you change something from the dashboard, the app will fetch the newest values from the server when it launches the next time which will then be applied to the device.
Please note that the last fetched values will be used if retrieving newest values from the server failed due to poor network connection and etc.
Restrictions of Remote Config¶
Remote Config allows apps to dynamically modify its appearance or even functionality, however please refrain from using Remote Config for any of the purposes listed below.
Do not use it to perform updates that will normally require the end-users' consent. This could potentially lead to app store rejection.
Do not use to send or receive secure or private data.
Do not use it to circumvent platform restrictions or regulations.
Warning
Remote Config cannot and should not be used to achieve something that is not allowed nor is possible on the platform. For example, dynamically changing the app's icon on home screen is restricted on some platforms. Using Remote Config does not allow the app to get around such restrictions.
Create Remote Config¶
Create default parameters¶
In this section we will demonstrate how to deliver the exact key-value pair to all existing users.

First, open SETTINGS > REMOTE CONFIG SETTINGS and click the CREATE NEW button.

Enter a parameter name and its default value. For example, if you wish to configure a parameter that will be used to control the background color of the app, you can name it background_color
or main_background_color
and assign white
or #fff
as its default value. Please note that the name of the key will be referenced in the app and needs to exactly match. It is also recommended to leave notes of the purpose of the parameter for future reference.
After entering, click the save button.
Note
Parameter keys can only contain alphabetic characters, numbers or underscores.
The name should be descriptive and reflect where it is used and what function it has.
You can use the JSON editor to writing the parameter default value, however, the given value will still be String value and not a raw JSON object. If you want to assign a structured object as a value, you need to parse the String value and then use is accordingly.
Create a Campaign¶

Open MARKETING > REMOTE CONFIG and click the Create New button.

Write the name of this campaign and select the campaign goal event.

Next you will enter the parameters that you intent to overwrite with this campaign
- Key
Parameter keys that are already given default values will be listed here, so choose the ones you wish to overwrite. You can also create a new key and assign a value that is only associated with this campaign.
- Value
Enter the overwrite value of the selected parameter key. Users who become the target of this campaign will receive this overwrite value instead of the default.
Byte size
Maximum: 10,000B
Distribute Users Among Variants¶

Divide the target user of campaigns between multiple variants and a control group as configured in Select Target. Control Group refers to a group of users who will not receive the overwrite value in order to see how effective the campaign was by comparing the results between users who received the value and who did not. See A/B Testing for more details how to change the settings with additional variants.
For example, in case of a distribution with a single Variant 1 (80%) and a Control Group (20%), then 80% of the existing users will receive the overwritten value and 20% will receive the default.
Set distribution percentages¶
By default, the Control Group is set as 0% and Variant 1 is set as 100% which will make all of the target users receive the overwrite value. If you do not wish to use the Control Group, you can leave these settings as is. If you want to use the Control Group then you can adjust the percentages with the total being 100%.
You can assign 50% each to Control Group as well as Variant 1 by clicking Distribute evenly, while Distribute evenly (without control group) will make Control Group 0% and Variant 1 100%.
Note
Control Group's percentage can be anything between 0% and 99%.
Variant 1's percentage can be anything between 1% and 100%.
Only integers can be set.
Changing the distribution settings is not possible after a campaign has been saved.
The actual number of message delivery may fluctuate depending on the volume of the target user.
Delivery Type¶
- Delivery period
Set the time period in which the campaign should be delivered to your users. Users are identified by User ID.
- Set Delivery Days
You can specify the delivery day(s) of the week. By specifying certain day(s) of the week, the message will only be delivered on those day(s). If not specified, delivery will occur on all days of the week.
- Set Delivery Time Range
You can specify the delivery time range. By specifying certain time range, the message will only be delivered within those time range. If not specified, delivery will occur at anytime.

Select Target¶

You can target all existing users or a segment of users by filtering with events or user profiles with the filters. The filters can be combined as either and , and not, or condition up to 5 in total.
and: Add the users to the delivery target who match all the specified condition.
and not: Exclude the users from the delivery target who match the specified condition.
or: Add the users to the delivery target who match any of the specified condition.
For example:
When delivering to users who have used the app 3 days ago, but have not done so for 2 days since then

When delivering to users whose gender is female and have performed either Event A or Event B within the last 3 days

Filtering with audiences¶
You can segment the target by using existing audiences created as explained in Audience
Note
Filtered Audience: This audience cannot be combined with other filtering conditions.
Import Audience: This audience can be combined with other filtering conditions.
Filter with Events¶
You can segment the target by the usage of the events, specifying how many times an event has been done within certain period.
Filter with Event Property¶
You can segment the target by the usage of the events and its associated properties, specifying the property value within certain period.
Note
With Event Property filters you cannot specify how many times event has been performed. Users who have done the event with the property at least once within the specified period will be included in the target.
Filter with User Profile¶
You can segment the target by registered user profile data. If you specify a numeric value for the profile type in SDK, you can use 'greater than, less than' etc. to specify the conditions under which the values are compared. If you specify characters, you can specify conditions for comparing values using 'match, not match, include' and so on. If a date is specified, the condition can be specified using 'before Fat day, Fat day to day, before specific date,' etc.
Please refer to the FAQ on the Support Site for a detailed explanation of date specifications.
Existing Users¶
The campaign will be delivered to all the existing users registered to Repro. If you wish to exclude users who match special conditions, please add desirable filters using combined as and not.
First-time Users¶
Deliver overwrite values to users who have launched the app for the first time.
Note
Please note that the user will not be regarded as First-time if more more than a week has past since the app's installation.
To Launch or Launch As Private¶
Before clicking the "LAUNCH" or "LAUNCH AS PRIVATE" button, please carefully check the contents of the campaign. After a campaign has been launched or launched as private, it is no longer possible to change the Campaign Goal or Parameter variants.
Once your campaign is ready to be launched, please click the LAUNCH or the LAUNCH AS PRIVATE button.
Campaign Measurement¶
You can check the effectiveness of the campaigns.

Delivery Result¶
- Deliveries
Total number of users who received the overwrite value on a daily basis.
- Conversions
Number of total users who have performed the campaign goal event set from the creation page within 24 hours on a daily basis.
- Conversion Ratio
Number of conversions divided by deliveries.
- Campaign Progress
Results of the deliveries, opens and occurrence of the campaign goal event on a daily basis: Note that the results represent the number of users.
Note
Assuming you have two Remote Config campaigns launched at the same time which target Existing Users and both campaigns overwrite the same parameter. In such a case, target users will only receive overwritten campaign values from the latest created campaign. However, these users will be included in both campaign performance measurements since they still belong to the same target group.
A/B Testing¶
A/B testing allows you to see what kind of content drives better conversion rate by delivering different patterns of the overwrite different groups of users.
You can also keep the most effective pattern from the A/B testing as the winner of the campaign and only deliver the selected variant.
Create Message¶
By composing a campaign with two or more variants, an A/B-Test can be performed.

You can create up to 4 different patterns.
Adding or removing message variants is not possible after a campaign has been saved.
Distribute Users Among Variants¶

Distribution percentages can be individually adjusted when having more than 2 variants making the total 100%.
You can assign equal percentages to Control Group as well as each of the variants by clicking Distribute evenly, while Distribute evenly (without control group) will make Control Group 0% and make percentages even among multiple variants.
Note
Control Group's percentage can be anything between 0% and 99%.
Each of the variants' percentage can be anything between 1% and 100%.
Only integers can be set.
Changing the distribution settings is not possible after a campaign has been saved.
The actual number of message delivery may fluctuate depending on the volume of the target user.