---
schema_version: "1"
id: 307c8831180f515b8469fcd392d03c211e7db67583a4ef536d89111a9374ebcf
title: Discount on a Product Option in B2C Commerce
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/cc/264-0-0/b2c_discount_on_a_product_option.md
canonical_url: https://help.salesforce.com/s/articleView?id=cc.b2c_discount_on_a_product_option.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 39ac52298fc4d185a749c6cfbb517b9a18d168dcb2fafe777e18540590823428
description: To offer a discount for a product option, use a percent off promotion. Because options are never sold alone, but always as part of a product, first identify the products with the options that receive the discount. For example, Get 50% off on the glossy paper option (usually a $2.99 upgrade).
products:
  - Commerce
  - B2C Commerce
release: "264"
---
# Discount on a Product Option in B2C Commerce

To offer a discount for a product option, use a percent off promotion. Because options are never sold alone, but always as part of a product, first identify the products with the options that receive the discount. For example, Get 50% off on the glossy paper option (usually a $2.99 upgrade).

The percent off product options type is available for Without qualifying products, With number (quantity) of qualifying products, and with With amount (value) of qualifying products.

When evaluating products for this discount, Salesforce B2C Commerce selects the products with the most expensive option value first.

This discount only applies to options with a positive price when viewed in the storefront. Depending on the option values and whether an option is an included option for the product, the price can be positive or negative in the storefront.

## Ambiguous Options

Option IDs aren't required to be unique. If you add a product option ID that exists for multiple products or catalogs, B2C Commerce detects shows `optionID (ambiguous)` in the discounted products rule. Because shared options are unique, this only happens for shared and product-specific options with the same name or two product-specific options with the same name.

When the option ID is ambiguous, the discount applies to all options with that ID. Because the product rule must match the selected products and selected option values, make the option discount apply to only specific products or values. For example, you have the following options:

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col>
          <col>
          <col>
        </colgroup>
        <tbody>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">ID</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">Name</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">Values</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">tvWarranty</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">Plasma Warranty</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>000 - none</p>
              <p>001 - one-year warranty</p>
              <p style="margin-bottom:0;">002 - two-year warranty</p>
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">tvWarranty</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">LCD TV Warranty</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>100 - one-year warranty</p>
              <p>200 - two-year warranty</p>
              <p style="margin-bottom:0;">300 - three-year warranty</p>
            </td>

          </tr>
        </tbody>
      </table> <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d31561e123">To apply the discount to:</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d31561e126">Create a rule with:</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="To apply the discount to:" class="slds-cell-wrap" style="vertical-align:top;" headers="d31561e123 ">All TVs</td>

            <td data-label="Create a rule with:" class="slds-cell-wrap" style="vertical-align:top;" headers="d31561e126 ">Products with option 'tvWarranty (ambiguous)' = '100' or '200' or
              '300'</td>

          </tr>
          <tr class="">
            <td data-label="To apply the discount to:" class="slds-cell-wrap" style="vertical-align:top;" headers="d31561e123 ">LCD TVs</td>

            <td data-label="Create a rule with:" class="slds-cell-wrap" style="vertical-align:top;" headers="d31561e126 ">
              <p>Product Option ID is equal to one or more of the option values. </p>
              <p>The
                product rule appears as follows:</p>
              <p>Products with option 'tvWarranty (ambiguous)' = '100' or '200' or
                '300'</p>
              <p style="margin-bottom:0;">(This restricts the discount to the LCD warranty because the two
                tvWarranty options don't share option values.)</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="To apply the discount to:" class="slds-cell-wrap" style="vertical-align:top;" headers="d31561e123 ">Samsung Plasma TVs</td>

            <td data-label="Create a rule with:" class="slds-cell-wrap" style="vertical-align:top;" headers="d31561e126 ">
              <p>Product Option ID is equal to one or more of the option values.</p>
              <p>Brand is equal to Samsung.</p>
              <p>TV type is equal to 0010 Plasma.</p>
              <p>The product rule appears as follows:</p>
              <p style="margin-bottom:0;">Products with option 'tvWarranty (ambiguous)' = '000' or '001' or '002'
                and with brand = 'Samsung' and with attribute 'tvType' = '0010'</p>
            </td>

          </tr>
        </tbody>
      </table>

## Option Prices Affected by Product Discounts and Option Discounts

When applying a percentage discount to an option product, B2C Commerce also discounts the option line items. This results in price adjustments on the base product line item and all option line items with a nonzero price. This doesn't occur with any other discount type. If a product promotion also discounts a product, the product option discount can appear greater than the specified discount.

## Promotion Compatibility Rules

For the sake of [promotion compatibility rules,](https://help.salesforce.com/s/articleView?id=cc.b2c_promotion_compatibility.htm&release=264.0.0&type=5 "Use compatibility rules to control the application of promotions. Compatibility rules prevent a shopper from qualifying for every possible promotion. Use the rank and exclusivity system attributes to control your promotion compatibility.") B2C Commerce still considers a promotion that targets product options as a product promotion. For example, you have a class-exclusive product promotion that targets a product and another that targets an option. If both apply to the same SKU in the cart, both promotions can’t apply.

#### See Also

- [Add a Discount to a Promotion (Video)](https://salesforce.vidyard.com/watch/FBuHxig6rn3rubJB8wYNQb)