The Bloomreach Dashboard has powerful tools that allow merchandisers to customize the way products are displayed on the product grid. This is achieved using merchandising rules such as Blocklisting products, Including/Excluding, Soft Boost/Bury, Product Slotting based on PIDs.
While the dashboard has several in-built mechanisms to prevent conflict in rules, it is possible that while applying rules to multiple pages by different users, conflicts may arise.
# Does the Bloomreach toolset block conflicting changes from being configured?
The Bloomreach tools don't generally block the user from making changes that could be perceived as "conflicting" but instead, follows a set logic to determine which rule should get precedence in the case of a clear conflict. The tools strive to make this process simple by allowing users to Preview changes and see what the final page will look like prior to saving their changes. This can easily highlight whether the change you expect will have the intended effect.
# What happens when there is a conflict?
The general guiding principle is that whenever possible, all rules will be applied and respected. For example, if there are multiple boost rules, all the products matched by the rules are boosted. A product that matches multiple boosts will get a stronger boost than one that only matches one boost. However, in cases where merging is not possible then we follow a set of logic detailed below.
# **How does the Bloomreach system merge and resolve conflicts of rules?**
The way in which Bloomreach handles merging and resolving conflicts is given below:
Bloomreach’s front end will first collect all rules related to this query in one place.
The system then takes all the operations among all the rules and categorizes them based on operation type and order.
### Operation priority:
A higher order operation will have more influence (magnitude of effect on final output) over a lower order operation. The rule scope (site/account or Global vs local ) is ignored in this case.
For example, an Attribute Exclude operation applied to a PID, will have more influence over the product boost to top operation for the same PID.
### Most of the operations within the same operation type, can be merged or are additive:
The operation types that can be merged are: Attribute Include/exclude, Attribute soft and hard boost/bury, PID boost to top, PID bury to bottom, PID block. If there are multiple boost rules set at different levels, the final impact is additive.
When there is an operation 1: “Attribute Exclude: color= black” and an operation 2: “Attribute Exclude: color= red” and these two operations are applied at the same time, it will be merged into “Attribute Exclude: color= black or red”.
If you have applied a global boost on products that are "new = true" at strength 20, and another local boost on a query for products that are "new = true" at strength 30, the actual strength applied would be at 50.
### Slot conflict can’t be merged:
Slot operations can’t be merged within the same type. In this case, there will be a default priority based on rule scope.
# Conflict Resolutions
Ranking rules from all levels are merged and the order of operations mentioned below is followed. This order of operations includes global rules applying on the query level as well. All customizations are merged and conflicts are resolved.
## Order of Operations
The order in which the merchandising operations takes precendence is given below:
Attribute Include Only/ Attribute Exclude
PID Slot (Lock in place and lock in position)
PID Bury / Attribute Hard Bury (100 strength)
**Note**: In case of PID Bury/Attribute Hard Bury, they are shown at the end of the recall set hence we tend to show them at the same level. PID bury has the same precedence as Attribute Hard bury (100 strength), but has higher precedence than Attribute soft bury ( < 100). PID bury is basically using hard bury with the attribute "pid".
Boost to Top (PID-based)
Attribute Soft Boost/Bury + Numeric soft boost
**Multi site ** Even for multi site, operational precedence is followed - either a merge if no conflict/operational precedence in case of a conflict. There is no account to site precedence for ranking. The way it works is that for a PID, a list of all rules applied to that PID is compiled and then a merge is applied if no conflict/operational precedence is seen in case of a conflict.
A merchant site _www.example.com_ has a "Global Category Rule" with the following boost on UK: Forward Forecast = 5.They then set up a "Knitwear Category" boost = 20. Since boost at different levels is additive, this will result in a total boost of 25 to the "Knitwear Category".
** If a product has an attribute that has been buried 100% by a global rule, but another attribute that is boosted using a query-specific rule, does the query-specific rule take precedence?**
As per the operational precedence, hard bury will take precedence. There is no concept of query vs global rule in ranking.
**What happens when Globally bury sale = 100, locally boost sale = 50, and sale ends up somewhere in the middle on the local rule?**
Global bury will take precedence. Check if the products below this are not PID/attribute buried.
**What happens when at the account level for a category, Include Only rule on category = trousers and then at the local level for that same category, an Include rule for category = trousers, gilets. What will be the final result?**
If there are no products common to category = trousers, gillets, you will get 0 results.
**When boost to top PID is being buried, would the PID end up somewhere in the middle?**
Depends on how it was buried. Apply the PID bury/Attribute Hard Bury/Attribute soft bury operational precedence. If it is a PID bury/Attribute hard bury, it will appear at the bottom unless products below it are buried as well.
**What are some of the examples of conflict resolution?**
Some examples of conflict resolutions (also explained in this document) are summarised below:
When there is an operation 1: “Attribute Exclude: color= black” and another operation 2: “Attribute Exclude: color= red” and these 2 operations need to be applied at the same time, it will be merged into “Attribute Exclude: color= black or red”.
If there is a global boost on products that is "new = true" at strength 20, and then another local boost on a query for products that is "new = true" at strength 30, the actual strength applied would be at 50.
A merchant site _www.example.com_ has a "Global Category Rule" with the following boost on UK: Forward Forecast = 5.They then set up a "Knitwear Category" boost = 20. Since boost at different levels is additive, this will give a total boost of 25 to the "Knitwear Category".