Working with catalog discounts

You can use catalog discounts to motivate selected 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 products' discounted prices to your on-line store administrators while creating/editing orders of your eligible customers.

For example, you can provide special Christmas sale discounts to all eligible customers who purchase any products from the selected departments such as Clothing, Electronics, etc. 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 range of the product price, manufacturer of the product, its 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.

In all cases, catalog discounts are calculated before applying taxes.

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, click New catalog discount. To edit an existing discount, click Edit () at the desired discount.
  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.
  4. 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, click New catalog discount. To edit an existing discount, click Edit () at the desired discount.
  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, click New catalog discount. To edit an existing discount, click Edit () at the desired discount.
  2. Type a Name for the discount.
  3. In Discount, select percentage if you want to apply the discount in percent or fixed amount to apply the discount in a specific amount of money in the main currency.
  4. To Amount, enter an exact value of the discount either in percent or in 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 that opens, 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.

      One rule can contain more parameters. That's why there can be more underlined words.

    4. Select the desired parameter:

      Specifying the rule parameters
    5. Click Set parameter.
    6. (Optional) Repeat editing to set all discount rules and all their parameters you want.
    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).

If you edit or delete a discount, the existing orders stay with that discount. To update existing orders according to the new rules, you must edit the required orders manually.

Displaying catalog discounts in the invoice

To display catalog discounts applied on the ordered product items in the invoice:

  1. Open the Store configuration application.
  2. Switch to the Invoice tab.
  3. Add the following code into your invoice template:

    {%ContentTable.ApplyTransformation("Ecommerce.Transformations.Order_ContentTable",
    "Ecommerce.Transformations.Order_ContentTableHeader",
    "Ecommerce.Transformations.Order_ContentTableFooter")#%}
    

    Invoice template with a catalog discount

  4. Click Save.

If you now review an existing order on the Invoice tab, you can see that the invoice includes information about catalog discounts applied on the ordered product items.

Invoice with an applied catalog discount

The ordered product items and the related information including the applied catalog discounts are displayed by the Ecommerce.Transformations.Order_ContentTable transformation.

You can edit the transformation in Page types -> Edit () E-commerce - Transformations on the Transformations tab.

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 the products' configuration, and availability of catalog discounts:

Product priceProduct list priceCatalog discountDescription
defineddefineddoesn't applyThe list price is crossed out and the price is highlighted.
definednot definedappliesThe price is crossed out and the price reduced by the discount is highlighted.
defineddefinedappliesThe list price is crossed out and the price reduced by the discount is highlighted.
definednot defineddoesn't applyOnly 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 priceProduct list priceCatalog discountDescription
defineddefineddoesn't applyThe list price, displayed as List price, is crossed out and the price, displayed as Your price, is highlighted.
definednot definedappliesThe price, displayed as List price, is crossed out and the price reduced by the discount, displayed as Your price, is highlighted.
defineddefinedappliesThe list price, displayed as List price, is crossed out and the price reduced by the discount, displayed as Your price, is highlighted.
definednot defineddoesn't applyThe 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 pagesWeb partTransformation
Product listing pages, e.g., T-shirts pageProduct ListEcommerceSite.Transformations.ProductPreviewForThreeColumnsLayout
Product details pages, e.g., Adidas Trefoil Tee pageProduct DetailEcommerceSite.Transformations.ProductDetail
Product details pages, e.g., Adidas Trefoil Tee pageProduct Main ImageEcommerceSite.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 display this name also to your on-line store customers while viewing the details of the product price in the Product price detail dialog.

Code name

The unique identifier of the catalog discount object used by developers in the 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.

DescriptionTo 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 doesn't have any functionality, it's just for better orientation.
Enabled

Indicates if the catalog discount is enabled in the system.

While calculating the price of product (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 total price of the order by a percentage.
  • Fixed amount – the discount reduces the total price of the order by a specific amount in your on-line store main currency.
Amount

Specify an exact value of the discount in percent or in 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 calculates all applicable taxes accordingly.

The amount has to be a number. When the amount is in 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 discounts. By utilizing rules (user-friendly representations of macro expressions), you can write any condition according to your specific requirements.

Clicking Edit opens the Edit macro condition dialog, which allows you to add rules through a graphical interface.

Selecting the discount rules
  • Use drag & drop or double-click or Add rule button () to add a rule.
  • Click on a specific rule and click Delete () to delete the rule.
  • Click Clear all rules () to remove all rules in the current offer.
  • Click on underlined words in the condition part to change their options.
 Example...

SKU contains 1255


The condition ensures that the catalog discount is only applied if the SKU 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

Specify from when the discount is running.

If you leave Valid from empty, the discount will be valid permanently till Valid to.

Valid to

Specify to when the discount is running.

If you leave Valid to empty, the discount will be valid permanently from Valid from.

Target customers

Available for

Choose roles of users who 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 roles to open the Select roles dialog.

    2. Select the required roles.

    3. Click Select.

You can enter roles directly by typing in their code names separated by semicolons, e.g., _authenticated_;Members.

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

Discount calculation 

Priority

Specify in what sequence the system applies the listed running catalog discounts (if any).

Enter 1 for the highest priority. The number has to be greater than or equal to 1.

Use greater intervals between priority numbers. If you want to add a new discount inbetween two already existing, you can add the new discount more easily between 10 and 20 than between 1 and 2. If you already have only small gaps, you can also use decimals.

Apply lower priority discounts

If selected, other catalog discounts with lower priorities are applied to the shopping cart as well. If cleared, discount processing stops with the last discounts with the same priority level as the edited discount.