> ## 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.

# Subscription Management Mode

> This guide is for implementing subscription-based access management with Qonversion (Subscription Management mode).

export const NextStepsSubscription = () => <CardGroup cols={2}>
  <Card title="Displaying products" icon="grid-2" href="displaying-products">
    Fetch your configured products from Qonversion to build your paywall.
  </Card>
  <Card title="Making purchases" icon="cart-shopping" href="making-purchases">
    Trigger a purchase through the SDK and handle the result and errors.
  </Card>
  <Card title="Check entitlements" icon="circle-check" href="check-permissions">
    Read a user's active entitlements to unlock or gate premium features.
  </Card>
  <Card title="Testing" icon="flask" href="testing">
    Test purchases in the Apple and Google sandbox before going live.
  </Card>
</CardGroup>;

The Subscription Management mode allows you to implement a complete cycle of in-app purchases management: getting offers, making (or restoring) purchases, and handling entitlements.

If you want only to get a single source of truth for revenue analytics and leverage [real-time purchase events](integrations-overview#tracked-events) in integrations, please refer to the [Analytics Mode guide](analytics-mode).

## 1. Configure Products & Entitlements

To successfully run subscription-based entitlement management, you need to connect stores' products to Qonversion:

1. Create and configure in-app products on the [App Store Connect](https://qonversion.io/blog/configure-iap-app-store-connect/) and/or [Google Play Console](android-in-app-products) sides

   * Please note that your *App Store Connect* products must be in either *Ready to submit* or *Ready for sale* statuses. Otherwise, the [*Product not found error*](troubleshooting#product-not-found-error) may occur during Qonversion SDK integration.
   * Do not forget to activate your products for the Google Play console. Otherwise, the [*SkuDetails error*](troubleshooting#skudetails-error) may occur during Qonversion SDK integration.

2. [Create entitlement](https://dash.qonversion.io/entitlements) which should be granted once in-app product is purchased. Learn more about Qonversion entitlements [here](entitlements).

3. [Create product-linker](https://dash.qonversion.io/entitlements/products) in Qonversion and link it to the previously created entitlement. Learn more about Qonversion products [here](create-products).

<Info>
  Selling on the web too? You can map web-billing products into the same entitlements. Connect [Stripe](stripe-integration) or [Paddle](paddle-integration) and add their product IDs to your Qonversion products so cross-platform subscribers get the same access.
</Info>

## 2. Configure a Remote Config for your paywall (optional)

To change the set of products offered to your users without an app release, put your product IDs into a [Remote Config](remote-config) and read it in the app. This also lets you target user segments and [run A/B tests](launch-test-from-remote-config) on your paywall later. See the [recommended payload structure and code samples](migrate-offerings-to-remote-configs).

This step is not required for Subscription Management Mode — you can also [request your products directly](displaying-products#get-the-list-of-available-products).

## 3. Launch SDK

Initialize the SDK in Subscription Management mode:

<InitSdk />

**→[Get your Qonversion Project Key](quickstart#2-create-a-project-and-register-your-app)**

## 4. Set additional user attributes

Optionally, to improve attribution in Adjust, AppsFlyer, Singular, or to match Qonversion revenue events to users in [third-party tools](integrations-overview), you can share with us such attributes as User Identifier, IDFA (Identifier for Advertisers, iOS 14.5+ only) or ASID (App set ID, Android 12+ only). Please follow [this guide](user-properties#custom-user-properties) to learn more.

## 5. Display products, make purchases, and check the premium status

Once you have added Products and Entitlements to Qonversion, initialized the SDK, and added user attributes, it's time to proceed to the main part of the Subscription Management implementation!

1. [Here](displaying-products) you'll learn how to correctly display products to your customer using Qonversion SDK.
2. By following [this guide](making-purchases), you will know how to launch a purchase, after which your user gets premium access with the entitlement you have created above.
3. Finally, [this article](check-permissions) will help you check whether your user has already been granted access to your premium features.

***

## Next steps

With products, entitlements, and the SDK in place, wire up the purchase flow and verify access.

<NextStepsSubscription />
