Promotion engine differences when using the promotion store relationship
If your site has implemented the promotion store relationship, there are two significant differences in the behavior of the promotion engine.
- Since both the agenda builder and the sequence builder must accommodate any applicable promotions in the asset store, there is a potential performance impact. Though this is expected to be negligible, it remains something of which you should be aware.
- Product promotions defined in the asset and customer-facing stores must use the same catalog or share a catalog using a catalog store relationship.
- The agenda builder merges the promotion policies and groups of the asset
and customer-facing stores. The rules for merging are below.
- The PromotionExecutionAgenda incorporates all global policies found in either the asset stores or the customer-facing store. All of the policies apply to all of the promotions that are part of the agenda. The only exception is when two policies have identical names. In this case, the two policies are assumed to be the same and only one is incorporated into the agenda and applied to all promotions.
- If a promotion group in the asset store shares a name with a promotion group in the customer-facing store, the promotions and policies associated with both groups are added to the agenda. The policies from both groups are applied to promotions from both groups. That is, a policy from the asset store will apply to all promotions from the asset store and the customer-facing store. Similarly, a policy in the customer-facing store applies to all promotions inherited from the asset store. Effectively, the two groups are merged. If the asset store and the customer-facing store have policies with identical names, these are treated as the same, and are only added to the agenda once.
- If an asset store defines a promotion group which is not defined in the customer-facing store, but the promotion group exists in the invocation template, then the promotions and policies from the group are added to the PromotionExecutionAgenda, and the policies will be applied to the promotions.
- If an asset store defines a promotion group which is not defined in the customer-facing store, and the promotion group does not exist in the invocation template, then promotions and policies from the group are not added to the PromotionExecutionAgenda.
After the applying the preceding four rules, the agenda includes all of the promotions and their applicable policies.
- The sequence builder respects the store relationship by scheduling the promotions for evaluation in a manner that places the promotions from the asset store before those from the customer-facing store. For example, if both stores in a relationship define unique promotions in the product promotion group, the promotion inherited from the asset store is evaluated first.