# Configure Remote Config Parameter

This document describes how to configure parameters on the Remote Config detail screen.

## Detail Screen Layout

On the Remote Config detail screen, you can find the following information:

![Parameter detail screen](/files/PgkzHZyoQOltiyB7iGV2)

1. **Parameter Information**\
   View the parameter key entered when the parameter was created.\
   Click the description area to edit the parameter description.
2. **Copy to Other Environment**\
   Copy the parameter and all its configured settings between the Development and Production environments.
3. **Archive Parameter**\
   Archive parameter keys that are no longer in use. Note that archived parameters cannot be reactivated.
4. **Upper Right Area**

* **`Revert`** : Revert to the last saved state. Clicking this will discard any unsaved input.
* **`Save`** : Click the Save button to save your changes. Saved changes are applied immediately.

5. **Tab Menu**\
   The Remote Config detail screen provides menu items as tabs. By default, the Parameter Settings tab is selected as shown in the image.\
   (Parameter Settings, Real-time Status, Change History)

## Parameter Settings

![Parameter Settings](/files/EjCHaUPR4R5lTE7CcifN)

1. **Parameter Type**\
   View the parameter type selected when the parameter was created. You can change the type by clicking the Change button. Note that changing the type will reset any values that were entered.
2. **Default Value**\
   Set the value to apply to all users. If no targeting is added, the default value is applied.
3. **Add Targeting**\
   Click Add Targeting to start user targeting. Apply a desired value to users you want to target among all users.

## User Targeting

### Structure of Rules and Conditions

{% hint style="info" %}
Important!

Rules and conditions can be structured using the following combinations:

(1) **`Property Key + Operator + Property Value`**

(2) **`A/B Test (Feature Flag) + Operator + A/B Test Group (Feature Flag Status Value)`**

(3) **`Targeting Group + Operator + User Group Key`**
{% endhint %}

For example, if you are collecting users' operating systems under a property key called `osName` and want to target Android users among mobile operating systems, you can create the following combination:

* Property Key: osName
* Operator: Is one of
* Property Value: Android, android

The first combination created becomes the first rule.

### Property Key and Property Value

For more details about properties, refer to the [Properties](/en/event-management/properties.md) documentation.

### A/B Test Targeting

You can use an A/B Test as a targeting condition to run an A/B Test with Remote Config. For more details, refer to the [A/B Test with Remote Config](/en/remote-configs/remote-config-with-abtest.md) documentation.

### Operator

Operators are used when configuring conditions and describe the relationship between a property key and a property value.\
Hackle provides a total of 22 operators. **You must select the appropriate operator based on the type of the property value for the selected property key.**

See the table below for more details:

| Operator                   | Property Value Type | Number of Selectable Values                                |
| -------------------------- | ------------------- | ---------------------------------------------------------- |
| Is one of                  | String              | Multiple selection allowed                                 |
| Is not one of              | String              | Multiple selection allowed                                 |
| Starts with one of         | String              | Multiple selection allowed                                 |
| Does not start with one of | String              | Multiple selection allowed                                 |
| Ends with one of           | String              | Multiple selection allowed                                 |
| Does not end with one of   | String              | Multiple selection allowed                                 |
| Contains one of            | String              | Multiple selection allowed                                 |
| Does not contain one of    | String              | Multiple selection allowed                                 |
| =                          | Number              | Multiple selection allowed                                 |
| ≠                          | Number              | Multiple selection allowed                                 |
| > =                        | Number              | Single selection only                                      |
| <=                         | Number              | Single selection only                                      |
| >                          | Number              | Single selection only                                      |
| <                          | Number              | Single selection only                                      |
| Is true                    | Boolean             | Not selectable (value 'true' is included in the operator)  |
| Is false                   | Boolean             | Not selectable (value 'false' is included in the operator) |
| version =                  | Version             | Single selection only                                      |
| version ≠                  | Version             | Single selection only                                      |
| version >                  | Version             | Single selection only                                      |
| version ≥                  | Version             | Single selection only                                      |
| version <                  | Version             | Single selection only                                      |
| version ≤                  | Version             | Single selection only                                      |

### Example

If you want to target users living in metropolitan cities, since a user only needs to live in one of six metropolitan cities, you can define the rule as follows:

{% hint style="success" %}
Creating a rule for \[Users living in a metropolitan city]

* Property: Place of residence (assume property key is `residence`, property value type is String)
* Operator: Is one of
* Property values to include: "Incheon", "Daejeon", "Daegu", "Ulsan", "Busan", "Gwangju"
  {% endhint %}

## Configuring User Targeting

![Configure user targeting for a parameter](/files/bUX4ZeL8qzyA8PhXly92)

The following describes the values to enter or select and each button when configuring a parameter:

1. **Rule Name**
2. **Property Key**
3. **Operator**\
   Select the appropriate operator based on the type of the property key.
4. **Property Value**\
   Depending on the operator, selection may not be possible, or multiple values may be selectable.
5. **Delete**\
   Deletes the rule.
6. **+ Add AND Condition**\
   Clicking this button adds one condition to the rule.
7. **Value**\
   Set the value to apply to users who match the targeting condition.
8. **Add Rule**\
   Clicking this button adds a new rule.
9. **Default Value**\
   Set the value to apply to the remaining users who do not match any targeting condition.

{% hint style="info" %}
A newly added rule is evaluated only if the preceding rule is not satisfied.
{% endhint %}

## Real-time Status

View the number of users exposed to the Remote Config within the last 30 minutes. The **`Update`** button becomes active every 30 seconds, so you can click it to refresh and see the most up-to-date status.

![](/files/Bam5i45zEDhF4ihj9mOl)

## Change History

Remote Config changes are recorded in chronological order.\
Through the change history, you can review what other collaborators have created or modified.

![](/files/jcODo29JbGTZoKSYPdGS)

Click "View Details" to see the before and after content of each modification.

![](/files/ukd2LtceY3N2YALzWTVq)

## Archiving

* You can archive a parameter when it is no longer needed.
* Since up to 20 active parameters can be used simultaneously, archive unused parameters to make room for new ones.

Note that once a parameter is archived, it cannot be reactivated, so please decide carefully.

![Archive parameter](/files/RxHLJaPMME3ATjjkRQkq)

![Archived parameters cannot be reactivated or modified.](/files/8vKPAhr5yNTbywD5vJNr)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hackle.io/en/remote-configs/remote-config-parameter-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
