Simply counts the number of events received.Use case: API calls, page views, file uploadsCalculation: Total number of events
Adds up values from a specific property in your events.Use case: Data transfer, storage consumption, processing timeCalculation: Sum of all property values
Records the highest value of a specific property during the billing period.Use case: Peak concurrent users, maximum storage used, highest bandwidthCalculation: Maximum property value observed
Uses the most recent value of a specific property.Use case: Current plan tier, latest configuration settingCalculation: Last recorded property value
Define the unit label for display purposes in reports and billing.Examples: “calls”, “GB”, “hours”, “tokens”
3
Configure Event Filtering (Optional)
Set up criteria to control which events are included in the meter.
Event filtering allows you to create sophisticated rules that determine which events contribute to your usage calculations. This is useful for excluding test events, filtering by user tiers, or focusing on specific actions.
Enable Event FilteringToggle Enable Event Filtering to activate conditional event processing.Choose Filter LogicSelect how multiple conditions are evaluated:
AND Logic
OR Logic
All conditions must be true for an event to be counted. Use this when you need events to meet multiple strict criteria simultaneously.Example: Count API calls where user_tier = "premium" AND endpoint = "/api/v2/users"
At least one condition must be true for an event to be counted. Use this when you want to include events that meet any of several criteria.Example: Count events where method = "POST" OR method = "PUT" OR method = "DELETE"
Setting Up Filter Conditions
1
Add Condition
Click Add condition to create a new filter rule.
2
Configure Property Key
Specify the property name from your event metadata.
Use Add Group to create additional condition groups for complex logic.
Filtered properties must be included in your event metadata for the conditions to work properly. Events missing required properties will be excluded from counting.
4
Create Meter
Review your meter configuration and click on Create Meter.
Your meter is now ready to receive and aggregate usage events.
Once you have created your meter, you need to link it to a product to enable usage-based billing. This process connects your meter’s usage data to pricing rules for customer billing.Linking meters to products establishes the connection between usage tracking and billing:
Products define pricing rules and billing behavior
Meters provide usage data for billing calculations
Multiple meters can be linked to a single product for complex billing scenarios
Transform your usage data into billable charges by properly configuring your product settings:
1
Choose Usage-Based Billing Product Type
Navigate to your product creation or editing page and select Usage-Based as the product type.
2
Select Associated Meter
Click on Associated Meter to open the meter selection panel from the side.This panel allows you to configure which meters will track usage for this product.
3
Add Your Meter
In the meter selection panel:
Click Add Meters to view available meters
Select the meter you created from the dropdown list
The selected meter will appear in your product configuration
4
Configure Price Per Unit
Set the pricing for each unit of usage tracked by your meter.
Number of units customers can consume at no charge before paid usage calculation starts.How it works:
Free threshold: 100 units
Price per unit: $0.50
Customer usage: 250 units
Calculation: (250 - 100) × 0.50=∗∗75.00** charged
Free thresholds are ideal for freemium models, trial periods, or providing customers with a base allowance included in their plan.
The free threshold applies to each billing cycle, giving customers fresh allowances monthly or according to your billing schedule.
6
Save Configuration
Review your meter and pricing configuration, then click Save Changes to finalize the setup.
Your product is now configured for usage-based billing and will automatically charge customers based on their measured consumption.
What happens next:
Usage events sent to your meter will be tracked and aggregated
Billing calculations will apply your pricing rules automatically
Customers will be charged based on actual consumption during each billing cycle
Remember that you can add up to 10 meters per product, enabling sophisticated usage tracking across multiple dimensions like API calls, storage, compute time, and custom metrics.
ISO 8601 timestamp when the event occurred. Defaults to the current UTC timestamp if not provided. Must fall within 1 hour in the past and 5 minutes in the future — timestamps outside that window are rejected.
Follow these practices to keep usage tracking accurate and resilient in production.
Use deterministic, idempotent event_ids. The event_id must be unique across all events and acts as the idempotency key — a reused event_id is treated as a duplicate and not counted again, so retries never double-bill. Derive the ID from the action instead of a random value, e.g. `${customer_id}_${action}_${timestamp}`.
Batch events, up to 1,000 per request. The /events/ingest endpoint enforces a hard maximum of 1,000 events per call; batches larger than that are rejected, so split high volumes across multiple calls. For high-volume workloads, buffer events and flush in batches rather than sending one request per event.
Retry 5xx and 429, never 4xx. Retry on server errors (5xx) and rate limits (429) with exponential backoff. Do not retry 400/422 validation errors — the payload is malformed and will fail every time; fix it and re-send. Queue events that still fail after retries so none are lost.
Set timestamps intentionally. Omit timestamp for real-time events and it defaults to the current UTC timestamp. Set it explicitly (ISO 8601) for delayed or batched events so usage lands in the correct billing period, but note the accepted window is narrow: events timestamped more than 1 hour in the past or more than 5 minutes in the future are rejected. Historical backfill is not supported — flush buffered events within the hour.
Send aggregated metadata as numbers, not strings. Any property referenced by a meter’s Over Property (Sum, Max, Last) must be a numeric type — { "tokens": 150 }, not { "tokens": "150" }. String values will not aggregate.
Monitor and analyze your usage-based billing data with comprehensive analytics dashboard. Track customer consumption patterns, meter performance, and billing trends to optimize your pricing strategy and understand usage behaviors.
The meter quantities chart visualizes usage trends over time with the following features:
Time-series visualization: Track usage patterns across days, weeks, or months
Multiple meter support: View data from different meters simultaneously
Trend analysis: Identify usage spikes, patterns, and growth trajectories
The chart automatically scales based on your usage volume and selected time range, providing clear visibility into both small fluctuations and major usage changes.
The events table provides a clear view of individual usage events with the following columns:
Event Name: The specific action or trigger that generated the usage event
Event ID: Unique identifier for each event instance
Customer ID: The customer associated with the event
Timestamp: When the event occurred
This view allows you to track and monitor individual usage events across your customer base, providing transparency into billing calculations and usage patterns.