Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

Discover Attribute-Based Pricing

Learning Objectives

After completing this unit, you’ll be able to:

  • Explain the purpose and benefits of attribute-based pricing in Industries Configure, Price, Quote (CPQ).
  • Define the attribute-based pricing components and explain their function.
  • Describe the three key types of attribute-based pricing.
  • Summarize the steps to implement attribute-based pricing.

Before You Start

How much do you know? We assume you’ve already:

  • Created and amended quotes and orders in your workplace.
  • Used Product Designer to create products for your company’s catalog offerings.
  • Discussed key pricing strategies with the sales team at your office.

Still trying to figure it out? Complete the badges in the following learning path to help with the concepts and tasks you do in this module.

Attribute-Based Pricing in Industries CPQ

Developer Eliza Young is always looking to improve processes at Infiwave, a communications service provider (CSP). Every day she explores ways to enhance the efficiency and reliability of Infiwave’s product catalog, order capture, and order management systems.

Eliza Young, the developer at Infiwave.

Recently, Infiwave adopted Industries CPQ, helping Eliza’s colleagues to easily create and manage error-free products, pricing, quotes, and orders with less downtime. Infiwave is now a well-oiled selling machine, but Eliza still sees room for improvement.

Eliza wants to focus on minimizing the amount of product data in the catalog, because it leads to less maintenance and administration. She wants to maximize Industries CPQ capabilities to provide customers with unique and attractive offers.

Infiwave’s products come in many different forms, and Eliza’s worried these customization options result in an overloaded catalog. For example, a smartwatch product has different prices depending on which size or connectivity the customer selects.

In this diagram, notice how the smartwatch’s price increases when the customer chooses a larger size, advanced connectivity, or both. One way to create this pricing is to create four separate smartwatch products, assign the attribute values for size and connectivity, and set a unique price for each product.

Four smartwatch products with different combinations of attributes and unique pricing.

But what if the product team introduces new features for the smartwatch? Then Infiwave’s product designer must modify the structure of all four products. That’s not efficient, especially if there are multiple product configurations.

To minimize this excess, Eliza explores the best way to offer different prices for the same product based on the features or characteristics a customer chooses.

Eliza comes across attribute-based pricing. Using this method, she can set up the price for a single product so it automatically adjusts based on the attributes or combination of attributes the customer chooses. She can even use attribute-based pricing to control prices based on customer information.

Follow along as Eliza uses attribute-based pricing to simplify the price configuration of the same smartwatch product. In this diagram, the price of the smartwatch automatically increases when a customer chooses a larger size, better connectivity, or both.

Infiwave’s smartwatch product with different pricing based on the combination of case size and connectivity attributes.

By having just one product to maintain, Eliza saves valuable time when there are updates to the product. Eliza is impressed but wonders how it all works. Not to worry, we cover that in detail in this module.

Sign Up for a Training Playground

We don’t have any hands-on challenges in this module, but if you want to practice and try out the steps, you need a special training org that contains Industries CPQ and our sample data. A regular Trailhead playground doesn’t have Industries CPQ or our sample data.

Here’s how to get the training org now.

  1. Sign up for an Industries Training Playground.
  2. Fill out the form.
    • Enter your first name and last name.
    • Enter an active email address.
    • Enter your company name.
    • Click Sign me up. A confirmation message appears.
  3. When you receive the confirmation email (sometimes this takes a few minutes), log in to your training playground using the credentials in the email.

If you’d like to practice, check out the practice guide in the Resources section for each unit.

Attribute-Based Pricing Components

You can implement attribute-based pricing by using lookup tables, expression sets, and pricing plans. In the following sections, you explore each of these components in more detail.

Lookup Table

To define a product’s price, enter attribute values and corresponding prices into a lookup table. There are two types of lookup tables: decision matrices and decision tables. Decision matrices use exact-match functionality to map inputs in a row, and then return the row’s output. Decision tables match inputs to multiple rows for more complex calculations.

Expression Set

An expression set performs a series of calculations using matrix lookups and user-defined variables and constants. Together, expression sets and lookup tables comprise the Business Rules Engine.

Pricing Plan

A pricing plan is a series of steps in a sequence and each step invokes a process, function, or procedure. You configure pricing plan steps to call one or more lookup tables and expression sets.

In the case of Infiwave’s smartwatch product, Industries CPQ sends the selected product attribute data to the pricing plan as part of validation. A pricing plan step calls the appropriate expression set to calculate the price based on the attribute value. The pricing plan then updates the applicable price amount for the product in the Industries CPQ Cart.

The attribute-based pricing calculation process.

The PricingInterface and its PricingPlanService implementation makes this price calculation possible. At run time, the PricingPlanService implementation passes the Cart line items to the calculation service and retrieves the correct price from a lookup table.

Types of Attribute-Based Pricing

There are three common approaches to using attribute-based pricing.

Standard

With standard attribute-based pricing, you price a product using its attributes. For example, change the price of a smartphone depending on its screen size or color.

Source-Target

In source-target pricing, the price of a target product depends on a source product in the Cart. For instance, when a customer buys a high-end smartphone, they can buy headphones at a discounted price along with it. You can also use source-target pricing to change the price of a child product depending on its bundle context.

Range

Use range attribute-based pricing to change the price of a product when an attribute or field value falls within a range. For example, use range-based pricing to offer discounts when a customer buys a product in bulk.

It’s time to test your knowledge on the different approaches of attribute-based pricing. Choose which approach works best for each scenario.

Implement Attribute-Based Pricing

Before you implement attribute-based pricing, download and install the Attribute Based Pricing datapack. Next, verify the post-installation steps and check the configuration of the DefaultPricingPlan, PricingPlanService implementation, and associated Apex classes. Don’t worry, you can follow these steps in the practice guide in the Resources section.

Eliza is determined to make her colleagues’ jobs easier, so she begins to explore the different attribute-based pricing methods more closely. Next up, she learns about setting up standard attribute-based pricing.

Resources

Share your Trailhead feedback over on Salesforce Help.

We'd love to hear about your experience with Trailhead - you can now access the new feedback form anytime from the Salesforce Help site.

Learn More Continue to Share Feedback