Tutorials & Solutions

Understanding competition of promotions

Débora Ferreira
Débora Ferreira
Last updated

The competition between promotions is a calculation that helps choosing which promotions(s) of the same type will be applied to the cart. This calculation is done when the option Allow accumulation of promotions is not selected, but they grant discount on the same product. So, they are ordered and grouped, then the groups are compared, to assure the most advantageous deal to the customer.

Promotions configured to allow accumulation are always preferred over non accumulative promotions that won a competition. That is, if a promotion has the Allow accumulation of promotions option selected, it will always be applied to the cart, as long as its restrictions are met.

This calculation of the promotions applied to the cart goes through several processes, described below.

Types of Promotions

The types of promotions are related to the discount they offer.

They are divided into 4 categories:

  • Discount on price: These are the Percentage and Nominal Discount promotions.
  • Discount on Shipping: These are the Percentge of Shipping, Nominal Shipping and Maximum Shipping promotions.
  • Gift: These are the promotions that give away gifts.
  • Formula: These are promotions where the nominal discount is based on a formula.

Ordination of Promotions

Ordination is the process that defines in which order the accumulated promotions will be applied to the cart. This is important when planning what will be the final price of the cart items for the promotion that you are configuring. Ordination is perfromed in two levels:

Ordinary per type

The promotions applied to the cart respect the following order:

  1. Percentage
  2. Nominal
  3. Buy Together (not a regular promotion)
  4. Percentage of Shipping
  5. Nominal Shipping
  6. Gift
  7. Formula
  8. Fees (not a promotion)

Ordination per value

The promotions applied to the cart are compared by the discount value registered for each one of them.


  • Promotion 1 30% discount
  • Promotion 2 50% discount

Regardless of the products to which each promotion would be applied, the value considered for ordination is the percentage or nominal registered value, not the percentage applied to the cart products. So the order would be: Promotion 2, promotion 1.

For gift promotions, ordination is set by the number of gifts offered.


After understanding how promotions are ordered, we need to understand how the competition of non accumulative promotions is held. It follows the ordination to create groups of promotions that do not compete with the same products.

In other words, promotions of different types or the same type that attend different products do not compete with each other.

Besides that, it follows the ordering to group promotions that do not compete with the same products. Then, with the groups already created, it assimilates and checks which group offers a greater advantage to the customer. The winner group is applied to the cart.

Ex.: Imagine 5 promotions, each with different types of discounts and related to different products. All of them, with the Allow accumulation of promotions option unselected.

promocao1 EN

In this example, notice that only the first 3 promotions are of the same type discount on the product. Then, it becomes necessary to create groups to compare them. The groups are created for promotions of the same type that reach different products. With that, it is possible to have more than one promotion on the same group, and both can be applied to the cart.

Still in this example, the creation of groups will be as follows:

promocao2 EN

Note that promotions A and B were grouped together, as they reach different products. Promotion C reaches the same products of promotion B, so a new competition group must be created. Since the other promotions do not compete, they will be applied in their proper order.

So, ordination per value is used to calculate what is the most advantageous discount, if promotion group A + B or promotion group C. In the example, assuming that all products have the same price, the first group would be chosen, and promotions A, B, D and E would be applied.


After competition, all promotions with the option Allow accumulation of promotions selected will applied, regardless of their types. The order of application will follow the ordination per type, with the fees being applied last.

Ex .: In the example above, if it was necessary that promotion group C was also applied to the cart, you just had to select the Allow accumulation of promotions option for it. Thus, all promotions of the example would be applied.

promocao3 EN

Remember! Accumulative promotions do not compete with each other. It's worth noting that interactions between orders that originated from a Marketplace (supplied by me) and Fulfillment orders (those delivered by me) do not permit accumulated benefits/promotions.
Still got questions?
Ask the community
Find solutions and share ideas in VTEX's community.
Talk to our experts
Get in touch if you have something specific to ask about the platform.
  • PT
  • ES
VTEX website