> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.qonversion.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Remote Configs + A/B Tests

> How to change which products, paywalls and app behaviour your users see without an app release, and how to split traffic on the same configs to find out which version earns more.

A Remote Config is a named set of values your app reads at runtime instead of hard-coding them: product identifiers, paywall copy, colours, which onboarding steps to show. An A/B test splits your users across several versions of one config and reports what each version earned. Same mechanism, two uses — **A/B tests without shipping a release**.

Each variant is measured against the same revenue data the rest of Qonversion runs on — trials, conversions, renewals and revenue per user, not clicks on a screen. That is the whole point of running the test here rather than in a separate tool: the winner is decided in money, on numbers you can compare with your store reports.

## What you can change without a release

* **Which products a paywall offers** — swap the product identifiers a config returns.
* **Paywall and onboarding content** — text, images, order of steps, which screens appear at all.
* **App behaviour behind a flag** — anything your code reads from the config as a string, number, boolean or JSON object.
* **Who sees what** — target by country, app install date, app version, store, active subscription, purchase history or user properties, and split by a share of traffic.

What you cannot change this way: anything compiled into the binary, and the price Apple or Google charges. Qonversion serves the values; your app has to read them, and the price points themselves live in App Store Connect and Google Play Console.

## How the two fit together

<Steps>
  <Step title="Define a context">
    Name the part of the app you want to control — `main_paywall`, `onboarding`, `paywall_products`. This key is what your app asks for.
  </Step>

  <Step title="Attach values">
    Add attributes as strings, numbers, booleans or JSON. See [Create Remote Config](/docs/remote-config).
  </Step>

  <Step title="Split it">
    Turn one context into an experiment with two or more variants and a weight each. Assignments are sticky: users already in a group stay in it when you change weights mid-flight. See [Launch experiments](/docs/launch-experiments).
  </Step>

  <Step title="Read the result">
    Judge on one primary metric, with the full set of subscription metrics next to it. See [Analyse an experiment](/docs/analyse-experiment).
  </Step>
</Steps>

Targeting changes apply only to users who have no assignment for that context key yet. A user pinned manually to a configuration keeps it and is served that configuration instead of any experiment on that context key. Before you change targeting on a running test, read [How targeting and assignment works](/docs/remote-config-targeting).

## What you need before you start

* The Qonversion SDK installed and configured — [Quick start](/docs/quickstart).
* Products created in Qonversion if the experiment changes what is sold — [Create products](/docs/create-products).
* Code in your app that reads the config instead of a constant. Until that is in place, changing a config changes nothing.

Experiments run in both Analytics Mode and Subscription Management Mode. In Analytics Mode your own code makes the purchase, so if a config swaps product identifiers, make sure your purchase flow can buy every identifier the config returns — plan for that before you start.

## Next steps

<CardGroup cols={2}>
  <Card title="Create Remote Config" icon="sliders" href="/docs/remote-config">
    Contexts, value types, and how the SDK fetches them.
  </Card>

  <Card title="Target the right users" icon="crosshairs" href="/docs/remote-config-targeting">
    Segments, traffic share, and what happens when you change them mid-flight.
  </Card>

  <Card title="Launch experiments" icon="flask" href="/docs/launch-experiments">
    Variants, weights and testing a variant before you send traffic to it.
  </Card>

  <Card title="Apple Ads" icon="bullseye" href="/docs/apple-ads">
    Found the paywall that earns more — now see which campaigns are worth the budget.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.