The course of marketing has changed from cold-calling to real communications and engaging with your customers in real-time, irrespective of the channel or mode of communication. Unica Interact facilitates this by integrating with the customer-facing systems such as call centers and sending personalized offers in real-time to provide an interactive and enhanced customer experience. FlexOffers is one such component in Interact, which allows mapping company offers, customer profiles, and the customer’s real-time activity data into a Windows spreadsheet, which resembles a mapping table.
What is it?
Marketers design their segmentation logic using only a few conditions on profile attributes. Many such rules allow marketers to leverage the rich set of functionality provided in spreadsheet software, like sorting, search, filters, etc. Some rules require frequent but simple updates and can be achieved using FlexOffers.
How will it help?
FlexOffers helps the marketers to provide easy mapping of offers to the best-targeted customers. Marketers can use the CSV file input, with the basic mapping data, and import it into the system and integrate it with system data such as offers, zones, cells, which will create a FlexOffer mapping table. As in the past, to deploy an Interactive Channel, we do not need Interactive Flowchart and Interaction strategy. Just map a profile table create FlexOffers mapping, and deploy the IC.
How Does FlexOffers Work?
The basic steps required to work with FlexOffers are as below:
- Creating a Mapping (existing table , .csv, new table)
- Add /Edit /Update Rules
- Customize the rules
- Create Filters
- Copy the mapping table to profileServerGroup
- Deploy the IC
1. Creating a FlexOffers Mapping
FlexOffers mapping can be created using three different ways.
- Create a mapping using the existing table.
- Select a .csv
Create a brand new table and then add rules to it.
The source column on the list page indicates the source using which the flexOffers mapping is created. While selecting input from the .csv, there are a few essential things to remember.
- Only comma-separated .csv file is supported.
- The OfferID column is a required field.
- Input from the .csv file can be reimported.
2. Creating FlexOffers Rules
Create a mapping using the third option. Create New Input/Source table. On the Rules tab, Click on Add/Edit Offers.
2.1 Add New Rules /Criteria
- Add new rules by selecting Add Rules.
When the new rules are added, the Cell Code column is added with the Default Cell value.
- [Default cell]: when selected, ensure that cellcode is specified at Affinium|Campaign|partitions|<partition>|Interact|whiteList|<audience level>|offersBySQL:defaultCellCode.
- [New cell]: when selected, a new target cell will be created while saving this rule.
2.2 Customizing Rules using Advanced options:
Each Offer rule can be customized using the functionalities available on the advanced options, like setting the Eligibility and Score predicates, applying learning Models, or parameterizing the offer attributes.
Offer eligibility is used to determine whether the offer is eligible or not, even if the rule is enabled. An offer is eligible if it falls in the effective period (between effective and expiration date) and/or expression is evaluated true at runtime. Clicking on the advanced options icon for a rule navigate to offer eligibility.
Every Rule has a default marketer score assigned. The Marketers Score can have a static value, or it can be specified by using an expression on offer attributes. This specified expression is used to calculate the marketer score by the Interact runtime. Set the score for each mapping with a static value or using a predicate.
Parametrize Offer and Apply Learning Models
Parametrized Offer Attributes for the offer can be specified in the FlexOffers rule. Also, the learning models can be applied to influence the suggested offers by the runtime. Edit the Values of Offer Parameters.
Edit offer learning mode and learning model.
2.3 Add, Edit ,Delete and update rule(s)
Different actions like Add, Edit, Delete, Copy can be performed on single or multiple rules at a time.
Add new criteria(column).
Inline edit single/ multiple rule(s)
Once all the required changes are made on the rule, Save the rules.
4. Search FlexOffers
Search functionality is available in both edit and view mode to help search a specific offer based on different attributes.
5. Creating Filters
Filters are created and applied to rules to get the desired offer(s) for the targeted customers. Each filter has conditions on the rule attributes /fields of the Mapping table; filters value could be either a constant value or selected from the list of predefined real-time attributes and mapped profile table attributes. Only offers that satisfy the filter condition are presented to customers. Multiple conditions can be added to the same filter to get the desired offers. Also, multiple Filters can be created on one OfferMapping.
Like, We are creating a filter where OfferName contains Retention.
6. Copying the FlexOfferMapping to server Group
Before you deploy the Interactive Channel, the FlexOffer Mapping table should be copied to profileServerGroup. From the FlexOffers mapping list page, select the desired mapping, and copy it to the selected server group.
Once the mapping is copied to serverGroup, mark the mapping for deployment, and deploy the Interactive Channel.
7. Interact Runtime Process Eligible Filters
While retrieving offers from Interact runtime, the filters are applied as per the below logic :
UACIEnableOfferMappingFilter: When a filter is not marked as default, and the user wants the filter to be applied, he should send the parameter along with the filter Name at startSession or getOffers. A filter marked as default does not necessarily require the parameter to passed explicitly.
UACIDisableOfferMappingFilter: When a filter is marked as default, and we do not want the filter to be applied, we should send the parameter along with the filter Name at startSession or getOffers.
Only Offer Retention satisfying the filter condition is returned.
The below-enlisted tables are added to Interact Design time to support FlexOffers feature.
- UACI_OfferMappingSG- This table contains the information for all FlexOffers and the server groups where the FlexOffers rule tables have been copied.
- UACI_OfferMapping– This is a sample table for FlexOffers rule table and does not contain any data.
- UACI_OfferMappingList– This table contains the FlexOffers mapping information.
- UACI_OfferMappingFilter- This table contains the information about all the available filters on FlexOffers.
- UACI_DepOfferMappingQueue -This table acts as a staging table which holds FlexOffer objects that are marked for deployment. FlexOffer, when marked for deployment, a record is inserted. Once the IC is deployed, the record is removed from this table.
- UACI_DepOfferMappingList– This table contains all info for all deployed FlexOffers. A record is added to the table once the interactive channel is deployed. It is an important table as it is referred by deployment action for subsequent deployment of the same IC having FlexOffers.
Logs to refer
- The runtime logs are written to Interact.log
- The design time logs are written to campaignweb.log
Impact on Upgrades
FlexOffers tab will be available on every IC after upgrade; no manual steps are required. Changes will be in place after the execution of the Design-time upgrade script.
The rules which require frequent updates using the spreadsheet functionalities can be achieved using FlexOffers. Marketers can easily copy the mapping table to the runtime interact nodes and can even create mapping filters before deploying the same. To learn more about FlexOffers, you can reach out to us and understand more about the Unica products.
Wonderful placement of the technical extract. Thank a lot shilpa for sharing this valuable information.
I have also tried NBO using Unica Interact 11.1 to show NBO offer based on real time attributes per customer interest from web page under AEM env.
This is well structured and very informative Blog.
I guess I have to have created the Offer before importing the list. What happens when I import an OfferID that is not yet created?