Configure Maxio Metering settings, streams, event properties, meters, and segments to support usage-based billing in Advanced Billing. Use these settings to control how Maxio receives usage events, calculates meter results, and prepares usage for billing.
To follow the first-time setup workflow, see Get Started with Maxio Metering.
Configuration checklist
Before using Metering in production, confirm the following:
- ☐ Metering is enabled.
- ☐ The grace period matches your usage delivery timing.
- ☐ The stream schema matches the events your system sends.
- ☐ The subscription identifier type is correct.
- ☐ Event properties use the correct data types.
- ☐ Meter aggregation matches the billing model.
- ☐ Segment values match component pricing values exactly.
- ☐ A metered component is connected to the meter.
- ☐ The component is added to the correct subscriptions.
- ☐ Test events produce expected meter results.
Metering settings
Use Metering settings to enable Metering and control billing-period timing.
Before you begin, Metering must be enabled for your site. Contact your Customer Success Manager or Maxio Support to request activation.
-
Go to Config > Settings > Metering.
- Toggle on Metering.
- In Subscription Processing Grace Period, enter the number of minutes Maxio waits after a billing period ends before finalizing usage.
- Click Save Settings.
Subscription Processing Grace Period
The Subscription Processing Grace Period 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.
For billing impact, see Understanding Meter Results in Billing.
Stream configuration
A stream defines the schema for incoming events.
To create or update a stream:
- Go to Metering > Streams.
- Click Create Event Stream, or open an existing stream.
- Configure the stream fields.
| Field | Description |
|---|---|
| Name | The display name for the stream. Use a descriptive name your team recognizes. |
| API Handle | The system-generated handle used when sending events to the stream. |
| Description | Optional internal context for your team. |
| Subscription Identifier | Determines how events are matched to subscriptions. |
| Event Properties | Defines each field Maxio accepts in incoming events. |
For stream concepts, see Streams, Meters, and Segments Explained.
Subscription identifiers
Each stream supports one subscription identifier type.
| Identifier | Use when |
|---|---|
| Subscription ID | Your system stores Maxio's internal numeric subscription ID. |
| Subscription Reference | Your system stores an external subscription reference. |
All events sent to a stream must use the identifier type selected on that stream.
Event properties
Event properties define the fields included in incoming usage events.
For each property, configure:
| Field | Description |
|---|---|
| Property Name | The field name included in the event. |
| Data Type | Use Segment for properties that group usage, such as region, customer_tier, or feature_type. Segment properties support String, Integer, Float, Boolean, or Date values. |
| Used for Billing | Select Meter for values used in calculations or Segment for values used to group usage. |
Use Meter for numeric properties that support usage calculations, such as api_calls, gb_transferred, or minutes_used.
Use Segment for string properties that group usage, such as region, customer_tier, or feature_type.
Import properties from JSON
Use JSON import when you already have a sample event.
- On the stream creation page, click JSON Import.
- Paste a sample event.
- Review the detected properties.
- Confirm the data type and usage for each property.
- Click Add Properties.
Meter configuration
A meter calculates usage from stream events.
To create or update a meter:
- Open the stream.
- Click the Meters tab.
- Click Create Meter, or open an existing meter.
- Configure the meter fields.
| Field | Description |
|---|---|
| Meter Name | The display name for the usage calculation. |
| Analysis | The aggregation type used to calculate usage. |
| Property | The event property used for Sum or Count Unique calculations. |
| Segment | Optional grouping property used to split usage results. |
| Save Segment | Makes the segment reusable. |
Analysis: Aggregation types
Choose the aggregation type that matches what you bill for.
| Aggregation type | Description | Example |
|---|---|---|
| Count | Counts the number of events. | Count each API request event. |
| Sum | Adds values from a numeric property. | Sum gb_transferred. |
| Average | Averages values from a numeric property. | Average response_time_ms. |
| Minimum | Returns the lowest value from a numeric property. | Minimum latency_ms. |
| Maximum | Returns the highest value from a numeric property. | Maximum file_size_bytes. |
| Count Unique | Counts distinct values for a selected property. | Count unique user_id values. |
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:
regioncustomer_tierfeature_type
When a meter uses a segment, configure matching segment pricing on the connected metered component.
Segment value matching is case-sensitive.
For component pricing, see Design Your Catalog: Using Metering with Components.
Review event results
Use the Events tab to confirm that Maxio accepts incoming events.
- Go to Metering > Streams.
- Open the stream.
- Click Events.
- Review valid and invalid events.
- Open invalid events to see validation details.
If events are missing, invalid, or producing unexpected results, see Troubleshoot Metering Issues.
Comments
Article is closed for comments.