Identify and Manage App Users

In order to manage and customize your users’ experience in your app, you’ll need to:

  • Identify each site that uses your app.
  • Identify the site’s pricing plan and version of your app they’ve installed.
  • Map each pricing plan to the features it supports.

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.

Note:

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 parameterField name in REST instanceField name in Velo instanceField name in webhook payloadsDescription
instanceIdinstanceIdinstanceIdinstanceIdIdentifier for the specific occurrence of your app on a specific Wix site.
vendorProductIdpackageNamevendorProductIdvendorProductIdIdentifier 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/expiresOnDate 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:

Product ID in app 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.

Why it matters

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.

See also

Did this help?