NewMaxio Metering is now available — usage-based billing for Advanced Billing.Learn more
/

Configure Maxio Metering

··

Last updated on Aug 28, 2026

Set up the Streams, event properties, Meters, and Segments that turn raw activity into billable usage in Advanced Billing. Use these settings to control how Maxio receives usage events, calculates Meter results, and prepares usage for billing.

Step 1 - Metering settings

Use Metering settings to enable Metering and control billing-period timing.

Important: Metering must be enabled for your site before you begin. Contact your Customer Success Manager or Maxio Support to request activation.

  1. Go to Config > Settings > Metering.

    Metering settings panel

  2. Toggle on Metering.

  3. In Subscription Renewal Grace Period (In Minutes), enter the number of minutes Maxio waits after a billing period ends before finalizing usage. Enter a value between 0 and 120.

  4. Click Save Settings.

Step 2 - Subscription Renewal Grace Period

The Subscription Renewal Grace Period (In Minutes) gives Maxio extra time to receive usage events before closing a billing period.

Use a grace period when your system may send usage shortly after the billing period ends. Events received after the grace period may not be included in the closed billing period.

Step 3 - Stream configuration

A Stream defines the schema for incoming events.

To create or update a Stream:

  1. Go to Metering > Streams.
  2. Click Create Event Stream, or open an existing Stream.
  3. Configure the Stream fields.
FieldDescription
NameThe display name for the Stream. Use a descriptive name your team recognizes.
API HandleThe system-generated handle used when sending events to the Stream.
DescriptionOptional internal context for your team.
Subscription IdentifierDetermines how events are matched to Subscriptions.
Event PropertiesThe fields Maxio accepts in incoming events, grouped into properties used for calculations and properties used for segmenting.

Event Streams list with the Create Event Stream button

Step 4 - Subscription identifiers

A Stream can define both a Subscription ID property and a Subscription Reference property, but only one of them is used to match incoming events to a Subscription.

IdentifierUse when
Subscription IDYour system stores Maxio's internal numeric subscription ID.
Subscription ReferenceYour system stores an external subscription reference.

All events sent to a Stream must use the identifier type selected for billing on that Stream.

Step 5 - Event properties

Event properties define the fields included in incoming usage events. Every property belongs to one of two groups:

GroupUse forSupported data types
Properties for Metered UsageNumeric properties used in Meter calculations, such as api_calls, gb_transferred, or minutes_used.Integer, Float
Properties for SegmentingProperties used to group usage, such as region, customer_tier, or feature_type.Integer, String, Float, Boolean, Date

When you add a property manually on the stream creation page, you add it directly under the matching group. When you import properties from JSON, you instead select whether each detected property is used for Calculations or Segmenting.

Import properties from JSON

Use JSON import when you already have a sample event.

  1. On the Stream creation page, click JSON Import.
  2. Paste a sample event.
  3. Review the detected properties.
  4. Confirm the data type and usage for each property.
  5. Click Add Properties.

Import Properties from JSON dialog with a sample payload and a property mapping table

Meter configuration

A Meter calculates usage from Stream events.

To create or update a Meter:

  1. Open the Stream.
  2. Click the Meters tab.
  3. Click Create Meter, or open an existing Meter.
  4. Configure the Meter fields.
FieldDescription
Meter NameThe display name for the usage calculation.
AnalysisThe aggregation type used to calculate usage.
PropertyThe event property used for calculations. Required for every aggregation type except Count.
SegmentOptional grouping property used to split usage results.
Save SegmentMakes the segment reusable.
Exclude EventsOptional conditions that remove matching events from this Meter's usage calculation.

Create a Meter dialog with Analysis and Segment sections

Step 6 - Analysis: Aggregation types

Choose the aggregation type that matches what you bill for.

Aggregation typeDescriptionExample
CountCounts the number of events.Count each API request event.
SumAdds values from a numeric property.Sum gb_transferred.
AverageAverages values from a numeric property.Average response_time_ms.
MinimumReturns the lowest value from a numeric property.Minimum latency_ms.
MaximumReturns the highest value from a numeric property.Maximum file_size_bytes.
Count UniqueCounts distinct values for a selected property.Count unique user_id values.

Step 7 - Segment configuration

Use a Segment when usage must be grouped by a property value. Segment properties support String, Integer, Float, Boolean, or Date types.

A Meter supports up to 10 Segment properties simultaneously, enabling granular usage splits by dimensions such as region, model tier, API key, plan type, and environment.

Examples:

  • region
  • customer_tier
  • feature_type

When a Meter uses a Segment, configure matching Segment pricing on the connected metered Product.

Segment value matching is case-sensitive.

Exclude Events configuration

Use Exclude Events when specific events should be left out of a Meter's usage calculation, such as internal test traffic or requests from a particular environment.

Important: Exclude Events conditions remove matching events from usage. They do not add events to usage. An event that matches your conditions is excluded from the Meter's aggregation; every other event is still counted toward usage. If you want a Meter to count only events that match a condition, set up conditions that exclude everything else instead.

Excluded events are still ingested and remain queryable on the Stream's Events tab. Exclude Events conditions only affect what counts toward billed usage, not what Maxio accepts or stores.

To add an exclude condition:

  1. Under Exclude Events, click + to add a condition.

  2. Select a Property from the Stream's segment or meter properties.

  3. Select an Operator. Available operators depend on the property's data type:

    Data typeAvailable operators
    Stringis, is not, in, not in, is null, is not null
    Integer, Floatis, is not, in, not in, <, >, <=, >=, is null, is not null
    Booleanis, is not, is null, is not null
    Dateis, is not, <, >, <=, >=, is null, is not null
  4. Enter a Value to compare against, if the operator requires one.

  5. Repeat to add up to 25 conditions.

When a Meter has more than one condition, choose how they combine:

  • Match all (AND): an event is excluded only when it matches every condition.
  • Match any (OR): an event is excluded when it matches at least one condition.

Once a condition has both a property and an operator set, Maxio shows a summary confirming the net effect: matching events are excluded from the Meter, and every other event is counted toward usage.

The Meter's read-only detail view lists the configured Exclude Events conditions, or shows No exclusion filter configured when the Meter has none.

Step 8 - Review event results

Use the Events tab to confirm that Maxio accepts incoming events.

  1. Go to Metering > Streams.
  2. Open the Stream.
  3. Click Events.
  4. Review valid and invalid events.
  5. Open invalid events to see validation details.

If events are missing, invalid, or producing unexpected results, see Troubleshoot Maxio Metering Issues.

Before going live, also confirm that a metered Product is connected to the Meter and added to the correct Subscriptions. See Design Your Catalog: Use Metering with Products.

To follow the first-time setup workflow, see Get Started with Maxio Metering.

For Stream concepts, see Understand Streams, Meters, and Segments.

For billing impact, see Understand Meter Results in Billing.

For Product pricing, see Design Your Catalog: Use Metering with Products.

Still need help?
Reach out and our support team will take it from here.

Contact support