Document Properties
Kbid
25349U
Last Modified
14-Jul-2021
Added to KB
06-Nov-2013
Public Access
Everyone
Status
Online
Doc Type
Concepts
Product
  • ICM 7.10
  • ICM 11
Concept - Promotion Priority and Combination

Introduction

More than one promotion can be active at the same time. It is possible to choose whether a promotion should be applied:

  • On the base cart price (not discounted) or
  • On an already discounted price.

The order of appliance is important. If two promotions are defined, the appliance order will always be the same for each consumer.

This document explains the different promotion discounts available and their priorities.

Promotion Action Types and Priority

Action Types

A promotion action type is the kind of discount or rebate. There are four different groups:

  • Order level:
    • Order Percentage Off: reduces the order value by a percentage value
    • Order Value Off: reduces the order value by a fixed value
  • Item level:
    • Item Percentage Off: reduces the item price by a percentage value
    • Item Value Off: reduces the item price by a fixed value
    • Item Target Price: sets the item price to a new value
  • Shipping level:
    • Shipping Percentage Off: reduces the shipping cost by a percentage value
    • Shipping Value Off reduces the shipping costs by a fixed value
    • Shipping Target Price: sets the shipping costs to a new value
  • Gifts:
    • Automatic Gift: adds some gift to the cart, visible to the consumer
    • Hidden Gift: adds some gift to the cart, invisible to the consumer

Priority

Each promotion type has a priority. The promotion priority defines the order the promotions are applied in the web shop.

Note

The promotion with the highest priority comes first. If there exist promotions with the same priority, the start dates are taken into consideration: The newest promotion applies first. If the start dates are identical, the promotion IDs are compared and sorted ascendingly.

The following table lists all available promotion types and the corresponding priorities as they are created via DBInit. The priority of an action type can be changed.

Promotion TypesDefault Priority
Item Target Price1.000
Item Percentage Off900
Item Value Off800
Shipping Target Price700
Shipping Percentage Off

600

Shipping Value Off500
Order Percentage Off400
Order Value Off300
Automatic Gift200
Hidden Gift100

Info

Hint: Take a look at the Channel Preferences | Promotion Preferences | Type Priorities tab. There you can find the priorities of the different promotion types.

A newly created promotion does not have any rule. In other words, no conditions or actions are defined. Its priority is 0.

Setting its action sets its priority implicitly. In other words, changing the action also changes the promotion's priority. In addition to the implicit priority, it is possible to configure an explicit one. If a promotion has an explicit priority setting, this setting is taken into account while determining the order of appliance.

A promotion can have more than one rule. Each rule can have a different action. In this case, the promotion's priority is defined by the action of the very first rule. The screenshot shows a list of promotions. Promotion1 has two rules: the first one grants a Shipping Percentage Off discount, the second one an Item Percentage Off discount. However, the promotion's priority is set by the Shipping Percentage Off discount (= 600).

Promotion Message Priority in the Web Shop

Highest ranked promotion messages (this includes all static messages from the promotion message tab and dynamic order messages) will always appear first. Everywhere in the storefront where the number of shown promotion messages is restricted, the promotion priority influences the visibility of messages.

For further details on promotion messages refer to Concept - Promotion Dynamic Message.

Implementation Aspects

The promotion interface offers a method to set the promotion's priority. It is a native attribute in database entity Promotion.
A newly created promotion has priority 0. The pipelet UpdatePromotionActionPriority updates the promotion's priority as soon as the first action type is configured. If all action types are deleted afterwards, the priority is set to 0 again.

Two preference definitions are created via DBInit:

Preference

Data Type

Default value

Meaning

PromotionActionPriorities

multiple string

null

A consecutive order of promotion action types, separated by '|'

PromotionActionRankingSteps

integer

100

Defines the standard step size between two successive priorities (if the preference is not set, it falls back to 100)

The initial order of action types is provided by calling getDefaultRank() from PromotionActionPriorityHandler for each action descriptor. The promotion manager can change the action types in the back office at the promotion's preference section. In that case, the newly created order will be stored as preference PromotionActionPriorities.

Per default, the step size between priority values is 100. If anyone wishes to change this, a new channel domain preference named PromotionActionRankingSteps has to be introduced via DBInit. For example:

  1. Add PrimeTech-PrimeTechSpecials-Site.PromotionActionRankingSteps=50 in ChannelDomainPreferences.properties (ucm_demo).
  2. Run DBInit.
  3. Select ucm_demo and PrepareDomainPreferences com.intershop.ucm.demo.dbinit.mcs.preference.ChannelDomainPreferences and click Run.
    -> The preference will be created.

Promotion Combination

Intershop 7 permits running multiple promotions at the same time. Therefore, it may happen that several valid promotions apply to one basket. To define the calculation order of the promotions, marketing administrators can define a priority for each promotion, also see Priority.

As a result, the promotion with the highest priority is calculated first.


It is possible to define whether a promotion can still apply if another promotion has been applied before, therefore a combination type must be chosen.

Thus, it is possible to define that more than one promotion can be applied to the same order at the same time.

The following options are available:

Combination

Meaning

free combinable

A promotion can be applied even if another promotion has been applied before.

not combinable

This promotion cannot be applied if another promotion has been applied before, and vice versa: If it applies first, no other promotion can be applied later on.

partially combinable

This promotion can only be combined with a dedicated set of other promotion action types. If a promotion from the forbidden set has been applied before, this promotion cannot be applied, and vice versa: If this promotion applies first, none of the forbidden ones can apply any more.

Note

The promotion combination can only be defined by promotion action types. It is not possible to say Promotion A cannot be applied together with Promotion B.

Basket Calculation

The main class for applying promotions in the basket is PromotionCalculationRule. It fetches all applicable promotions for the current user.
The result contains a list of promotions ordered by rank descendingly. In other words, the promotion with the highest rank always comes first. If two or more promotions are of the same rank, they are ordered by start date ascendingly. In case the start date is identical, the promotions are ordered by ID ascendingly. (The promotion ID is a unique string which can be set while creating a new promotion.)
Afterwards, for each applicable promotion it is checked whether its condition is satisfied. If so, the discount is granted. However, there are additional circumstances which prevent a discount from being granted even if the promotion condition fits:

  • Two promotions are not combinable with one another.
  • There is nothing more to grant (For example: free shipping was already reached by another promotion).
  • The item is not allowed to be discounted (it is not in the list of selected items for that discount).
  • The shipping region/method is not allowed to be discounted.
Disclaimer
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.
The Intershop Knowledge Portal uses only technically necessary cookies. We do not track visitors or have visitors tracked by 3rd parties. Please find further information on privacy in the Intershop Privacy Policy and Legal Notice.
Home
Knowledge Base
Product Releases
Log on to continue
This Knowledge Base document is reserved for registered customers.
Log on with your Intershop Entra ID to continue.
Write an email to supportadmin@intershop.de if you experience login issues,
or if you want to register as customer.