A Wonderful World of Promotions – Magento 2 Cart Price Rules and Catalog Price Rules

Magento 2 sports two primary promotional products: Catalog Price Rules and Cart Price Rules.

These functions are similar in purpose at a high-level but there are some distinct differences between them that makes one better suited to your marketing needs than another in any given situation. Let’s take a greater look at these two methods and some of their more common applications.

Catalog Price Rules

Businesses can use these rules to selectively offer products at a discounted price, based on a set of conditions. Unlike Cart Price rules, Catalog Price rules do not make use of coupon codes. This is because they are triggered before a product is added into a customer’s shopping cart.

Cart Price Rules

Unlike Catalog Price rules, this type of rule can actually apply discounts to items in a customer’s shopping cart, based on a set of conditions. The discount can be applied automatically as soon as the conditions are met, or when the customer enters a valid coupon code (which can be tied into your business’ greater marketing efforts). When the promotion is applied to the shopping cart, the discount will display to the customer under the subtotal.

Cart Price Rules and Catalog Price Rules Use Cases?

  • Send your best customers a coupon for a discount on a specific product?: Shopping Cart Price Rules
  • Offer free shipping for purchases over a certain amount?: Shopping Cart Price Rules
  • Display promotional prices in the catalog and product pages?: Catalog Price Rules
  • Apply a discount on the order total?: Shopping Cart Price Rules
  • Dynamic “buy one, get one” style promotions?: Shopping Cart Price Rules
  • Schedule a promotion for a period of time?: BOTH!


  • Catalog rules adjust product prices before they hit the shopping cart.
  • Shopping cart rules apply discounts after products are added to the cart.
  • Cart rules can use promotional coupon codes.
  • Cart rules can be applied as a shipping discount, whereas catalog rules cannot.