Feature Types

There are 3 different types of features in Schematic

  • Boolean - A simple on/off feature.
  • Event-based - A feature that is metered against events reported to Schematic (e.g. api calls, reports generated).
  • Trait-based - A feature that is based off of information reported to Schematic. This can be usage (e.g. seats) or metadata (e.g. company size).

Boolean Features

Boolean features are the simplest type of feature. They are often used to represent features that are either available or not available to a user or company. They are the most commonly used type of feature and are the backbone of most plans.

Event-based Features

Event-based features are features that are metered against user events reported to Schematic. This can be usage (e.g. api calls, reports generated). Events are sent to Schematic via the track function provided by each SDK. Schematic automatically aggregates these events to dynamically determine whether a company has exceeded their entitlement.

You can read more about tracking usage here.

Trait-based Features

Trait-based features are features based off of information reported to Schematic. Common examples includes seats, projects, or devices. In each case, the value is something you track outside of Schematic, and then report to Schematic when it changes.

Traits can be updated in 3 ways:

  1. The upsert trait endpoint or the upsertCompanyTrait function in the SDKs.
  2. The upsert company endpoint or the upsertCompany function in the SDKs.
  3. Calling identify to identify a company in the SDKs (or manually creating an identify event via the events endpoint).

Why Report Trait Usage to Schematic?

We strongly recommend reporting trait usage to Schematic and leveraging Schematic to enforce limits for trait based features. Doing so provides you:

  1. Centralized customer usage data as it pertains to monetization
  2. The ability to set per-customer overrides for these features in your application
  3. Integration with Schematic’s usage analytics to understand usage patterns and customer health

For these reasons, we recommend reporting usage to Schematic whenever possible.