Product Variations

Last modified October 3, 2018

This article applies to Contextual Commerce. (Looking for Classic Commerce documentation?)

Advanced product configuration scenarios can be achieved using product variations. Product variations are alternative representations of a product, which can be used on your Storefronts to achieve various marketing goals. To better illustrate what a product variation is, let’s take a look at this example:

You have created a new product called Space Adventure. You also offer your original product, called Island Adventure. License keys for Island Adventure are generated using an external script. When customers purchase the new Space Adventure product, you want to offer them Island Adventure as a cross-sell with a reduced price. You only want the discount to apply for customers who have selected to purchase Space Adventure; customers who only select Island Adventure by itself must pay full price.

Rather than duplicating your original Island Adventure product in order to assign a special price or apply a discount for cross-sells, you can create a product variation and edit the variation’s price or apply a discount to the variation. As a result, your original product is intact, you can offer Island Adventure as a discounted cross-sell, and the license generator is shared among the variations for a simpler setup.

Another example of using product variations might be a holiday-related promotion. You could create a holiday-themed Storefront and make special discounted product variations for the promotion, and add the variations to the Homepage of the holiday-themed Storefront, while keeping your original products intact and switching back to the main Storefront at any time.

Here are a few more handy features of product variations:

  • Product variations automatically inherit the parameters and behavior of their parents, and you can change any specific values as needed. This is a great way to do a quick A/B testing of price, product naming, or offers while keeping other parameters the same. 

  • You can create any number of product variations for any product, and change any parameters in each variation. The only common setting for all product variations of a given product is the Fulfillment Options.


Only one variation of any given product can be purchased in a single order. For example, if  product A  has variations  A1  and  A2 , customers can purchase any of the three, but they could not purchase  A  and  A1  in the same transaction, nor  A1  and  A2 , etc. For products to be included in the same order together, they must each be a separate product (not multiple product variations of the same product).

To create a product variation and adjust a specific field

Tutorial Video

Check out our tutorial video on creating product variations:   How to Create a Product Variation.

For the purpose of these instructions, we will be creating a variation of the fictional product DOCEdit with a reduced price, for use as a cross-sell.

  1. From the Dashboard, select the Products menu and then select the Products, Bundles or Subscriptions sub-menu depending on the item for which you want to create a product variation.
  2. Select the tile for the product, bundle or subscription for which you want to create a variation.
  3. On the product details page, click CREATE VARIATION.

    product detail page with the CREATE VARIATION command hlighlighted
  4. The Create Variation popup window will appear.

    Create Variation popup window
  5. In the Product Path field, enter the product path for the variation you are creating. This is also sometimes called the product ID. The product path is used in reporting and will be part of the Product Page URL for the new variation. Do not enter spaces or punctuation (except hyphens). In the example below, we are creating a variation for a product called DOCEdit. We will enter a product path of docedit-1.

    The product path you enter will automatically be converted to lowercase letters upon changing focus away from the Product Path field.

    Create Variation popup window with a Product Path entered

  6. In the Product Type field, select the type of product variation you are creating: Regular or Subscription. If you are creating a subscription variation, you will be able to configure the subscription properties for the variation after creation.

  7. In the Visibility field, select whether the variation will be public (Public URLs) or private (Internal Offers). This field has the same effect as the Example of the Public drop-down button selector found on the main product, bundle or subscription details page.

  8. Click ADD to complete creation of the variation. The details page will appear once again, with the new variation just below the original product, bundle or subscription.

    Product detail page with a newly-added variation

  9. A column of source indicators on the right-hand side of the section for the new variation will show you the origin of the current values in each field. In the example above, nothing has been changed yet, so all of the values come from the original product record, whose product path is docedit.

  10. As with a regular product, bundle or subscription, you can click anywhere in any line to edit the field. In the example below, we will click the Pricing field. Since we want this to be offered at a discount as a cross-sell for another product, we will reduce the price from $69.95 to $49.95.

    Pricing field of the properties for the new variation

  11. After clicking SAVE to save the change, the details of the variation are shown once again. Notice the new price and the empty source indicator for the Pricing field.

    Example of a product variation with a price that is not inherited from the original product

  12. Because the product variation in this example has a reduced price for use as a cross-sell offer, we would click the  drop-down selector at the top right-hand corner of the product variation's details and select Switch to Private. The Private status prevents a product (or product variation) from being purchased by itself; items with this status can only be offered via product offers. This ensures that if a purchaser removes the cross-sell triggering product from the cart, then the reduced-price cross-sell product variation will also be removed, to prevent the discount from being applied without the purchase of the triggering product.