The m3ter platform supports Segmented Aggregations, which allow you to segment the usage data collected by a single Meter. Segmented Aggregations are very useful for implementing certain pricing and billing use cases because you can then apply a different pricing to each of the defined segments.
The m3ter Connector for Salesforce managed package supports the mapping of Segment Attributes from your Salesforce Org onto m3ter pricing set up for Segmented Aggregations.
This topic explains how to enable and work with the mapping segment attributes on pricing feature:
Important!
Check Version. The mapping segment attributes for pricing feature is only available in version 0.8 and above of the m3ter Connector for Salesforce managed package. See m3ter Connector for Salesforce - Changelog for details on how to check your current installed version.
Working with Segmented Aggregation in m3ter. If you enable and plan to use the mapping segment attributes on pricing feature in your m3ter Salesforce Connector managed package, we strongly recommend that you first review the Segmented Aggregations topic in our user documentation.
The mapping of segment attributes on m3ter pricing feature is built on top of the existing custom metadata framework developed for the m3ter Connector.
A new attribute added to the Custom Metadata Types (CMDT) framework supports a "Segments Field" in the PricingMapping_mdt
and is designed to reference fields from the PricingObject
specified in the metadata definition. This attribute is a Long Text Area and is used to store a JSON representation of key/value pairs that the user defines. Once this data is on the CMDT, the Sync Orchestration logic can make use of these fields and include them in the payload sent to m3ter.
To enable mapping of segment attributes:
1. In your Salesforce Org, navigate to the m3ter Admin app.
2. Under Setup, select the Segments tab:
The page queries all CMDT types that have the field Segments__c
defined for a given Custom Metadata Type. As of 2nd June 2025, this feature is only available for the Pricing sync:
Note that following the same pattern for how the m3ter Connector for SalesForce supports Custom Fields, there is a Long Text Area field added to PricingMapping__mdt
for Segments.
3. Expand NewPricing on the Segments tab:
4. Use the NewPricing panel to define segment attributes that should be sent to m3ter. This configuration set up includes selecting a Salesforce SFDC Field to serve as the source for the attribute's value:
Note that for improved usability and to aid identification, the Sync Record component now highlights mapped attributes for Segments using a green icon:
For Custom Fields using a dark blue icon:
The available fields for segment values are constrained by the PricingObject
defined in the PricingMapping__mdt
record.
The PricingObject
field - for example OpportunityLineItem
in the following screenshot - determines which of the object's fields can be referenced:
Only fields accessible from this object context can be used in segment values
For example, if PricingObject
is OpportunityLineItem
, then fields like OpportunityLineItem.Region__c
or fields from related objects like Opportunity.Account.Region__c
would be valid.
Standard and custom fields from the PricingObject
are supported.
Related object fields are supported through relationship notation - for example Opportunity.Type
.
Field-level security and object permissions are respected during resolution.
For direct fields on the PricingObject
, use just the field API name - for example Region__c
.
For related object fields, use relationship notation - for example Opportunity.Account.Region__c
.
Static values can be used directly without any special notation.
The format follows these additional rules:
Each segment is a key-value pair separated by a colon.
Multiple segments are separated by commas.
Whitespace around keys and values is automatically trimmed.
Invalid formats - such as missing colon or empty values - are ignored.
Field references that don't exist on the PricingObject
will cause validation errors.
The field is optional and can be left empty.
In m3ter, when defining pricing for Segmented Aggregations, you can use wildcards to apply default pricing to unspecified segment combinations.
This is achieved by omitting certain fields in the segment object of your API request. In the m3ter Connector for SalesForce, no extra logic with respect to wildcards is needed. The Connector should be acting as a passthru and let the m3ter platform handle wildcards in segments - see Segmented Aggregations - m3ter Documentation for details.
Login to the Support portal for additional help and to send questions to our Support team.