Products & Plans

Products

A Product is composed of the following parameters :

  • The Product name : this parameter is used to display the Product in the Purchasely Console, but is also displayed to the user in the section "My Subscriptions" (which allows users to manage their subscription directly into the Mobile App).\

  • The Product Vendor ID : this parameters allows you to set your own identifier for the Product. This Product Vendor ID will be useful at the Webhook level, when receiving Events about a particular Subscription, the Product Vendor ID corresponding to the Subscription will always be present.

The Product Vendor ID cannot be changed after its creation, so choose it carefully

  • The Description : this parameter is only used for your own internal purposes. It is a note that you can use for recording whatever information you want. It is not displayed in the Mobile App.\

  • The Icon : this icon is displayed in the Purchasely Console and in the section "My Subscriptions"

Editing _Products_** in the Purchasely Console**

To edit a Product, click on the Edit entry in the upper right corner

Except the Product Vendor ID, all the other parameters can be modified when editing a Product

Plans

In Purchasely model, Plans correspond to items users can actually purchase. They correspond to :

  • in-app purchases in the App Store Connect

  • in-app products in the Play Store Console

A Plan must be understood as an item, granting a certain level of access (e.g.: Bronze, Silver, Gold or Platinium), associated to a set of entitlements (e.g.: HD, 4K, family - 4 simultaneous streams for a SVOD service). If the Plan is a renewing subscription, it is associated to a renewal periodicity. The purpose of the Plan is to aggregate a same in-app item, distributed over various Mobile Applications Store, into a same object, with a shared identifier, that you can define yourself. This contributes to simplify the follow-up of your subscribers.

In Purchasely Console, a Product, can be associated to several Plans.

Creating Plans in the Purchasely Console

To create a Plan, click on the button + Add new plan

A Plan is composed of the following parameters :

  • Plan name : this parameter is used to display the Plan in the Purchasely Console, but is also displayed to the user in the section "My Subscriptions" (which allows users to manage their subscription directly into the Mobile App).\

    Plan Vendor ID : this parameter allows you to set your own identifier for the Plan. When receiving Events about a particular Subscription, the Plan Vendor ID corresponding the Subscription will always be present. It will inform you about the Plan associated to the subscription and thus allow you to define the matching entitlements. The Plan has a common identifier for all the Platforms on which it is distributed.\

  • Plan type : this parameter allows you to define the type of in-app item corresponding to the Plan. If a plan is mapped with several in-app purchases from several stores, it should be consistent and have the same type on all the stores.

  • Level : this parameter allows you organise Plans within the Product. Subscriptions should be arranged in descending order, starting with the option that offers the highest level of service. This order defines the migration policies (see below)\

Binding Store Product ID together

To bind the Plan with the Store Product ID, you must first ensure that the Application has been correctly plugged with the stores.

  • Check the Stores on which your Plan is distributed\

  • Report the Product ID from the corresponding in-app purchase retrieved from the App Store Connect Console in the field App Store Product id App Store Connect Console > My Apps > [YOUR APP] > In-App Purchases > Manage > In-App Purchases > [YOUR IN-APP PURCHASE]

  • Report the Product ID, Base Plan ID and wether or not the plan is Backwards Compatible from the corresponding in-app product retrieved from the Play Store Console in the field Play Store Product id Play Store Console > [YOUR APP] > Store presence > In-App products > Subscriptions > [YOUR IN-APP SUBSCRIPTION]

Ordering Plans inside a Product

The Level parameter is used to rank Plans inside a Product.

On iOS, the App Store Connect Console provides the Subscription Groups, that are the exact equivalent of Products in Purchasely. The order in which Subscriptions are organised inside a Subscription Groups defines the migration policies (up-sell | down-sell | cross-sell). The policies are managed directly by the App Store.

Plans inside a Product should be organised in the same order as Subscriptions inside a Subscription Group. If they are ordered differently, the Subscription Group ordering will prevail over the Product ordering in the Purchasely Console.

On the Play Store, Subscription Groups do not exist. Therefore, this is the order in which Plans are organized inside a Product in the Purchasely Console, which will define the migration policies between the Plans. The policies are thus managed by the Purchasely Cloud Platform.

About migrations policies

When a subscriber change his subscription (A) to another one (B), a migration is applied. The migration results in the auto-cancellation of subscription A, when subscription B is purchased.

App Store

On iOS, the migration is directly applied by the App Store. The condition to meet is to have the 2 in-app purchases belong to the same Subscription Group

3 different policies can be applied by the App Store :

  • Downgrade : if subscription A has a higher rank than subscription B in the Subscription Group, the migration will be considered as a downgrade. In this case, subscription A will remain active until the end of the current billing period, and subscription B (with its own price and periodicity), will replace it automatically and become active only for the next billing cycle. Subscription A will then be automatically resigned. Example : migration from the Yearly plan to the Monthly plan (screenshot above 👆) or from the Gold plan to a Silver plan in a multi-tiers subscription group. Inside the app, the user flow looks like this :

  • Upgrade : if subscription A has a lower rank than subscription B in the Subscription Group, the migration will be considered as an upgrade. In this case, subscription B will immediately replace subscription A a new billing cycle will start right away. Subscription B will be refund prorata temporis (for the time remaining before the end of the current billing period) to the user.\

  • Crossgrade : if subscription A has the same rank as subscription B in the Subscription Groups, the policy applied will depend on the duration of each subscription. If they have the same duration, the policy applied will be the same as an upgrade (effective immediately + pro-rata refund), and the user flow will be the one of an upgrade. If they have different durations, the policy applied will look like a dowgrade (subscription B will become effective at the next renewal date).

More information about the all this is accessible directly on Apple Help Center

Play Store

  • On the Play Store, since Subscription Groups do not exist, and migration are directly managed by the Purchasely Cloud Platform. To achieve this, it relies on Products and Plans. If Plans A & B belong to the same Product, Purchasely will apply a migration.

  • For simplicity towards users, the exact same rules as on iOS have been implemented (downgrade / upgrade & crossgrade). Purchasely Cloud Platform relies on the parameter Level to determine which Plan has the highest rank and apply the corresponding migration policy.

Editing Plans in the Purchasely Console

To edit a Plan, click on the Edit button in the upper right corner.

Last updated

© Purchasely 2020-2023