Discounts
You can apply discounts to any item in your catalog. You can apply a discount against an entire order (an order-level discount), or you can apply it against specific items in the order (an item-level discount).
- Order-level discounts apply to all products in a shopping basket. For example, free shipping is a type of order-level discount: you can give users free shipping for all products in their basket. Free shipping is the only order-level discount delivered with Commerce Server. If you want to offer another type of order-level discount, for example, a 10 percent discount for preferred users, a site developer must make custom changes to your site.
- Item-level discounts apply to specific products in the basket.
If you apply a discount to an entire order, the discount is applied to each item individually. Only one discount can be applied to an order line item with a quantity of one. Two discounts cannot be applied to the same item with a quantity of one.
You can use Commerce Server to create and apply the following discount types:
- Click-required discounts are only applied if the user clicks the discount URL, which may be an image of the product that says, for example, "10 percent off." Site developers can extend this type of discount for other uses, such as offering coupons, which the customer must have in order to enjoy the discount.
- Leverage discounts are based on the purchase of other products. For example, when users add a telephone to their basket, you can offer them a hands-free headset at checkout that they can then accept by adding it to their basket. Or, you can offer users another accessory at a discounted price.
- Percentage-off discounts reduce the price of products by a percentage, rather than by dollar amount. For example, you can discount products by 10 percent, and then change the price of the products as needed. When you change the price of the products, the discount amount is updated automatically.
- Dollar-off discounts reduce the price of products by a fixed amount. For example, you can offer a $5.00 discount on certain products. Even though you may change the price of the products, the discount amount ($5.00) always stays the same.
- "Happy Hour" discounts reduce the price of products during certain dates. To schedule discounts to apply during certain hours, you can build expressions that evaluate the Current Time property. For example, if Current Time > 5:00 pm and Current Time < 9:00 pm, discount the product by 10 percent.
You can apply these discounts to individual products, all the products in a category, or you can create an expression to discount products that meet specific criteria, for example, to offer a 10 percent discount on all items from a certain manufacturer.
For example, you can create discounts to apply in the following situations:
- Price of product is greater than $20.00. This is a discount condition expression. Discount condition expressions are based on a product property.
- User buys 2. This is part of a required discount condition criteria.
- User clicks a discount ad on the Sports page. This is the click-required part of a discount.
- User is registered. This is a discount eligibility expression. Discount eligibility expressions are based on user profiles and context profiles.
You cannot apply multiple discounts to one product simultaneously. A customer can enjoy only one discount per product, or a condition can be applied toward only one discount. After a product as been used as a condition or an award for one discount, it cannot be used as a condition or award for another discount.
Components of a Discount
A discount campaign item has the following components: discount properties, discount definition, discount target, and discount display. You use the Campaign Manager module to define these components when you create the discount.
- Discount properties are the name of the discount, priority, start date and end date.
- Discount definition is a specification of what you are discounting, how much, and for whom. A discount definition has the following parts:
- Target expression identifies what is discounted. For example, the target expression Book_price > 20 applies the discount to all books meeting that criteria.
- Requirement identifies the user and/or context in which the discount is advertised. For example, if the user is a registered female who purchased $50.00 of merchandise during her last visit, you can offer a discount. Or, if the user shops your site during a certain day, or views a specific page, the user may meet the context requirements and receive a 10 percent discount.
- Award identifies what the users receive, for example, a 10 percent discount or free shipping. An award condition must be true for the discount to apply. The award condition is evaluated for each item in the order form. An award condition can be an expression specifying that the discount applies to a particular item, or it can specify that it applies to all items.
- Discount Target identifies the pages on which the discount will be advertised, and to which target groups.
- Discount Display identifies how many times you will display the discount to a user, the image and/or URL that the user clicks to get the discount, and the discount information that will be displayed in the basket when the user checks out.
Discount Priority
You give every discount a priority that determines when it should be applied relative to other discounts that may also apply to a product. (Unlike ads, discounts do not use weights to determine when they are delivered.) For example, you create three discounts and assign each a priority as shown in the following table.
Discount |
Priority |
10 percent discount for telephones |
10 |
30 percent discount for premier users who buy telephones, radios, or computers |
20 |
Free shipping |
30 |
If a premier user shops your site and purchases a telephone, among other items, only the 10 percent discount would be applied to the telephone. Neither the 30 percent discount nor the free shipping discount would apply to the telephone purchase because those discounts are a lower priority.
If two discounts have the same priority, the type of database you are using may influence which discount is applied. The results will be undetermined for discounts with the same priority.
Discounts Based on Quantity or Value Purchased
You can apply discounts based on the quantity that users purchase, or on the value of the purchase. For example, you can create a discount that applies when a user buys three cases of juice (quantity), or a discount that applies when a user buys $20.00 worth of juice (value).
You can apply one discount per quantity or value. For example, the beverage department of your online store has a special offer for summer: buy one case of juice; get the second case for half price. However, your online store has another special offering 10 percent discount on each product in the beverage category. Assume you prioritize these discounts as shown in the following table.
Discount |
Priority |
Buy one case of juice, get the second case at a 50 percent discount. |
10 |
10 percent discount on each product in the beverage category. |
20 |
If a user buys four cases of juice, the discounts are applied as follows:
- Case 1: No discount
- Case 2: 50 percent discount
- Case 3: 10 percent discount
- Case 4: 50 percent discount, only if no limit was placed on the "Buy one get second half price" discount. The 50 percent discount would apply again instead of the 10 percent discount because you gave it a higher priority.
Discount Limits
You can limit the number of discounts that can be applied to a basket. If the discount limit has a value of zero (0), discounts are unlimited: the discount can apply multiple times, assuming the condition for the discount is met multiple times in the basket. The discount limit is a basket limit and does not apply across baskets. For example, if a user checks out, returns to the site, and buys the same discounted items then the user will receive the same discount again.
Processing Discount Campaign Items
Discount campaigns are processed by the discounts Content Selection pipeline and the OrderDiscount pipeline component. You use the discounts CSF pipeline to advertise the most appropriate discount to a user. The OrderDiscount component in the Basket pipeline is used to apply discounts to the shopping basket.
- Discounts Content Selection pipeline checks the start date and end date of the discounts, and then adjusts the scores in the list of possible discounts. It ensures that the discounts that are most relevant to the current user receive the highest priority.
- The OrderDiscount pipeline component first applies the requirements to the available discounts. Depending on the discount involved, it uses the user profile and context profile information to evaluate target expressions. In addition, if a discount requires a click, it checks the list of campaign item IDs for every item clicked. Next, the Order pipeline processes each item, testing the conditions and awards. Discounts are applied from highest to lowest priority. If two discounts have the same priority, properties other than the priority determine the order in which the discounts are applied.
See Also
Adding a Discount Campaign Item
Targeting an Ad or Discount
Copyright © 19962000 Microsoft Corporation.
All rights reserved.