Purchasely
4.4
4.4
  • Welcome page
  • General
    • Presentation
    • Release notes
  • Quick start
    • Console Configuration
    • SDK Implementation
    • Testing
    • Sample
  • Basic configuration
    • Console Configuration
      • Creating a new application
      • Creating your Products
        • App Store
        • Play Store
        • Huawei App Gallery
        • Amazon App Store
        • Products & Plans
      • Design your Paywalls
      • Design your Paywalls-Latest
        • Carousel
        • Carousel Flow
        • Features List
        • Features List & Plan Picker with 2 & 3 columns
        • Feature list overlay
        • Plan picker horizontal
        • Plan picker with 2 and 3 Column
    • SDK installation
      • iOS SDK
      • Android SDK
      • React Native SDK
      • Cordova SDK
      • Flutter SDK
      • Unity SDK
    • SDK configurations
      • Paywall observer mode
      • Full mode
      • StoreKit 2
      • Appendices
        • Start the SDK
        • Set User Id
        • Notify when the app is ready
        • Present paywalls
        • Unlock content / service
        • Close SDK (Android only)
    • Stripe
    • Purchasely with RevenueCat
  • S2S notifications
    • Server-to-server notifications ?
    • Apple App Store
    • Google Play Store
    • Huawei App Gallery
  • Analytics
    • Dashboards
      • Introduction
      • Live
      • Subscriptions
      • Cohorts
      • Trials
      • Events
    • Events
      • Webhook events
        • Subscription events
        • Subscription events attributes
      • SDK events
        • UI events
        • UI attributes
  • Integrations
    • Webhook
      • Receiving and understanding messages
      • Managing entitlements
      • Detailed sequence diagrams
    • Airship
    • Amplitude
    • AppsFlyer
    • Adjust
    • Piano analytics(ex AT Internet)
    • Batch
    • Branch
    • Braze
    • Clevertap
    • Customer.io
    • Firebase
    • Iterable
    • Mixpanel
    • MoEngage
    • OneSignal
    • Segment
    • Brevo(ex Sendinblue)
  • Advanced Features
    • Asynchronous paywalls
    • NEW: Promotional offers
    • Anonymous user
    • Associating content
    • Audiences
    • Customising UI
      • Errors & alerts
      • Controllers (iOS) / Fragments (Android)
    • Deeplinks automations
    • Disable placements
    • Displaying users subscriptions
    • Localization
    • Lottie animations
    • Non-subscription products
    • Paywall action interceptor
    • Promoting your products
      • Self-promotion
      • Promoting In-App Purchases
    • Purchase manually
    • Subscription status
    • Use your own paywall
  • Others
    • Frequently Asked Questions
    • Migration guides
      • Migrate to Purchasely
      • Webhook
        • Migrate to Webhook v3.0
      • SDK
        • Migrate to SDK v3.0
          • v2.2.0
          • v2.1.3
        • Migrate to SDK v3.1
        • Migrate to SDK v3.2
        • Migrate to SDK v4.0.0
  • TESTING
    • Testing Cycle Durations
Powered by GitBook

© Purchasely 2020-2023

On this page
  • Products
  • Plans
  • Creating Plans in the Purchasely Console
  • Binding Store Product ID together
  • Ordering Plans inside a Product
  • About migrations policies
  • Editing Plans in the Purchasely Console

Was this helpful?

Edit on GitHub
  1. Basic configuration
  2. Console Configuration
  3. Creating your Products

Products & Plans

PreviousAmazon App StoreNextDesign your Paywalls

Last updated 1 year ago

Was this helpful?

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.

Binding Store Product ID together

  • 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).

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.

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 )\

To bind the Plan with the Store Product ID, you must first ensure that the .

More information about the all this is accessible directly on

Apple Help Center
below
Application has been correctly plugged with the stores
Plan mappings App Store Connect -> Purchasely
Plan Mappings Google Play Console -> Purchasely
User flow on iOS