Composable Commerce enables businesses to create flexible pricing strategies to meet customer needs. The platform's pricing functionality integrates well with other services such as product catalogs and order management to provide an end-to-end solution for businesses.
Embedded and Standalone Prices
When to choose Embedded or Standalone Prices
Depending on the size and complexity of your product catalog, you can choose between Embedded or Standalone Prices. Use the following decision tree to guide your choice:
- Do you need to filter, facet, or sort by Price in Product Projection Search? If yes, use Embedded Prices.
- Are you within the limit of
100for [Embedded Prices? If yes, either type works — consider Standalone Prices for better query performance. - Do you exceed the Standalone Prices per-Product Variant limit? If yes, use External Prices.
Product Price Mode
External Prices
When to use External Prices
You can use External Prices in the following scenarios:
-
High number of unique customer Prices: In B2B contexts, it's common to have unique prices for each Customer and Product Variant. If you have a large customer base (for example, over 50,000 Customers) and need separate prices for each Customer, external Prices are likely necessary.
-
Pricing data stored externally: If your pricing data is stored in an external system, such as a product information management (PIM) system or another external database, you may need to call that system's API to retrieve prices when displaying information for a Product Variant or adding it to the Cart.
-
Dynamic or real-time pricing requirements: If your pricing data is highly dynamic, requiring real-time adjustments based on variables such as currency conversion rates, choose External Prices. For example, you might need to retrieve conversion rates through third-party API calls before calculating the converted prices to display on your storefront and use for Line Items in a Cart.
-
Datastore co-located with application code: If your pricing data is stored in a local datastore alongside your application, you’ll need to make database calls (instead of external API calls) to retrieve and apply the pricing information to display or add to the Cart.
-
Prices are stored as a Custom Object: Although Custom Objects are stored within Composable Commerce, they can be used to store external pricing data. You would access this data via commercetools API calls, and since your code must retrieve this data for display or Cart addition, these prices are considered external. Note that using Custom Objects does not allow you to utilize the price selection logic provided by Embedded or Standalone Prices.
Tiered Prices
Composable Commerce allows you to set tiered pricing, where the price of an item changes depending on the quantity purchased. Although tiered prices are commonly used to offer a lower price per quantity threshold, you can also offer a higher price per tier. Offering a higher price per tier is useful when you want to dissuade customers from purchasing too many quantities of the same product.
Tiered Prices work with both Embedded and Standalone Prices. Use price constraints such as country, Customer Group, Channel, currency, and validity period to target different customers.
The first step is to set a base Price, which is the Price that applies to a single unit of a Product Variant when purchased. You can then define the tiered Price for the quantity of the Product Variant added to the Cart; for example, a customer gets a lower price per item when they buy 10 quantities of that item.
| Base price example | Tiered prices example |
|---|---|
| 1 apple = $2 per apple | 1 apple = $2 per apple |
| 2-4 apples = $1.5 per apple | |
| 5+ apples = $1 per apple |
Let's work out the price for a few scenarios using the tiered pricing example above.
| Quantity of apples in Cart | Original price | Unit price | Subtotal |
|---|---|---|---|
| 1 | $2 | $2 | $2 |
| 3 | $2 | $1.5 | $4.5 |
| 8 | $2 | $1 | $8 |
Tiered versus volume pricing
Volume pricing is another form of pricing that is similar to tiered pricing. As these concepts might differ from other commerce systems, let's clear up any misunderstandings about how they apply to Composable Commerce.
Let’s start by looking at how these terms are commonly understood outside the world of Composable Commerce:
- Volume pricing: a sales strategy in which the price per unit of a product is reduced as the quantity of the product increases. With volume pricing, every item is purchased at the same price, and the price is triggered by the number of items purchased. For example, from the example above, all 7 apples will cost $1 each as the third tier was reached and triggered the same price for every item.
- Tiered pricing: works somewhat similarly—the price per unit of a product is reduced as the quantity changes, but the calculation method is different. Instead of every item being purchased at the same price, the items in the first tier are bought at the price corresponding to that tier, and then when you buy more items in the next tier, only those additional items get the new tier price. For example, the first apple will cost $2, then apples two to four are $1.50 each, and so on.
Now things can get a little confusing when we look at these features in Composable Commerce:
- To achieve volume pricing, you can use the Tiered Prices feature in Composable Commerce.
- To achieve tiered pricing, you have two options—Cart Discounts or an external pricing system.
Tiered Prices and Product Discounts
When managing tiered Prices in Composable Commerce, you also need to consider how your Product Discounts interact with your Tiered Prices.
For example, if a customer buys multiple quantities of a Product Variant (such as apples) that uses tiered Prices, instead of receiving the tiered Price in their Cart or Order ($1.50 per apple when you buy more than 5), they would instead receive the Price associated with the Product Discount (50% off all fruit!). Keep this in mind when creating and managing your discounts and you will avoid situations where your customers end up paying an unintended price.
Although tiered Price is not classified as a Discount, it provides an alternate way for administrators to reduce prices for customers without using Product Discounts. However, tiered pricing does not always have to be used to reduce prices; it can also be used to increase the price when a customer buys more items. For example, to try to discourage goods from being bought in bulk and then being sold in secondary or tertiary markets.