In order to manage and customize your users’ experience in your app, you’ll need to:
Wix provides all relevant identifying information about sites in app instance data.
The App Instance Installed webhook and app instance data return a property originInstanceId
. If originInstanceId
is blank or missing, the site wasn't cloned with the app installed. If present, it provides the instanceId
of the original installation.
If you are working in Blocks, you need to use a different Velo function to identify users, getDecodedAppInstance(). Learn how to adjust your Blocks app to pricing plans.
The relevant fields to check within the app instance are:
Field name in query parameter | Field name in REST instance | Field name in Velo instance | Field name in webhook payloads | Description |
---|---|---|---|---|
instanceId | instanceId | instanceId | instanceId | Identifier for the specific occurrence of your app on a specific Wix site. |
vendorProductId | packageName | vendorProductId | vendorProductId | Identifier of the paid pricing plan this site has installed, as displayed in your app's dashboard. Not returned when a free plan is installed. |
/ | isFree | / | / | Whether the site owners have installed a free version of your app on their site. |
/ | expirationDate | / | expiresOn | Date and time the app's current billing cycle ends. Available only for yearly and multi-yearly plans. |
uid | / | / | / | ID of the Wix user or site member who is logged in. |
aid | / | / | / | ID of an anonymous site visitor. |
The vendorProductId
in encoded query parameter + webhook payloads, and the packageName
in the Get App Instance REST endpoint, both refer to the identifier of the paid pricing plan this site has installed, as displayed in your app's dashboard:
If this ID isn’t returned, it means that this site has a free plan installed. Note that sites who cancel a paid plan will only stop returning a vendorProductId
/ packageName
once their paid plan expires.
To support paid plan features in your app, you’ll need to check the user’s pricing plan every time they open your app, and ensure that you activate the relevant features.
It's important to note that Wix considers users who are on a free trial as paid users, even though they haven't been charged yet.
Your app should always identify the user and and manage their access to paid features accordingly. Before your app has identified the user, it should restrict access to paid features by default and display a clear call-to-action (CTA), encouraging users to upgrade for a fuller experience. Failure to manage this flow will enable users who haven't paid for your app to access paid features.