Skip to content

Remote Config Experiment

A Remote Config Experiment is an experiment type in ABC designed for fine-grained multi-audience operations. The core idea is "define your audience first, then split traffic" — you identify the user segment you want to test, then select the Remote Config parameters to experiment on, with each audience owning 100% of the traffic independently.

Why you need Remote Config Experiments

Traditional Layer Experiments work the other way: "split traffic first, then define the audience." Once you create an experiment targeting a specific audience, it occupies the entire layer's traffic allocation — users outside that audience are also blocked, wasting traffic.

Scenario comparison

Business needTraditional Layer ExperimentRemote Config Experiment
Test different changes for iOS and Android simultaneouslyTwo experiments must queue up, taking at least twice as longTwo audiences each run with independent 100% traffic at the same time
Lock in experiment results per audienceWinning values are written to the layer's default parameters, with no per-segment distinctionResults are automatically locked into the corresponding audience's configuration
Parameter managementParameters are attached to layers and scatteredParameter groups offer clear, organized management
Experiment unitLayer → Experiment → ParameterAudience → Parameter → Experiment

When to use Remote Config Experiments

Scenario 1: Simultaneous ad strategy tuning across platforms

Background: iOS and Android users in your WeChat mini-game have noticeably different payment habits and ad tolerance, requiring separate strategy tests.

ActionDetails
Create audiences"iOS users" and "Android users"
Select parametersAd pop-up interval (ad_interval), ad reward coins (ad_reward_coins)
Run in paralleliOS tests "every 3 vs every 5 levels"; Android simultaneously tests "100 vs 200 reward coins"
Ship resultsWinning values for iOS and Android are written separately into their respective audience configurations

With the traditional approach, the two experiments can only run sequentially, taking at least twice as long.

Scenario 2: First-day experience optimization by new user cohort

Background: New users from different acquisition channels have different quality levels and need differentiated onboarding strategies.

ActionDetails
Create audiences"WeChat organic new users", "Paid acquisition new users"
Select parametersTutorial level count (tutorial_levels), day-one free item count (free_items_day1)
Experiment designOrganic traffic tests "3-level vs 5-level tutorial"; paid users test different free item counts
Metrics to watchDay-2 retention, day-1 completion rate, day-1 payment rate

Scenario 3: Monetization parameters tiered by user value

Background: Monetization strategies should differ between high-value payers and regular users.

ActionDetails
Create audiences"High-value payers (lifetime spend > ¥100)", "Regular users"
Select parametersFirst purchase bundle price (first_charge_price), daily special discount rate
Run in parallelBoth audiences run concurrent monetization parameter experiments
Ship resultsWinning configs for each audience are locked in independently — high-value payers see one pricing strategy, regular users another

Scenario 4: Independent parameter tuning across regions

Background: Users in different regions may need different event parameters, product pricing, and difficulty curves, each requiring separate tuning.

ActionDetails
Parameter groupCreate an "Event Parameters" group to centrally manage all event-related parameters
Create audiences"Japan users", "Korea users", "Southeast Asia users"
Select parametersEvent reward multiplier, event duration, bundle price threshold
OutcomeThree regions tune independently without interfering with each other; winning values are locked into their respective audiences

Core capabilities

1. Parameter group management — no more tangled parameters

Group business-related parameters into the same parameter group for easy discovery and management. A parameter can belong to only one group (including "Ungrouped").

Parameter groupExample parameters
MonetizationFirst purchase price, ad frequency, bundle discount, ad rewards
Level experienceLevel difficulty coefficient, starting lives, item drop rate
Event operationsEvent reward multiplier, event duration, event entry placement
OnboardingTutorial level count, free item count, tutorial dialogue content

Parameter groups also define the boundary for multi-parameter experiments: parameters within the same group can be tested together in a single experiment, ensuring scientific validity.

2. Audience-level precision — define your audience first, then split traffic

Each parameter can be configured with different values per audience. The SDK matches and returns values by evaluating audiences in priority order from top to bottom.

Example — configuration for the "ad pop-up interval" parameter:

PriorityAudienceValue
1High-value payersEvery 10 levels
2iOS new usersEvery 3 levels
3Android new usersEvery 5 levels
All other users (fallback)Every 5 levels

When a user arrives, the SDK matches from top to bottom and returns the value for the first audience the user qualifies for.

3. Smart conflict validation — no surprises

The system automatically validates conflicts when you create an experiment:

SituationSystem behavior
The same parameter already has an active experiment for the same audienceBlocked — ensures the same segment cannot run two experiments on the same parameter simultaneously
The same parameter has an active experiment under a different audienceConfirmation prompt — informs you that another audience is testing the same parameter; the experiment created earlier takes priority

4. Precise result consolidation — experiment conclusions become live configuration

After the experiment ends, you select the winning variant to ship, and the system automatically writes the winning values back to the corresponding audience configuration for each participating parameter.

Before shipping:

AudienceAd interval
Android new usersEvery 5 levels
All other usersEvery 5 levels

Experiment conclusion: Best value for iOS new users = every 3 levels. After shipping:

AudienceAd intervalChange
iOS new usersEvery 3 levelsNew — locked from experiment
Android new usersEvery 5 levelsUnchanged
All other usersEvery 5 levelsUnchanged

No manual config updates required, no developer involvement for hard-coding — experiment conclusions go live in one click.

Creation flow

Remote Config Experiment creation flow

Three-step creation walkthrough

Step 1: Select audiences

  • You can select any number of already-configured audiences
  • At least one audience is required

Step 2: Select parameters

Interaction: category dropdown linked to a parameter dropdown

  • First parameter: choose from all parameters (grouped and ungrouped)
  • Category is locked after first selection: if the first parameter belongs to a parameter group, subsequent selections are restricted to the same group; if it is ungrouped, only other ungrouped parameters can be added
  • Switching category manually: triggers a confirmation dialog; confirming clears all previously selected parameters and configurations

Why must parameters be from the same group? This is a design choice to ensure experimental validity. Parameters in the same group are typically related in business terms (e.g., all under "Monetization"), and testing them together is the only way to accurately evaluate their combined effect.

Step 3: Configure variants

  • Control value = current configured value of the selected parameter for the selected audience (auto-filled)
  • Treatment variants can have modified parameter values (multiple treatment variants are supported)
  • When multiple audiences are selected, treatment values are configured separately per audience dimension

Experiment lifecycle

Follows the same pattern as other experiment types: Not Started → In Progress → Shipped → Archived.

StageDescription
Not StartedEntered after creation. You can verify parameter delivery and edit the experiment configuration
In ProgressStarted after debugging. Traffic is split according to configuration and data collection begins
ShippedWinning variant selected and shipped. Consolidation logic is triggered; experiment values are written back to configuration
ArchivedCan be archived after shipping. Experiment data is retained and no longer affects parameter values

Key difference: After a Remote Config Experiment is Shipped, the winning values are automatically consolidated — they directly overwrite the corresponding audience parameter values in Remote Config, with no manual update needed.

Conflict validation details

The system performs the following checks when you create or save edits to an experiment:

CheckTrigger conditionHandling
Check 1: Same audience, same parameter — blockedAn audience selected for the current experiment already has an active experiment referencing the same parameterBlocked — saving is not allowed
Check 2: Cross-audience parameter overlap — promptNo conflict under the current experiment's audiences, but another audience has an active experiment referencing the same parameterModal prompt — you can proceed after confirming

Check 1 block example:

Parameter [parameter name] already has an active experiment [experiment name] under audience [audience name]. Cannot create. Please end the related experiment first.

Check 2 modal example:

User wants to create an experiment: Audience = North America users, Parameters = Parameter A + Parameter B

Conflicting experimentOverlapping parametersExperiment audienceCreated at
Europe Optimization ExperimentParameter AEurope users2026-04-01 10:30
APAC Test ExperimentParameter BAPAC users2026-04-10 14:20

Note: The strategy of the experiment created earlier will take effect with higher priority.

Parameter retrieval priority

In a Remote Config Experiment, the SDK retrieves parameter values according to this order:

Remote Config rule priority example

That is: if the user is currently participating in a Remote Config Experiment that covers the parameter being fetched, the variant's value is returned; otherwise, the value from the configuration page is returned.

Retrieval example: User matches Audience 1 and is in the treatment variant — Parameter A = 12, Parameter B = 22

ParameterSourceValueNotes
Parameter AExperiment12User is in treatment variant; experiment value returned
Parameter BExperiment22User is in treatment variant; experiment value returned
Parameter CConfiguration2Not in any experiment; audience 1 config value returned
Parameter DConfiguration12Not in any experiment; audience 1 config value returned

Shipping logic and decisions

Shipping rules

RuleDescription
Write-back targetWrites winning variant parameter values back to the audience condition list for each parameter involved in the experiment
Audience already existsUpdates the audience's parameter value to the winning variant value
Audience does not existAdds the audience to the parameter's condition list, placed at the top by default
Mutability of conditions / valuesAt ship time, the audience's targeting conditions and parameter values cannot be changed — only ordering (priority) can be adjusted
Position of "All other users"Always placed last; cannot be repositioned

Shipping example

Experiment: Audience = North America users, Parameter A winning value = 12, Parameter B winning value = 22

Before shipping, Parameter A's condition list:

OrderAudienceValue
1Europe users8
2APAC users5
-All other users3

After shipping, Parameter A's condition list (North America users added, placed at top by default):

OrderAudienceValueChange
1North America users12New — locked from experiment
2Europe users8Unchanged
3APAC users5Unchanged
-All other users3Unchanged

You can drag to reorder the position of North America users on the ship confirmation page.

Value summary

ValueSpecific benefit
Double experiment throughputExperiments for different user segments run in parallel — no more queueing; experiment cycles are at least 50% shorter in the early launch phase
Precise result deliveryExperiment results are automatically consolidated into configuration per audience dimension — no more "experiment done but conclusions never land"
Organized parameter managementParameter group categorization keeps things manageable even as business parameters grow
Lower operational riskAutomatic conflict validation + ship confirmation + version history reduce human error
Supports fine-grained operationsOperating strategies for different platforms, user segments, and regions can be optimized independently — true personalization at scale