Skip to main content

Multi-Attribute Pricing (MAP)


Multi-Attribute Pricing (MAP)


Multi-Attribute Pricing within Zuora CPQ enables you to implement complex pricing strategies by considering multiple attributes or factors that influence the final price of a product or service. This advanced feature empowers you to tailor your pricing models to various customer segments, product configurations, and market conditions.

It allows you to create dynamic pricing structures based on a combination of attributes, such as product features, quantities, discounts, geographic regions, and more. By leveraging this functionality, you can offer personalized pricing to customers while ensuring accurate pricing calculations that reflect the intricacies of their products and services.

Procedure to setup MAP

Take the following procedure to set up a multi-attribute pricing charge model for usage charges in Zuora and Salesforce. Below is a step-by-step breakdown of the process:

In Zuora tenant

Follow the steps outlined in the below documentation for implementing a Multi-Attribute Pricing (MAP) charge model for usage charges in your Zuora tenant.

  1. Create custom fields for the Usage object - Customize the Usage object by creating custom fields that will hold the attributes you want to use for pricing differentiation. For example, if you're renting cars, you might create fields like "Car Type" and "Car State."
  2. Create a custom object with multi-attribute data - Create a custom object to store the multi-attribute data. This could be a table that contains the different attributes like Car Type and Car State, along with their associated pricing information.

    1. Create a custom object as the lookup table definition - Define a custom object that acts as a lookup table. This object will help in mapping the attributes to specific pricing information.
    2. Add records to the lookup table - Populate the lookup table object with records that associate the attribute combinations with their corresponding pricing.
  3. Create product rate plan charges and subscriptions - Define product rate plan charges in Zuora that link to the custom object's data. This helps in applying the MAP charge model to your subscriptions.
  4. Create usage records with the Usage custom fields - When recording usage for subscriptions, include the custom fields (Car Type and Car State) to capture the attributes for pricing calculation.
  5. View the status and details of the created usage records - Monitor the usage records to ensure that the custom fields are correctly populated and that the pricing is being applied based on the attributes.
  6. Sync Data from Zuora to Salesforce - Synchronize the subscription, product, and usage data from Zuora with Salesforce.

Important considerations

  • One-time and Recurring Charges: In Zuora, when dealing with both one-time and recurring charges, you can input a quantity (qty) and map account-level fields and quote-level fields to account-level fields and subscription-level fields. This enables you to compute a preview of these charges using your specified price formula.
  • Usage Charges: Regarding usage charges within Zuora, manual entry of quantity or other fields is not permitted. The pricing for usage charges relies on the actual usage records uploaded in Zuora. Consequently, you will not receive a preview for usage MAP charges in CPQ because the pricing is determined by the data uploaded for actual usage.

In Salesforce

  1. Create Custom Fields (Type and State) - In Salesforce, create the respective custom fields (e.g., "Type" and "State") on the Account or Subscription object. These fields will store the attribute selections made during the quoting process. Refer to the Create a Custom Field article in Salesforce to learn how to create a custom field.

  2. Add Fields to Quote Studio UI - Edit the Quote Studio UI to include the newly created custom fields (Type and State) in the quoting process. This allows you to select the relevant attributes when creating a new quote.

Create quote with Multi-Attribute Pricing charge

  1. In your Salesforce org, navigate to the Account Detail page of an account or the Opportunity Detail page of an opportunity.
  2. Click the New Quote (New) button. 
  3. In the area of Step 1: Select a Billing Account, select a billing account from the table. 
  4. In the area of Step 2: Select a Subscription, click New Subscription on the right. The New Subscription Quote page is displayed.
  5. click clipboard_e5645d6ff7d73f7489984a5b61f8bc203.png in the Quote Summary card at the top to configure the quote information in the expanded view, including the quote name, associated account and opportunity, the valid period of the quote, and whether it is a primary quote.

    Expand Quote info menu

  6. Click clipboard_e5645d6ff7d73f7489984a5b61f8bc203.png in the Subscription Summary section to configure basic information of the subscription, including the subscription type, terms and conditions, whether it is a ramp deal, and billing information.
  7. Select the products and rate plans with MAP configuration, the price will be adjusted based on the attributes chosen within the custom fields labeled as Type and State.


The example lookup table used by the car rental company is as follows:

type state price multiplier
compact California 2
compact New York 3
full-size California 3
full-size New York 4

The actual car rental price for each usage record is calculated based on the following prototype formula (the actual Price Formula will be different): 
Usage Quantity *  Price Multiplier

See Price Formula Reference for more information.

  1. Click Submit. The configuration is then submitted successfully.

While it's feasible to override MAP charges during Orders creation within Zuora, Zuora Quotes does not offer assistance for such overrides. This is due to the fact that Zuora Quotes is crafted to meet the requirements of sales representatives, and incorporating this degree of intricacy might potentially add complexity to the user experience.