Integrating a customized discount campaign in CS Marketing System

There is no inbuilt discount type in Commerce Server Marketing System to apply a customized discount campaign such as Buy Any Get First Item Free Offer, we have to create a discount of type Simple discount and modify this according to our needs.
If User buys 1 item then s/he will get it for free. If s/he buys more than one then the first item will be free and s/he has to pay for the rest.

Commerce server provides “Buy N Get 1 More Free” discount type, using which we can get one item free on any number of quantities purchased. But in some typical scenario where we have to go for a complementary item discount, there we found “Buy N Get One More Free” discount is not helpful. Because in our case we have to make one item free for the customer even if s/he purchases only item. For example if customer purchases only 1 then s/he will get it for free. If s/he purchases more than one item then one item will be free and the rest has to be paid. In other words customer has to pay for Quantity N-1 items.

To add a new discount to which allows us to apply a Buy N Get One Complementary Discount” offer on any product? If the user buys only one item then he will get it for free. If he buys more than one then only one will be free and the rest will be charged.

Environment Used

  • Microsoft Commerce Server 2009

  • Microsoft SQL Server 2008

  • Microsoft Windows Server 2003

Small background information
All the offers that are going to be applied on the shopping cart are the part of discount management in marketing system of the commerce server. The discounts get applied after the execution of Basket pipeline. The discounts can be applied on the shopping cart in line item level or in order level depending upon their settings.


There is sufficient rights available with the windows logged in user to open the Commerce Server Marketing Manager.


Note : Commerce server is not providing any kind of discount type to apply Buy N Get One Complementary Discount offer. So what we need to do is, we have to first create a discount with Simple type and then modify the discount according to our need.

Open the Commerce Server Marketing Manager from Start > Microsoft Commerce Server 2009

In Marketing Manager, the discounts must appear under a campaign and the campaign must appear under a customer. The customer is the owner of the campaign. It might be an agency, advertiser or by the company itself. Even we can use the default customer and campaign to create a discount.

So before creating the discount we must ensure that the Customer and the campaign under which we are going to create the discount must be Active in status.

In this article we are going to use the Default Customer and Campaign.

Click on the All Discounts from the tree view panel, we get this by clicking on the Campaigns link in the Views panel.

Now we can get the list of all discounts regardless of the campaign they belongs to. Right click on the All Discounts and choose Create New Discount.

Now we can view the create new discount dialog in the screen.


Click next to continue to select the customer under which we are going to create the discount. We are using Default customer here.


Click next to continue to select the campaign for the discount.


Click Next to Specify the discount details.

Discount Name

Name of the discount

Start Date

The date and time from which discount started applying

End Date

The date and time till the discount valid

Basket Display

The text to display in the site. We can specify language specific text to be displayed.




Click Next to specify the discount type.

Discount Type

Type of discount to be applied

Display Type

The format in which it is going to be displayed in the site.


Click next to continue to specify the discount product definitions.


Specify the product detail on which discount going to be applied. May be any product, any catalog or any individual product.



Click Next to set the discount value. 

Value Method

To specify the discount whether in Percentage Off or Amount off basis


To specify the discount value. Here 100 means 100% off.


Click Next to set the order limits to apply the discount on.

Basket Limit

To specify the number times discount applied on the basket. We have to set the basket limit as 1 here because it has to be applied on the first item once in a basket.

Award Limit

To specify the number of products awarded. Here we are specifying 1 to have get one product on each one item purchase.



Click next to set the Eligibility Criteria , if any. Here we need not to set any criteria for our example. So we can skip the step by pressing next again and move to the exposer limit screen. The default selection in 1 in the the exposer limit drop down.

Exposer limit specifies the number of times the discount has to be shown to the User in a session. It get displayed to the user maximum 10 number of times is in a session. He we do not need this as we have already specified not display this in the site. So we can skip this step with the default value by clicking Next.

Now we can be able to get the Summary screen. Click on Create and Finish button to create the discount. The newly created discount can be visible in the All Discount list.

 Double click on the discount to view and/or edit the setting that has been set to the discount.


Change the Minimum quantity to 0 in Buy (Product) section because we have to set the first item free. If the user buys only one item then he will get it for free. If he buys more than one then only one will be free and the rest will be charged.

 In the receive (award) drop down we can specify the items on which we are going to get the discount like on Order Subtotal or shipping total etc. Get drop down also make the discount on Percentage Off or amount off basis on the purchase order.

Click on Approve button to make the discount active for being applied.

 We can also able to set priorities of discounts being applied. If we have same kind of discounts to be applied on a single order then we can be able to set the priorities of discount application on the product.

We may have to pay attention on the Interaction tab of the discount and make the necessary conditional check boxes tick. Before interacting with the check boxes in the interaction tab we have to disapprove the discount and then approve again after the successful save of the changes made.


To set the priorities right click on All Discounts node. Click on the Set Discount Priorities to get the priority setting screen. Set the priority as required and click OK to apply the changes.



To make this setting work for us in the order processing phase we may need to reset the IIS. We can also apply discounts with using other discount types. This article is just an illustration of practical experience while working with the client's requirement to apply this discount in marketing manager.

Contact Us



Captcha Image

Why Choose Us

Wide Portfolio of Services

Domain Intensive Value Proposition

Technological Excellence across platforms 

Avail competitive pricing (Reduce 70% cost, ensure 100% quality)

Get 4 weeks complimentary Risk-Free Trial*

We Build Innovative Applications: Browse through our Intellectual Property

Client Testimonial

StartQuotes"Mindfire has enabled us to reduce costs and increase productivity. The team we have provides fast and reliable development support. We are very happy with the level of service from Mindfire." - Ken Morency, IceFire Studios Corp.

More Client Testimonials

News & Updates

  • November 19

    20th Year Anniversary Celebration at Malaysia

  • March 19

    Ninth Edition: DDMIT Quiz

Let us Connect!

Awards and Achievements

Red Herringcolor DeloitteFast50 DB ZInnov1   Nascome  DB Stpi

This site uses cookies. We respect your privacy.copyright (c) Mindfire Solutions 2007-2018. Login