Using offer lists in treatment rules

Offer lists enable the marketers to group similar offers into offer lists and use them in a similar way as the offers used in the treatment rules. For more details, see the Offer lists section. In this way, the marketers can update the offers in the offer lists, while keeping all the arbitration logics defined in treatment rules intact. Only the offers directly belonging to an offer list are considered. In another words, nested offers lists are not supported.

An offer list used in a treatment rule can be static or dynamic (smart). The offers considered in Interact Runtime offer arbitration are those offers contained in the offer list at the time when the Interactive channel containing treatment rules is deployed. In another words, during the deploying time, Interact Design Time takes snapshot of the offers contained in the offer list and send them to Interact Runtime. Whenever offers in a offer list are changed, the treatment rules using that offer list are required to be re-deployed in order to have them into effect in Interact runtime.

The marketers can further define the number of offers from an offer list included in the candidate offers during arbitration in Runtime if the treatment rule itself is eligible.

During process of offer arbitration in runtime, the following is the evaluation procedure applied to a treatment rule if the rule has an offer list assigned.

  1. The eligibility defined at the rule level is evaluated. If it returns false, this rule is excluded and as a result the referenced offer list is not considered as part of this rule.
  2. The suppression rules defined at offer level, including offer constraints if enabled, are applied to each offer in the offer list. If any of suppression rules match, the offer is excluded.
  3. An offer selection policy defined by marketers at the rule level is used to perform the selection, if the offers left in the offer list are more than the number of offers to be included as defined by marketers. The following are the supported policies.
    • Most recently updated offers: Selects top "x" number of offers sorted by last updated date time in the descending order when the strategy is deployed to the Runtime. This is the default policy.
    • Random: Selects "x" number of offers randomly.
    • By an offer attribute: Selects top "x" number of offers, which are sorted by specified attribute value in a specified order. The union of offer attributes of all offers in the offer list are available to specify. In Runtime, if the attribute does not exist for an offer, the offer is excluded from selections.
    • Custom: Selects top "x" number of offers based on marketers' defined logics for selection, thus giving the name of selection policy and configuring its details through Interact Configuration settings (see the Administrator Guide for configuration settings).
  4. The selected number of offers from the offer list in Step 3 together with all other candidate offers are processed with the usual arbitration processes and are then sorted on the basis of the offers' calculated score. The top number of offers requested in getOffers API are returned.

The score, eligibility, and parametrized offer attributes can also be defined for an offer list similarly like for an offer. They work in the following way.

  • The union of offer attributes from all offers in an offer list are available in Expression Builder, while defining score predicates, eligibility predicates, or parametrized offer attributes of a rule that has an offer list assigned,
  • In Runtime, if the offer attribute used in Score predicate does not exist in an offer in the offer list, the marketer score defined in the rule level is used for that offer.
  • In Runtime, if the offer attribute used in Eligibility predicate does not exist in an offer in the offer list, the offer is ineligible.
  • In Runtime, if an offer's attribute is parametrized, the returned offer overrides the offer attribute values.

In Runtime, the returned offers have an attribute, UACIOfferListID, which is the ID of an offer list on which the arbitration is performed. This attribute is not included if no offer list is involved.