Features Overview
The Features module helps you define the various features offered as part of your product line. It also allows you to define the entitlements that catalog items and subscriptions can have towards said features.
This results in a better customer experience for your users, and greater operational efficiency for your business.
There is a many-to-many relationship between features and product catalog items such as plans, addons and charges. An item can be assigned multiple features, and a feature can belong to multiple items.
All Features in Chargebee carry a name, description, and ID. Features can be created, updated, activated, archived, and deleted. Every feature is either metered or non-metered, and non-metered features have one of four entitlement types: switch, quantity, range, or custom.
Compare metered and non-metered features
The kind of feature decides who handles provisioning (granting the customer what they're entitled to), who tracks usage, and whether usage is rated (charged for) on invoices.
| Responsibility | Metered features | Non-metered features |
|---|---|---|
| What the entitlement means | The included usage: how much the customer can use before usage counts as overage. | The access the customer has: whether the feature is available, or the limit or level the customer gets. |
| Provisioning | Chargebee applies the included usage from the subscription's plans and non-metered addons. | Your application grants the access that the entitlement describes. Chargebee is the source of truth for the entitlement. |
| Usage tracking | Chargebee meters usage from the usage events you send. One usage event can count toward several metered features. | Your application tracks usage. |
| Rating | When the subscription has a metered addon for the feature, Chargebee charges for overage through that addon. By default, metered addons have unlimited entitlements. | Entitlements don't affect invoice amounts. |
| Access management | Your application enforces access. Usage alerts send webhooks when usage crosses a threshold you set. | Your application enforces access. |
| Subscription entitlements | Come from the included usage of the subscription's plan prices and non-metered addon prices. To change them for one subscription, override the included usage of a plan or non-metered addon price on that subscription. | Come from the entitlements of the subscription's plans, addons, and charges. You can override them for the whole subscription, or for a plan or addon price on that subscription. |
To create a metered feature, see Defining Metered Features. To create a non-metered feature, see Creating Features. For how subscription entitlements are derived and overridden, see Subscription entitlements for metered and non-metered features.
Entitlement levels
Levels determine the extent to which a feature can be diversified when associating it with product catalog items. With a feature having three entitlement levels, you can assign each level to a catalog item: higher value entitlement levels to premium plans, and basic entitlement levels to starter plans.
This is explained more in the following section on Feature Entitlement Types. This section, along with Managing Product Entitlements, will help you understand the implementation of levels.
Feature Entitlement Types
Entitlement type defines the nature of the entitlement levels available for a non-metered feature. Non-metered features have the following entitlement types:
Switch: For features that are either Available or Not Available to a user. Also called feature flags or toggles in other systems.
Quantity: For features that are offered with pre-defined numerical limits to users.
Range: For features that can be offered with numerical limits within a certain range.
Custom: For features and benefits that have various entitlement levels, but aren't numerical by nature.
Switch-type
With a switch-type feature, you can restrict the feature access to a set of applicable product catalog items.
Switch-type features have available/not available options as entitlement levels.
Example: Let's consider Analytics as a premium feature, for which only the Platinum and Gold plan users are entitled. You can select Switch as the entitlement type and configure it as available only for the premium plans.
Quantity-type
Quantity-type allows you to create numerical value-based features.
If the consumption of a feature entitlement can be tracked and measured against a limit using numerical values, then using a quantity type is recommended.
Applicable when you intend to closely control the entitlement levels by setting specific limits for each level. You can add any number of entitlement levels, including Unlimited for the maximum level.
A quantity-type feature doesn't affect invoices: your application tracks consumption against the limit. To have Chargebee meter consumption and charge for usage beyond the limit, use a metered feature instead.
Example: Let's say you are running a streaming service and need to restrict the number of movies a user watches in a month based on their plan. Quantity-based entitlements would be the best fit here. You can set the Entitlement unit as movies/month, and set the levels as 20, 30 and 50 movies/month.
Range-type
Range-type feature is applicable when you do not intend to closely control the entitlement levels. Unlike predefined values, you cannot set several limits but rather only a minimum and maximum value.
Range can also be used when you want to experiment with a range to understand the levels that your customers will respond to.
Example: Let's consider that you sell your SaaS product in two countries - country A and B. Since API traffic in country A is usually high compared to country B, you intend to provide an API limit based on that. The plans you provide are A-basic, A-premium for country A and B-basic, B-premium for country B.
To tackle this use case, you can set a range from 100 to 1000 and configure API limits for each plan and country within that range. A-basic: 500 requests/min, A-premium: 800 requests/min, whereas B-basic: 150 requests/min and B-premium: 400 requests/min.
Custom-type
Custom-type features help define service levels effectively. For example, onboarding, implementation, support, and success service levels.
It also allows you to configure any feature that doesn't come essentially under switch or quantity types. You can define several levels of entitlement using custom text or labels.
Example: Let's say that you have various service levels for the Support you offer. You can set Email Support, Chat Support, Phone Support and Priority Phone Support as the Entitlement levels from lowest to highest.
Roles and Permissions
Based on your role in Chargebee, you can perform various operations on the entitlements. Since entitlements directly impact the end user, limit who can view them and who can change them.
If you can't create or edit features, change item entitlements, or override, change, or delete entitlements on subscriptions, your role might not include that permission. Ask an Admin on your site to perform the action or to change your role. Some edits depend on the state of the feature regardless of your role. For example, you can change the aggregation method of a metered feature only until usage events are ingested against it. See Editing a Metered Feature.
The following table lists the roles and their entitlement permissions.
| Roles | Create Features | Edit Features | Change Item Entitlements | Override Entitlements on Subscriptions | Change/Delete Entitlements on Subscriptions | View Entitlements |
|---|---|---|---|---|---|---|
| Admin | Yes | Yes | Yes | Yes | Yes | Yes |
| Sales Agent | No | No | No | Yes | Yes | Yes |
| Customer Support | No | No | No | Yes | Yes | Yes |
| Sales Manager | No | No | No | Yes | Yes | Yes |
| Tech Support | No | No | No | No | No | Yes |
| Analyst | No | No | No | No | No | Yes |
| Finance Executive | No | No | No | No | No | Yes |
See also