Personalized Offers and Deals
Business Goal: We want to show our customers sales pages that are targeting brands and categories that they are interested in.
This can be accomplished by using 2 aspects of the platform:
- Ability to get the most popular navigations for a specific visitor (that is, to know which brands and navigations they clicked on the most)
- Ability to layer in additional biases on the fly as part of the Search API events
In the above preview you can see how a generic landing page transforms into tailored results.
By using bias and not filter we ensure that if there are not enough products in the preferred categories, the shopper will still see the remaining products.
Getting Popular Navigations For A Visitor
We will use the refinements
endpoint to get the popular refinements for a specific visitor.
You can use visitorId
or loginId
, depending on the available customer data:
curl -H "Authorization: --clientKey--" \
-XPOST "https://--customerId--.groupbycloud.com/wisdom/v2/recommendations/refinements/_getPopular" \
-d '{"window":"month", "matchExact":{"and":[{"visit":{"customerData":{"visitorId":"--current visitor ID--"}}}]}}'
curl -H "Authorization: --clientKey--" \
-XPOST "https://--customerId--.groupbycloud.com/wisdom/v2/recommendations/refinements/_getPopular" \
-d '{"window":"month", "matchExact":{"and":[{"visit":{"customerData":{"loginId":"--current login ID--"}}}]}}'
The response will look like:
{
"status": {
"code": 200,
"message": "OK",
"additionalInfo": null
},
"result": [
{
"name": "category1",
"values": [
{
"value": "Women",
"count": 4
}
]
},
{
"name": "category2",
"values": [
{
"value": "Women's Shoes",
"count": 4
}
]
},
{
"name": "brand",
"values": [
{
"value": "Nike",
"count": 3
},
{
"value": "Aldo",
"count": 2
},
{
"value": "Nine West",
"count": 1
}
]
}
],
"serverTimestamp": "2017-04-01T01:01:01+00:00"
}
{
"biasing": {
"influence": 5,
"augmentBiases": true,
"biases": [
{
"name": "category1",
"content": "Women",
"strength": "Strong_Increase"
},
{
"name": "category2",
"content": "Women's Shoes",
"strength": "Strong_Increase"
},
{
"name": "brand",
"content": "Nike",
"strength": "Strong_Increase"
},
{
"name": "brand",
"content": "Aldo",
"strength": "Strong_Increase"
},
{
"name": "brand",
"content": "Nine West",
"strength": "Medium_Increase"
}
]
}
}
Note that for the navigation with the fewest clicks we apply a Medium_Increase
strength.
The way that biasing works is that:
- items that match the most biases will rise the highest
- items that match fewer items, will be below those
- finally, items that matched no biases - but are still within the recall set - will be returned below that.
This means that if we are sold out of all the preferred brands, the sales page will still show Women’s Shoes, or at least Women’s category items.