In SAP Commerce Cloud, promotions are officially known as Promotion Rules. To understand how the module functions from a business user's perspective, let’s explore the life cycle of these rules.

- Design a Promotion Rule
As the first step, the marketing department designs promotion rules. Common examples include "Buy One, Get One Free" offers or "Spend Over $200 and Enjoy Free Shipping" campaigns.
- Develop/manage a promotion rule
Once a promotion rule is designed, a business/technical user uses the Rule Builder in Backoffice to create and manage the promotion rule instance. Each promotion rule is comprised of two parts: conditions and actions.
- Save a promotion rule
A promotion rule is saved in the database as a JSON-based source rule. It can be reloaded from the database at any time for editing in the Rule Builder within the Backoffice.
- Publish a promotion rule
When ready, a promotion rule is published to the rule processor as a Drools rule through a Rule Compiler. A Drools rule exists in memory for rule calculation, and is saved in the database as an executable Drools rule instance.
- Evaluate a promotion rule
When a customer interacts with the storefront, such as adding a product to the shopping cart, the Rule Processor is notified to initiate promotion evaluation. This process determines whether any existing promotions can be applied.
- Execute a promotion rule
When the conditions of a specific promotion rule are met, the Rule Processor activates the corresponding action. This action generates a marketing response on the storefront, such as adding a free gift to the customer's cart or applying a discount.
Rule-Aware Objects
As you may have noticed, a promotion rule consists of conditions and actions, each represented as a rule-aware object (RAO). RAOs are fundamental to processing promotions, as they simplify data representation for the rule engine. These objects serve as the foundational facts on which the rule engine bases its decisions and executes rules. In essence, RAOs act as a bridge between the complex data models in SAP Commerce Cloud and the rule engine.
Typically, an RAO can be associated with one of the following:

- Product: Buying a product, such as a camera or a t-shirt.
- Category: Buying a product of a certain category, such as Cameras or Video Projectors.
- Shipping Model: A customer gets a free shipment.
- Customer: A customer is in a customer group, such as a VIP group, or a brand group.
- Website Action: A customer has visited a certain page, such as a survey page.
- Custom: Anything related to specific project requirements, such as subscribing to newsletters.
Let’s see how RAOs are used in constructing a promotion through an example.
This promotion rule includes three RAOs (two conditions and one action):
- Cart total over 100 dollars.
- Customer is in the VIP customer group.
- Apply a 10% discount on the cart total.
It's important to note that you can use any number of RAOs as conditions and actions to create promotions. We delve into this in more detail in the upcoming lessons.