Skip to main content

Promotions policies

The Commerce Engine encompasses extensible services that enable you to customize commerce functionality.


Do not extend or inherit from out-of-the-box policies; instead, create your own. You can change the values in a policy by modifying the PolicySet JSON or the Environment JSON, depending on where the policy is defined and then re-running Bootstrap.

The following policies can be configured through the Promotions plug-in.



Properties / Default Values


Identifies whether the promotion is exclusive. An exclusive promotion is the only promotion that applies for a given cart line, or for a given cart. For example, a cart containing two cart lines could have up to three exclusive policies applied.


Defines global settings for promotions.


GlobalPromotionsPolicy are set in the Commerce environment JSON file. For example, the wwwroot/data/Environments/PlugIn.Habitat.CommerceAuthroing-1.*.*.json.

DefaultPriority - priority set when a promotion is created or migrated. By default, the promotion priority is 100. The highest priority value is 1.

MaxPromotionNameLength / 50

MaxPromotionBookNameLength / 50

PromotionsRequireApproval - Enforces the approval workflow on promotions. When enabled, promotions must be approved before they are applied to the cart. To test promotions without having to go through the approval process, in the Authoring environment configuration JSON file, you set the property to false. This allows you to add or remove conditions and benefits while the promotion is in the Draft state. You can also delete a draft promotion. This property is available from Sitecore 9.0.1 onward. Default is true.


Make sure to set this property to always set to true in the Shops environment.


Defines the names of the promotions entity view actions.

AddPromotionBook / "AddPromotionBook"

EditPromotionBook / "EditPromotionBook"

AssociateCatalog / "AssociateCatalog"

DisassociateCatalog / "DisassociateCatalog"

AddPromotion / "AddPromotion"

EditPromotion / "EditPromotion"

DeletePromotion / "DeletePromotion"

DuplicatePromotion / "DuplicatePromotion"

RequestPromotionApproval / "RequestPromotionApproval"

RejectPromotion / "RejectPromotion"

ApprovePromotion / "ApprovePromotion"

RetractPromotion / "RetractPromotion"

DisablePromotion / "DisablePromotion"

SelectQualification / "SelectQualification"

AddQualification / "AddQualification"

DeleteQualification / "DeleteQualification"

EditQualification / "EditQualification"

SelectBenefit / "SelectBenefit"

AddBenefit / "AddBenefit"

DeleteBenefit / "DeleteBenefit"

EditBenefit / "EditBenefit"

AddItem / "AddItem"

RemoveItem / "RemoveItem"


Defines the names of the promotions transient and entity indexes lists.

PromotionBookPromotions / "PromotionBooks-{0}-Promotions"

PromotionsIndex / "PromotionsIndex"

DeletedPromotionsIndex / "DeletedPromotionsIndex"


Defines the names of the promotions entity views.

PromotionsDashboard / "PromotionsDashboard"

Promotions / "Promotions"

PromotionBooks / "PromotionBooks"

PromotionBookPromotions / "PromotionBookPromotions"

PromotionBookCatalogs / "PromotionBookCatalogs"

Master / "Master"

Summary / "Summary"

Details / "Details"

Preview / "Preview"

SetPromotionApprovalStatus / "SetPromotionApprovalStatus"

QualificationDetails / "QualificationDetails"

Qualifications / "Qualifications"

BenefitDetails / "BenefitDetails"

Benefits / "Benefits"

Items / "Items"

ItemDetails / "ItemDetails"


Provides the ability to change the default promotions view names.


A policy that is added to a promotion to define its benefits.


A policy that is added to a promotion to define its qualifications.