Products & Plans
Last updated
Last updated
© Purchasely 2020-2023
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
.
Plans
in the Purchasely ConsoleTo 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)
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]
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.
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.
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
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.
Plans
in the Purchasely ConsoleTo edit a Plan
, click on the Edit
button in the upper right corner.