· E-commerce

Management of catalog promotions with Magento 2


In e-Commerce, we have multiple ways to offer reduced prices and to manage promotions.

You can indicate a specific reduced price for a product, discounts on all products of the same range, decreasing prices according to the quality purchased, discounts linked to coupons, discounts according to the customer profile, or promotions according to the contents of a basket (e.g. “the belt offered for the purchase of three jeans”).

Magento allows you to cover all these options. Today we’re going to look at the List Price Rules feature. It allows you to define reduced prices (displayed directly on the listings and on the product page — without waiting for the cart) without having to identify the products individually, by instead creating generic rules such as “all products from a given brand” or “all watches with a water resistance of at least 5 ATM (50m)”.

This feature is very often used to manage sales or very simply activate discounts linked to a particular promotional event such as Christmas or the start of the school year.


The feature is accessible from the Marketing menu :

Each rule is made up of two major elements :

  • the criteria for applying the rule
    • which products should benefit from the reduction ?
    • which customers can see their prices affected by this reduction ?
    • over which period is the reduction applicable ?
    • Magento allowing to manage several stores managed from a single Back Office, on
    • which stores is the promotion available ?
  • how to calculate discounted price
    • reduction in amount or in percentage ?


To identify the products on which the rule must be applied, Magento offers a rule definition interface found in other Magento features (such as cross-sell management or basket price rules) and which, in part, the strength of Magento.
In the example above, the promotion will be applied to any new Men’s (or boys’ or unisex) product, unless they are Waterproof or made of CoolTech material.

Magento allows you to select a product on the basis of its Attribute Set (its typology, its nature), the categories to which it belongs, or one or more of its attributes (brand, collection, materials, colors, etc.) .

Various operators are available such as equality (the color must be red), a numerical comparison (the weight must not exceed 2 kg), to choose from a list of authorized values (the target audience must be Male or Boy or Unisex), everything except certain identified values (the target audience can be anything except Child or Baby), or even the presence of a text within the attribute (the product name contains “tank top”).

We can combine these criteria together :

  • AND operator : if all the conditions below are met
  • OR operator : if at least one of the conditions below is met
  • Disclaimer :
    • if all the conditions below are false
    • if at least one of the conditions below is false
    • this allows for example to make a reduction on the whole catalog except on the products of a certain brand on which we would not make enough margin.

So here we have a very flexible and precise system to select the products that will receive the promotion. It is even easier if the data is carried in a structured way on our products.

It is this system of conditions that makes list price rules much more convenient to use than manually going over each product to assign a discounted price to it.


In the majority of cases, a reduced price established by a list price rule will not depend on the customer. But, Magento still gives us the possibility of restricting a catalog price rule to one or more groups of customers.

Without going into detail on the notion of Magento customer group, it is a way of classifying your customers (e.g. VIP customers, professional customers).
Catalog price rules cannot dynamically select customers based on customer attributes, purchase history, or items in their cart or wishlist.

There is a technical reason for this : the catalog price rules influence the price displayed in the listing and on the product page. It is taken into account in the sorting of categories or faceted filters. In order for the site to be responsive, these prices are pre-calculated and cached. It does not seem reasonable to want to pre-calculate the prices for all your customers individually and even less to recalculate them after an addition to the basket for example.

Magento allows you to precalculate prices by customer group and it is already very practical. The basket price rules (which we will see in another article) will make it possible to address these special cases more precisely.


It is rather rare for a promotion to drag on. Magento offers us two ways to manage the period over which a list price rule applies.

By default, through an active/inactive state. An active rule applies immediately. Just come and make it inactive for the price to return to normal.

Otherwise, via a start date and an end date. The functionality is presented differently between Magento Open Source and Adobe Commerce, but in both cases you can indicate from when the rule applies. And as soon as the end date is passed, prices return to normal. The Commerce license allows you to preview a store at a given future date, making it easy to verify that a catalog price rule applies to the desired products.


A single Magento can manage all your stores (whether one per country to correctly address the market, or one per Brand). In general, a catalog promotion only applies to a single store, but Magento allows you to pool your rules and have them impact several stores at the same time.


Well, we know how to define in which situation to apply a reduction, but which discount can we apply ?
Magento offers four ways to express the discount :

  • discount of the standard price by a percentage (e.g. -20 %)
  • discount of the standard price up to a certain percentage of the total price (product sold at 20 % of its standard price)
  • discount of the standard price by a fixed amount (5€ reduction)
  • forced reduced price regardless of the standard price (everything at 10€ !)


It is possible that a product can be affected by several rules at the same time. Generally, we want only one rule to be applied, but sometimes we will want several to be applied one after the other.

Magento allows you to set a priority on each rule. They are then applied from the highest priority to the lowest priority (the smallest value “1” corresponding to the highest priority, it is not the most logical choice but think of a competition podium : the gold medal is the strongest).

Priority of a promotion rule

Additionally, we can also indicate that only one rule should apply. In fact, we indicate that after applying a particular rule, do not apply lower priority rules.

Inhibit the following rules

Here is an example of the flow of the application of rules considering their priorities and the inhibition of the following rules :

When a lot of rules are applied to a store, it very quickly becomes complex to understand which reductions are applied to which products, but Magento offers us powerful tools to manage the sequence (or not) of these rules.


We saw in the introduction that Magento offers several ways to define price reductions : a special price entered directly on the product, a price by level (decreasing price according to the quantity put in the basket), a price specific to a customer group, etc. .

  • The final price applied is the best price for this customer, i.e. the lowest price between :
  • the standard price (Regular Price)
  • the price specific to the customer group (Group Price)
  • the price specific to the quantity purchased (Tier Price)
  • the special price entered on the product (Special Price)
  • the price defined after application of the catalog price rules (Catalog Price Rules)
    • Note that these rules always apply to the standard price, never to the special, customer or tier prices.
      This final price is cached and presented on all listings featuring the product, as well as on the product page (and in the cart of course).


If you have the Adobe Commerce license, you can not only define to which period a list price rule applies, but also define successive modifications of this rule, allowing for example to easily create successive markdowns.


If you have the Adobe Commerce license, you can link the rule with editorial content called Dynamic Blocks (for example, banners on your store’s homepage) which will only appear once the rule is active and will disappear automatically once the rule is obsolete. This simplifies the management of promotions, avoiding having a banner displayed while the promotion is not yet active or vice versa.



Catalog price rules are widely used in most e-Commerce stores. They make it possible to manage promotions on a set of similar products in a unified way, which greatly simplifies the management of event promotions.

  • -20 % on diving watches
  • -10 % on the ProAct brand
  • Destocking -70 % on last year’s collection
  • Children’s pajamas at €10 each

This is also particularly useful for managing balances. Successive markdowns can be managed in Magento Open Source by creating several rules whose start and end dates and times must be properly configured. The Adobe Commerce edition brings a bit more flexibility.


Catalog price rules can be activated manually (with the Active/Inactive parameter) or according to the date and time of day (with the start and end dates of the rule’s application). Each way of doing things has its advantages and disadvantages, and both are used by our customers.

Date and time triggering makes it possible to start operations at times when an operator is not available (for example to launch an operation right at midnight or very early in the morning, or when the operator is acting from a different time zone).

Manual triggering requires an operator at the time of triggering but makes it easier to synchronize the launch of the operation with communication on social networks, a showcase site, or with partners.


The most common case is to address products by their technical attributes (colour, weight, size or dimensions, standard, protection index, etc.), their nature (typology) or their classification (category, brand, collection, theme, universe, …), that is to say core data, fairly immutable.

But you can also create a product attribute dedicated to carrying the type of promotion. The rules are then defined to be based on this attribute and it is the product that is modified to make it enter or not in a given promotion. For example, if the “Type of promotion” attribute equals “Sales30”, then the rule “-30 % for sales” will apply to this product. We can therefore prepare the desired markdown for each of our products several weeks before the sales. The rules related to sales can then be carried over from one period to another by modifying only the start and end dates of application.
This solution is often used when the assignment of the markdown type is managed in a tool other than Magento, such as from its ERP. A feed (or an Excel import) updates the “type of promotion” before the sales period.


The basic Magento functionality is more than enough for the needs of our customers. The product selection criteria are powerful and flexible. The reduction calculation options cover the vast majority of needs. It is therefore not necessary to add modules for improving list price rules.

However, since the promotion is visible in a listing and on the product page, we generally want a label to appear on the product thumbnail to highlight the presence and the reason for the promotion. Magento does not offer this feature by default. We advise you to use modules such as Amasty Product Labels, especially if your promotions are driven by “promotion type” attributes on your products.


Magento’s list price rules feature is solid and efficient. It is used almost systematically on any e-Commerce platform. There are, however, a few points to pay particular attention to.


For a promotion to be effective, it must, among other things, be communicated to your customers and prospects. Magento provides some very practical tools but part of the work must be handled by your marketing teams.

Magento Commerce allows for example to create banners linked to the catalog rule. These banners are displayed on the site only when the promotion is active.

On the other hand, the announcement campaign of a future promotion must be managed manually : creation of content blocks, selection of the locations on the store where the promotion must appear, activation of the content a few days or weeks before the start of the promotion, removal of content as soon as the promotion is active, etc.

Similarly, Magento allows you to highlight products in a carousel on the home page or on a category, but it does not allow you to automatically add products linked to an active promotion. You usually have to add this manually. Magento also does not allow you to automatically place a product on catalog promotion in a dedicated category (sales, clearance, bargains).

When it comes to communicating on social networks or partner sites about a promotion as soon as the promotion starts, Magento is not much help. The Marketing team must make the appropriate activations and publications at the launch of the promotion.


You generally have an ERP that already manages your promotions and want to synchronize these promotions with Magento. Each tool has its own, often complex, way of structuring the definition of a promotion, making it almost difficult or even risky to synchronize the rules. We generally prefer to establish these rules in a single tool (the ERP or an external promotion engine) and regularly send the final price obtained to Magento, without using Magento’s list price rules.


Some distance selling practices are complex to implement with Magento.
For example, we want to edit a brochure in which a specific coupon appears to obtain a promotion on a specific product. Magento does not allow you to enter a coupon on a product sheet and does not allow you to link catalog price rules to a coupon. You have to go through the basket price rules. The buyer puts his product in the basket with its original price, then enters the coupon in the basket in order to benefit from the promotion.

Another case, we want to invent a new reference which, when ordered, allows access to an existing product but with an exclusive promotion. For Magento, the reference is a unique identifier and two different references cannot share the same stock. It does not allow triggering a promotion through alternative references.

Similarly, Magento does not allow you to trigger a catalog promotion based on the site from which the customer arrives. We cannot issue a promotional link, distribute it via social networks or via the partner site, and take into account a promotion when the product is viewed arriving via this link.


Pay attention to the number of rules created. The more rules that apply to the same product, the more complicated it is to understand which rules are finally applied and what reduced price is finally obtained.

Magento does not allow us to have a summary view of the prices of all our products on a given date which would allow us to quickly check the status of our catalog for a future operation. If the number of rules is high, we advise, to limit this complexity of reading, to pay particular attention to the priority of each rule and to create only rules which inhibit the lower priority rules

A strong human organization and well-laid processes are crucial to manage many promotion rules. Especially in a B2B setting where you could have almost as many different rules as you have customers.

Last point, even if the tool for defining product selection criteria is well done and easy to learn, some users may find it difficult to enter into the very computer-based logic used to properly express these conditions. A little help from a more experienced user or a bit of practice on a sandbox platform will get these users up to speed faster.


We advise you to use, without abusing, the catalog price rules, in addition to the basket price rules, especially in the context of event-driven operations such as sales. The purchase of a Magento Commerce license is a plus to facilitate the management and verification of your promotional rules.
In any case, simple, clear, precise processes, known to your Marketing teams, are necessary for the effective operation of your promotions.