Skip to main content

Overview

Features are the foundational units of monetization in Metrifox. They represent monetizable functionality, resource or value in your product, enabling flexible pricing, packaging, and usage tracking. Once you integrate Metrifox with your codebase, you can create and monetize unlimited features, without additional engineering work. This lets you experiment with pricing, packaging, and easily track its usage, control who has access to it, and include it in different pricing plans, add-ons or single purchases entirely from the Metrifox dashboard. Think of features as the core components you use to build your pricing models. Instead of just creating a plan for “premium,” you can break down your product into individual features like:
  • Boolean features: A simple on/off function, such as “access to analytics dashboard.”
  • Metered features: A function that is tracked by usage or outcome, such as “500 API calls per month”, “monthly active users” or “qualified lead”

Creating a feature

  1. Navigate to the Catalog section in Metrifox.
  2. Open the Features sub-section.
  3. Click the “Create Feature” button.
Feature List
  1. A modal is displayed for you to define the Feature details
Fill out the following fields in the modal: Create Feature

Metered Features Settings (appear only when Metered is selected)

These settings become available only when Metered is selected:
1

Select Feature Type

Choose “Metered” as the feature type when creating a new feature that you want to be tracked by usage or outcome.
2

Configure Metering

Metered features require the following settings:1. Usage Type (Required)Defines how usage is recorded and reset:
  • PER USE
    • Discrete, event-based actions (e.g., API calls, emails sent).
    • Usage resets at the end of each reset period.
  • PERSISTENT USE
    • Ongoing usage that accumulates (e.g., storage, seats).
    • Does not reset; capacity limits can be adjusted.
2. Event Name (Required)
  • A unique label to send usage data or outcome event for metering, multiple event names are supported(comma-seperated). e.g., image_generatedapi_call_executed.
3. Aggregation Method (Required)How the events you send are turned into recorded usage:Use SUM when the quantity carries meaning — bytes stored, minutes used, tokens consumed — or when you batch several occurrences into one event and send the total.Use COUNT when you want the events themselves counted. The quantity is treated as 1 no matter what you send, so it is not a way to record a total.Use COUNT_UNIQUE when repeated events about the same thing should record nothing after the first. Only the sign of the quantity is read: a positive quantity counts the value and a negative one releases it.
If you batch 450 API calls into one event with quantity: 450, COUNT records 1, not 450. To count batched occurrences, either send one event each, or use SUM and report the total.
A quantity of 0 is rejected for every aggregation method — an event that records nothing leaves no trace of what was intended. COUNT also rejects negative quantities: because the quantity is ignored there is no amount to take away, so the request fails rather than silently removing one. To reduce what has been counted, adjust the events you no longer want counted to 0. If you need quantities to subtract, use SUM.
Aggregation propertiesA feature using COUNT_UNIQUE must be configured with one or more event properties — the values it counts distinct occurrences of. Every event must carry them under a properties object:
Every event is kept, whether or not it counted. A repeat is stored with the quantity you sent — it stays an accurate record of what your system did — and simply records no usage. Only the first event carrying a given value moves the count. So five events for account_id: acct_1 in one period leave five events on the customer’s timeline and 1 unit of usage.Configuring several properties counts distinct tuples, not distinct values of each property separately. ["workspace_id", "user_id"] counts distinct workspace-and-user pairs, so the same user seen in two workspaces records 2.Values are matched exactly. ACC_1 and acc_1 are two different values and each records its own unit.
An event that omits a configured property is rejected, as is any event for a COUNT_UNIQUE feature that has no aggregation properties configured.
The period a value counts within
  • PER USE — the set of seen values resets at the end of each billing period. A value seen again in the new period records a unit again.
  • PERSISTENT USE — a value records once and stays counted until you release it. Send an event with a negative quantity and the same property values to release it; this is how a seat or account is deactivated. A released value records again the next time it is seen.
MIN, MAX, LATEST and AVERAGE are not yet available. Use SUM, COUNT or COUNT_UNIQUE.
3

Complete Creation

  • Click “Create a Feature” to finalize. Example Configuration

Managing Your Features

Navigate to the feature list in the Catalog section. From the list of features on the feature page, click the three dots (⋮) menu next to any feature to access management options. Manage Features

Editing a Feature

To edit a feature:
  1. Locate the Feature
    • Click the ⋮ menu icon on the feature’s row
    • Select edit
  2. Update Fields
    • Edit any editable fields (Feature name, description, units, etc.)
    • Note: Certain properties like the Feature Key and Feature type cannot be modified after creation or if the feature is in use.
  3. Save Changes
    • Click ”Save Changes” to apply your updates.
  • Cannot modify the Feature Key, Feature Type and Usage Type once created
  • Changes propagate to all existing plans and add-ons using the feature

Archiving Features

When a feature is no longer needed for new customers but may still remain active for existing ones, it can be archived.

What Happens When You Archive a Feature?

  • Removed from selection lists: Won’t appear when creating new plans/add-ons.
  • Existing access preserved: Current customers keep access through old plan or add-ons versions
  • Feature key remains reserved: Cannot be reused for new features

How to Archive a Feature

  1. Click the ⋮ menu icon on the feature’s row
  2. Select “Archive feature”
  3. In the confirmation modal:
    • Click  the “Archive feature” button

Prerequisites for Archiving

  • The feature must not be used in any published plans or add-ons
  • If in use:
    1. Create new versions of affected plans/add-ons without the feature
    2. Publish the new versions
    3. Then archive the feature