> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Create a meter based on a meter type

> Create a meter using predefined types that send results to Zuora Billing.

Create a meter using predefined types that send results to Zuora Billing.

You can create a meter based on a set of predefined meter types. All predefined meter types send the results to Zuora Billing. The following predefined meter types are available:

| Meter Type | Definition                                                                                                                                               |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Direct     | Provides a way to ingest events through an API and maps them directly, without any transformations, to Usage Records in Zuora Billing.                   |
| Delta      | Returns the difference between the current and previous event quantities according to the event time and loads events as Usage Records to Zuora Billing. |
| Sum        | Returns the sum of the event quantity during a specific period and loads events as Usage Records to Zuora Billing.                                       |
| Max        | Returns the event maximum quantity during the accumulation period and loads events as Usage Records to Zuora Billing.                                    |
| Min        | Returns the event minimum quantity during the accumulation period and loads events as Usage Records to Zuora Billing.                                    |
| Count      | Returns the count of events during the accumulation period and loads events as Usage Records to Zuora Billing.                                           |

Meters map event data fields to target fields. You can configure the required and optional fields. It also allows the association of the custom fields on the optional fields.

You can preview the example payload and event ingestion data of the meters.

Click **Create Meter** on the **Meters** home page.

Enter a name for the meter and select a meter type.

Click **Create**. The **Meter Stream** window opens.

Configure the **Event Source**:

1. Select the **Source Type** from the drop-down list.

   This could be a Streaming API or an Upload File.
2. Click the **Select** button to specify the event definition.

   The event definition is a data schema and describes the structure of the event data. You can create a new event definition, select an existing one from the list, or import a definition.

Click the **Field Mapping** link at the lower right corner of the page to proceed with field mapping.

Field mapping involves mapping event header fields to target fields.

In the **Required Fields** section, select the **Event Fields** from the drop-down lists that are to be mapped to the corresponding **Target Fields** that are displayed.

If needed, specify additional mappings in the **Optional Fields** section.

After field mapping has been completed, click the **Options / Examples** link at the lower right corner of the page to proceed.

The **Options / Examples** page displays an example payload based on the event definition and the field mappings.

Inspect the payload to ensure that it meets the requirement of the meter. Click the **Download** button to save the payload as a `.json` file and review it using any editor.

The meter is created. Click **Test** to initiate a test run. A test run displays simulated output for validating the meter, but it does not write records to the configured target, including the Usage table. Click **Run** to perform a live run and write records to the target.

Use **Test** to validate meter logic without affecting target data. Use **Run** when you want Mediation to write records to the target.