Skip to main content

Products

Products are the items or services that you might want to sell in your store. In Product Experience Manager, a product has a name, description, ID, and SKU. Products can also have additional attributes and associated rich media assets, such as product images or a file containing additional product details. If your store supports multiple languages, you can localize product names and descriptions.

Product data is stored in a database. After you add products, you can update product information, add images and other assets, and associate products with one or more hierarchy nodes. You can export the updated product information back to other business systems so that your organization sees a consistent view of products.

While defining products, the products are in a draft state. Your organization can develop the criteria and business processes to help determine when a product is ready to go live and appear in a catalog.

To appear in a catalog, a product must meet the following criteria:

  • The product is live.
  • The product is associated with at least one hierarchy.
  • The catalog references a hierarchy that includes the product.

Product Types

Commerce automatically assigns types to the products you create. In Commerce Manager, you can see at a glance the product types in a list of a products. In addition, you can filter on product types in both the API and Commerce Manager.

Product types can also be used in catalogs. For example, in your catalog, you can filter on parent so that only your parent products are displayed in your storefront.

Products have one of the following types:

  • standard - Standard products are a standalone products.
  • parent - A parent product is a product that has child products that have been built in Commerce Manager or using the Build Child Products endpoint.
  • child - When you configure product variations and variation options for parent products, the child products derived from the parent products are automatically created in Commerce.
  • bundle - A bundle is a purchasable product, comprising one or more standalone products (in other words, components) to be sold together.
note

In Commerce Manager, standard products are called Product.

Personalizing Products

You can allow your shoppers to add custom text to a product when adding product items to their carts. This is useful, for example, if you have a product like a T-shirt that can be personalized or you sell greetings cards that can be printed with your shoppers personalized messages. You can do this by configuring the the custom_inputs attribute.

Products and Catalog Releases

For a product to appear in the store, the product must be in a live state. By default, a product is created in the draft state. This is to ensure that the product details are reviewed and approved before publishing it. When you publish a catalog, only the live products appear in the catalog release. If you change a product's state to live, you must republish the catalog for the product to be displayed in the catalog.

In addition, a product must belong to at least one hierarchy. When you publish a catalog, the live products in the hierarchies appear in a catalog release. A catalog can have one or more hierarchies of products. The hierarchies contain all the products that you want to display in your store. Only the products that are associated with nodes in the selected hierarchies are included in the catalog. You can create your hierarchies and nodes when configuring your products.

Bundles

With Product Experience Manager, you can use the products API to create and manage bundles. A bundle is a purchasable product, comprising of one or more products that you want to sell together.

You can use bundles in different ways. For example, a consumer electronics and video game company, Playtend Games can sell a Playtend video game console as a bundle that includes the console, controller, and game. The price of the bundle might be different from the total of the individual products.

Alternatively, you may have a fixed, marketable banner product featuring only one item, such as a 'product of the week.' In this use case, the banner bundle description remains constant, while the product within the bundle can be easily swapped in and out.

You must not assign a product to a bundle if the product is in draft status as this invalidates the bundle.

You can have:

  • Dynamic bundles. Dynamic bundles allow your shoppers to choose their own options in a bundle.
  • Bundles of bundles. Your bundle consists of child bundles.

Bundle Components and Options

You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity.

caution

You cannot have more than 1500 options in a bundle.

For example, Playtend Games can create a bundle where the total bundle price is calculated based on the options that the buyers choose. Shoppers can select a base console option, two games options, and a controller option as in the following example:

  1. Select one of the following options in the gaming console component.
  • Gaming Console 512 MB Storage. Regular price is $500, selling for $475.
  • Gaming Console 1 GB Storage. Regular price is $750, selling for $725.
  1. From each component, select an option:
  • Component 1:

    • Playtend Roboselect Game, selling for $50
    • Playtend Burndown Game, selling for $45
    • Playtend Invaders Game, selling for $50
  • Component 2:

  • Playtend Doomsday Game, selling for $35

  • Playtend Happyday Game, selling for $35

  • Playtend Birthday Game, selling for $40

    1. Select one of the following options in the controllers component:

      • Red Controller, selling for $40
      • Blue Controller, selling for $40
      • Green Controller, selling for $40
      • Invaders Controller, selling for $75

      If the shopper chooses the following options for their bundle, the total is $885:

      • Gaming Console 1 GB Storage ($725)
      • Playtend Burndown Game ($45)
      • Playtend Birthday Game ($40)
      • Invaders Controller ($75)

Bundle Pricing

Bundles can have:

  • Fixed pricing - enables you to assign a fixed price for all products in a bundle.
  • Automatic/cumulative pricing - the price of a bundle is generated automatically based on the sum of the component products.

The following table describes the capabilities and pricing that bundles can have.

PricingRequires SKU?Price Book EntryCapabilities
Fixed - enables you to assign a fixed price for all the products in a bundle. The bundle can contain items that are available for individual purchase, however, when purchased in a fixed-price bundle, are offered at a discounted price.YesMandatorySale Pricing - defines reduced pricing for the total price of the bundle. Volume Pricing - offers promotional prices for products bought in bulk. Bundle Inventory Management - bundle inventory can be tracked based on the availability of individual items in the bundle. In this case, the maximum number of bundles you can sell is equal to the number of the option that is least available.
Automatic/cumulative - the price of a bundle can be generated automatically based on the sum of the component products. Ensure that you set a price for each product within the bundle. If a component product does not have a price, the bundle price cannot be set and customers cannot purchase the bundle.OptionalNot available when SKU is presentSale Pricing - define reduced pricing for the total price of the bundle.

Examples of Bundles

The following table describes some examples of bundles.

Bundle TypePricingDescription
Pure bundlesFixedProducts are available only as a bundle.
Joint bundlesFixed, Automatic/cumulativeA bundled price offered for two or more products.
Gift setsFixed, Automatic/cumulativeA bundle created from a set of predefined items.
Leader bundleAutomatic/cumulativeA popular product is offered for a discount if you buy it with another less popular product.
Mix and Match bundlesAutomatic/cumulativeBundle products are selected from a predetermined list of items that you can bundle together.
Upsell bundlesAutomatic/cumulativeDiscounted price for the current product when bought together with an accessory as a related item.

For example, Playtend Games has a bundle that consists of a game console, the Playtend Invaders Game, and the Invaders Controller, and the bundle is available for purchase at $500. The individual price of the products in the bundle are $500 for the game console, $50 for the Playtend Invaders Game, and $75 for the Invaders Controller. This makes the total of the products $625 when bought individually. The price of the bundle is defined in the price books associated with the bundle SKU and the sale price depends on the pricing configuration for the SKU.

Sale Pricing

You can set a sale price for an item within a bundle so that the product is sold at the sale price when sold as a part of the bundle. For example, if you have a bundle consisting of four items, you can apply a discounted price to an item within the bundle to get a bundle sales price. Both list and sale price (or was/is prices) are available in the catalog response, enabling you to display slash pricing on your storefront, depending on your requirements.

ProductRegular product priceBundle sales price
Product A$100$80
Product B$50$50
Product C$30$30
Product D$130$130
Total$310$290

Volume Pricing

You can configure volume pricing for minimum quantities of products. When a customer adds sufficient quantity of an item and meets the minimum required quantity for different pricing, all products with that item SKU are discounted in the cart. You can define the price range for different quantities of different items, as explained in the following example.

QuantityPrice/Each
1-5$10.50
6-10$10.00
11-20$9.50
21-50$8.50
51+$7.90

Dynamic Bundles

A dynamic bundle allows you to create a bundle where shoppers can choose products from a list of options. For example, a shopper can select 0 or more products from a list of 10. You can also configure some products as default options. A shopper can either select the bundle with the default products or choose products from all the components. Shoppers must either select products for all components or use the default options for all components; they cannot choose products for only one component and leave the others with default options.

For example, a shopper can select 0 or more product options from a list of 10. When purchasing a monitor, you might want to offer additional optional items that a shopper can select like monitor lamps, extendable arms, or screen wipes.

You can do this by configuring minimum and/or maximum values for the product options in a component. For example, to sell 4 books for a fixed price from a list of 10, set both minimum and maximum selections to 4.

When minimum is 0, it means that component product lists are optional for your shoppers.

If you do not specify any minimum or maximum values for the product options in your components, your shoppers can select any combination of product options.

To configure default product options, add "default": true to all the product options in the bundle that you want to be the defaults. Each component in the bundle must have a default product option. For example, you may have some products in a bundle that are performing better than others. For the products that are not performing as well, you can promote them above the rest by configuring a default product option. Moreover, you may have a default set of products that make sense for a given context. For example, when adding a new fragrance to a fragrance bundle, you may want the new addition to appear as the default option.

caution

Your shoppers cannot change the quantities of a product. They must purchase the quantity of products that you have specified when you created your components and options.

Bundle configuration

Dynamic bundles have a bundle_configuration which describe the options selected.

  1. Once your bundles are published in a catalog, a shopper can select the products they want.
  2. Use Get a product in a catalog release to check a bundle_configuration.
  3. Use the configure a shopper bundle endpoint to store a shopper's selections. The response from the configure a shopper bundle endpoint updates the bundle_configuration with the product options a shopper selects. In your storefront, you can display this as a summary of the product options a shopper has selected.

Creating Dynamic Bundles: An Overview

The following steps are an overview of how to use dynamic bundles.

  1. Create your products using create a product.
  2. Create a bundle using create a bundle.
  3. Specify minimum and/or maximum values for the number of product options that can be selected within the bundle. For example, if you want the shopper to select exactly 4 out of 10 options, set both the minimum and maximum values to 4 for each of the 10 product options.
  4. For each product option in the bundle, specify if it is a default option by adding "default": true to the product options that you want to be pre-selected for the shopper.
  5. Publish the bundle to your catalog using the Publish a catalog endpoint so you can display the products to your shoppers in your storefront.
  6. When a shopper interacts with the bundle on your storefront, they can select the products they want from the list of options. Use the configure a shopper bundle endpoint to capture the shoppers selections. This updates the bundle_configuration with the product options chosen by a shopper.
  7. Once a shopper has configured their bundle, use the add a product to a cart endpoint to add the selected bundle to the shopper’s cart.
  8. When the shopper proceeds to checkout, the selected product options from the bundle are included in the order.

Bundles of Bundles

Your bundle can consist of child bundles. This is useful if you have a base product that is made-up of child products and the pricing of the base product changes, depending on the child products a customer chooses. This can be represented by creating a parent bundle that is made-up of other child bundles.

Bundle of bundles

For example, you may sell sofas. For each sofa that you sell, your customers can choose a fabric, a sofa size, and a leg color. The sofas are the parent bundle. The sofa size, fabric, and leg color are the child bundles. If a customer chooses a large sofa, then the cost of the fabric increases.

sofa bundle

You create a bundle of bundles by adding a child bundle as an option of a component of another bundle.

  • You cannot have more than one level of child bundles. In other words, a child bundle cannot have a child bundle as a component.
  • A parent bundle can contain both bundle and product components.
  • Both parent and child bundles can be either fixed or dynamic in a bundle of bundles.

Adding Products From Bundles of Bundles to Carts

When using bundles of bundles, only products from child bundles should be added to a cart. This is because if you add a parent bundle to a cart and call the cart, the cart returns information about the parent bundle and the name of the child bundle, but no child bundle components are returned.

When designing your storefront, you must only allow child bundles to be added to carts.

Creating bundles of bundles: an overview

To create a bundle of bundles, simply add a bundle as a component to another bundle.

  1. Create your products using create a product.
  2. Create all your child bundles using create a bundle.
  3. Create a parent bundle and specify the product ID of your child bundle as an option of a component in your bundle. You cannot have more than 1500 options in a bundle.