Working with catalog discounts

You can use catalog discounts to motivate customers to purchase more products. If you use catalog discounts, the system offers your products on the live site to all eligible customers for discounted prices. The system also displays the discounted prices to your on-line store administrators while creating/editing orders of eligible customers.

For example, you can provide special Christmas sale discounts to all eligible customers who purchase any products with selected brands or from selected departments between November 15 and December 23.

You can configure catalog discounts in detail to apply only to products specified by rules (macro conditions). These rules use properties of the respective SKUs (products), and can include the product price range, sections of the product tree, brand, manufacturer, collection, public status, etc. You can also specify periods of validity for catalog discounts.

The system binds catalog discounts to specific sites, for example to the sample E-commerce Site.

If you run multiple sites and want to use catalog discounts, you need to define dedicated catalog discounts for each site.

When calculating prices in shopping carts and orders, the system applies catalog discounts before:

Adding or editing catalog discounts

You can add or edit catalog discounts in the Catalog discounts application.

You can combine the catalog discount limitations.

For example, you can add discounts effective on all footwear products throughout January, and targeted at your registered customers.

Catalog discounts limited by periods of validity

To add or to edit catalog discounts limited by periods of validity:

  1. To add a new discount, clickNew catalog discount. Click Edit () to edit existing discounts.

  2. Type a Name for the discount.

  3. Enter the catalog discount properties in the Duration category:

    • Valid from – specifies the start of the period of validity.

    • Valid to – specifies the end of the period of validity.

      Specifying time validation in Duration category

Leave both fields empty for permanent validity.
  1. Click Save.

The system saves the catalog discount. The system now applies the discount only during the discount’s period of validity (if the discount is running).

Catalog discounts targeted at selected customers

To add or to edit catalog discounts targeted at selected customers:

  1. To add a new discount, clickNew catalog discount. Click Edit () to edit existing discounts.

  2. Type a Name for the discount.

  3. Change the value of the Available for property in the Target customers category

    • All visitors – all customers are eligible for the discount; the default option.
    • Registered users – only registered customers are eligible for the discount.
    • Registered users in selected roles – only registered customers in selected roles are eligible for the discount.
  4. Click Save.

The system saves the catalog discount. The system now applies the discount (if the discount is running) only for the selected customers.

If you need to add catalog discounts targeted at custom groups of customers, for example, at selected users, contact groups, etc., see Configuring discount rules.

Catalog discounts limited to selected product scopes

To add or to edit catalog discounts limited to selected product scopes:

  1. To add a new discount, clickNew catalog discount. Click Edit () to edit existing discounts.

  2. Type a Name for the discount.

  3. In Discount, select percentage if you want to apply the discount as a percentage or fixed amount to apply the discount in a specific amount of money in the main currency.

  4. To Amount, enter the exact value of the discount either as a percentage or a fixed amount according to Discount.

  5. Click Edit next to the Apply to field to set the discount rules and their parameters:
    Specifying macro conditions

    1. In the Edit macro condition dialog, select the required rule in the right part of the dialog.

    2. Use drag & drop, or double-click, or click Add rule () button to add the rule.

    3. Click the underlined parts of the rule in the left part of the dialog to open the Set parameter value dialog.

    4. Select the desired parameter:

      Specifying the rule parameters

    5. Click Set parameter.

    6. (Optional) Repeat editing to set any discount rules and parameters that you need.

    7. Click Save & Close.

  6. Click Save.

The system saves the catalog discount. The system now applies the discount only if the specified condition is fulfilled (if the discount is running).

Catalog discounts and product options

Catalog discounts do NOT apply to product options of the Products type that belong to products within the specified discount scope. For example, if you have computer products with a printer as an additional product option, and your catalog discount covers the computer products, the price of the printer product option is not reduced. If you wish to offer a discount for these types of product options, you can create a catalog discount with a scope that targets the basic SKU properties of the given product option (for example by matching the option’s SKU value or Department).

Effects of discount modification on already existing orders

If you edit or delete a discount, existing orders do not change and remain with the original discount. To update existing orders according to the new rules, you need to edit the orders manually.

Displaying catalog discounts on the live site

The system allows you to attract the customers by showing them what economical and convenient purchases they can make in your on-line store. Specifically, the system can display original and also discounted prices of products. The system can also display special status labels, for example, Sale, New, Featured, etc.

Displaying catalog discounts on the live site

Offering products at discounted prices

The sample E-commerce Site can display the products with the original and discounted prices. Whether and how the system displays the prices depends on each product’s configuration, and availability of catalog discounts:

Product price

Product list price

Catalog discount

Description

defined

defined

doesn’t apply

The list price is crossed out and the price is highlighted.

defined

not defined

applies

The price is crossed out and the price reduced by the discount is highlighted.

defined

defined

applies

The list price is crossed out and the price reduced by the discount is highlighted.

defined

not defined

doesn’t apply

Only the price is displayed for the product; the price is highlighted. (The system displays only one price for the product).

The sample E-commerce Site can display the products with the original and discounted prices. The amount (and percentage of the original prices) that the customers can save is also displayed. Whether and how the system displays this information depends on the products’ configuration, and availability of catalog discounts:

Product price

Product list price

Catalog discount

Description

defined

defined

doesn’t apply

The list price, displayed as List price, is crossed out and the price, displayed as Your price, is highlighted.

defined

not defined

applies

The price, displayed as List price, is crossed out and the price reduced by the discount, displayed as Your price, is highlighted.

defined

defined

applies

The list price, displayed as List price, is crossed out and the price reduced by the discount, displayed as Your price, is highlighted.

defined

not defined

doesn’t apply

The system displays for the product only the price as Total price.

You can specify the products’ Price and List price properties while editing the products on the General tab.

Alternatively, you can specify these properties in the Pages application while editing the corresponding product pages on the Form tab.

List price stands for the recommended retail price (RRP) or manufacturer’s suggested retail price (MSRP) of the product. The list price is typically determined by factors such as supply, demand and manufacturing costs.

Offering products highlighted with statuses

You can motivate your customers to purchase selected products by showing product statuses, e.g., Sale, New, Featured, etc.

You can specify the products’ statuses by modifying their Public status properties on the General tab.

Alternatively, you can specify the products’ statuses in the Pages application while editing the corresponding product pages on the Form tab.

Configuring pages to display product discounts

The sample product listing pages and sample product details pages contain web parts using transformations that can display product discount information (product prices and statuses).

Kentico sample pages

Web part

Transformation

Product listing pages, e.g., T-shirts page

Product List

EcommerceSite.Transformations.ProductPreviewForThreeColumnsLayout

Product details pages, e.g., Adidas Trefoil Tee page

Product Detail

EcommerceSite.Transformations.ProductDetail

Product details pages, e.g., Adidas Trefoil Tee page

Product Main Image

EcommerceSite.Transformations.ProductDetailGalleryProductImage

Configuring the Product List web part

To configure a product listing/product details page to display product prices and product statuses:

  1. Open the Pages application.

  2. Select the required page from the content tree.

  3. Switch to the Edit -> Design tab.

  4. Add appropriate web parts to the selected web part zones.

    You can do this by copying the web part(s) from any sample product listing/product details page. If you are editing:

    • your custom product listing page, add the Product List web part;
    • your custom product details page, add the Product Detail and Product Main Image web parts.
  5. Modify the web parts’ Transformation properties as required:

    • Product listing pages
      • If you want the page to display product prices, i.e., the currently valid price and the undiscounted price (if available), make sure the transformation contains the following code:

        
        
        
          <span class="retailPrice"><%# If(GetSKUOriginalPrice() > 0, GetSKUFormattedOriginalPrice(), "") %></span>
          <span class="price"><%# GetSKUFormattedPrice() %></span>
        
        
          
      • If you want the page to display product statuses (if available), make sure the transformation contains the following code:

        
        
        
          <span class="indicator <%# GetSKUIndicatorProperty("PublicStatusName") %>"><%# Localize(GetSKUIndicatorProperty("PublicStatusDisplayName")) %></span>
        
        
          

        Code for displaying product statuses

    • Product details pages
      • If you want the page to display product prices, i.e., the currently valid price and the undiscounted price (if available), and the amount (percentage of the original price) that the customers can save, make sure the transformation contains the following code:

        
        
        
          <table>
                <% if(GetSKUPriceSaving() > 0){ %>
                <tr>
                    <td class="label">
                       <span class="retailPrice">List price: </span>
                    </td>
                    <td>
                        <span class="lineThrough"><%# GetSKUFormattedOriginalPrice() %></span>
                    </td>
                 </tr>
                 <tr>
                    <td class="label">
                         <span class="yourPrice">Your price: </span>
                    </td>
                    <td>
                         <span><%# GetSKUFormattedPrice() %></span>
                    </td>
                 </tr>
                 <tr>
                    <td class="label">
                        <span class="instantSavings">You save: </span>
                    </td>
                    <td>
                        <span><%# GetSKUFormattedPriceSaving() + " (" + GetSKUPriceSaving(true) + "%)"  %></span>
                    </td>
                  </tr>
                <% } %>
           </table>
        
        
          

        Code for displaying product prices

      • If you want the page to display the product’s status (if available), make sure the transformation contains the following code:

        
        
        
          <div class="productPublicStatus">
              <span class="<%# GetSKUIndicatorProperty("PublicStatusName") %>">
                <%# Localize(GetSKUIndicatorProperty("PublicStatusDisplayName")) %>
              </span>
          </div>
        
        
          

        Code for displaying product statuses

  6. (Optional) Modify other properties of the web parts if required.

  7. Click OK.

If your customers now view the page on the live site, they can see the product’s discount information.

Reference

General

Name

The name of the catalog discount used throughout the administration interface, e.g., in catalog discounts lists.

The system can also display this name to your customers while viewing the details of the product price in the Product price detail dialog.

Code name

The unique identifier of the catalog discount (for example used by developers in custom code).

Unless there is a reason to set a particular value, you can leave the default (automatic) option, and the system generates an appropriate code name automatically.

Description

To make the catalog discount easier to use and maintain, you can add an explanation about the scenarios for which the discount is intended, etc. The description does not have any functionality, it is just for better orientation.

You can add an explanation about the scenarios for which the catalog discount is intended. The description does not affect the discount’s functionality, apart from providing information to store managers working in the Catalog discounts application.

Enabled

Indicates if the catalog discount is enabled in the system.

While calculating the price of product (or product option) items added to the shopping cart, the system skips disabled discounts.

Basics

Discount

Specify if you want to apply the discount in percentage or in fixed amount.

  • Percentage – the discount reduces the unit price of products by a percentage.
  • Fixed amount – the discount reduces the unit price of products by a specific amount in the store’s main currency.

Amount

Specify an exact value of the discount as a percentage or a fixed amount according to Discount. The system reduces the price of the product items that the customer adds to the shopping cart (including all selected product options) by the discount value and then calculates all applicable taxes accordingly.

The amount must be a decimal number. When the amount is a percentage, enter a number between 0 and 100. When the amount is fixed, enter a number greater than 0.

Apply to

Enter further conditions that must be fulfilled for the system to apply the catalog discount. By utilizing rules (user-friendly representations of macro expressions), you can create any condition according to your specific requirements.

Click Edit to open the Edit macro condition dialog, which allows you to add conditions through a graphical interface.

Selecting the discount rules- To add rules to the condition, double-click rules on the right or click Add rule (). - To remove a rule from the condition, select it and click Delete (). Click Clear all rules () to remove all added rules. - Click on underlined words in the rule text to configure various rule options.

Example

SKU contains 1255

The condition ensures that the catalog discount is only applied if the SKU (product number) contains 1255.

You can also edit macros on the Code tab in the Edit macro condition dialog. For details about available macro options and syntax, please refer to Macro expressions.

Duration

Valid from

Specifies the time and date from which the discount can be applied. If you leave the value empty, the discount can be applied at any time before the Valid to date.

Valid to

Specifies the time and date until which the discount can be applied. If you leave the value empty, the discount is valid permanently (starting from the Valid from date).

Target customers

Available for

Determines which types of users are able to apply the discount:

  • All visitors – all customers are eligible for the discount.

  • Registered users – only registered customers are eligible for the discount.

  • Registered users in selected roles – only registered customers in selected roles are eligible for the discount. To add roles:

    1. Click Select to open the Select roles dialog.
    2. Select the required roles.
    3. Click Select.

You can add registered customers to roles in the Customers application while editing a selected customer on the Roles tab.

Discount calculation

Priority

Determines the sequence in which the system applies catalog discounts. The priority must be a number greater than or equal to 1. Enter 1 for the highest priority.

Tip: Keep intervals between priority numbers. If you want to add a new discount between two existing ones, it is easier if their priority values are 10 and 20 rather than 1 and 2. If necessary, you can use decimal numbers to set priorities between whole numbers.

The priority determines how the system combines multiple catalog discounts:

  • Discounts on the same level use additive stacking – all discounts are calculated from the same base price.
  • Discounts on different levels use multiplicative stacking – discounts are calculated based on the reduced price of the previous priority level.

Examples:

  • Two 5% discounts with the same priority – the total catalog discount is 10%.
  • A 10% discount with priority 1 and 10% discount with priority 2 – the total discount is 19% (10% for the first discount, then 10% calculated from the reduced 90% price for the second discount).

Apply lower priority discounts

If selected, other catalog discounts with lower priority can also be applied to produce prices. If the check box is cleared, processing of catalog discounts stops with discounts that have the same priority level as the edited discount.