Adobe Target - Category Affinity Algorithm - Multiple Values



Does anyone know how the Adobe Target category affinity algorithm treats multiple values passed to the user.categoryId mbox parameter? Let’s say that I have the following journey. Each entry includes the following:
{Page Sequence Number}: [Value passed in user.categoryId mbox parameter] (Page context, I.e. what purpose it serves in the journey)
Are all categories included in the first page given 10 points?
  1. Page 1: [“business unit 1”, “business unit 2", “business unit 3”] (A hub page with all multiple services listed)
  2. Page 2: [“business unit 2", “business unit 3”] (A product category page with several services listed)
  3. Page 3: [“business unit 3"] (A specific product page)


Per the documentation, multiple values are possible but it doesn't include an example for how they are valued. 

Separate categories with a comma to include an item in multiple categories. For example:
  • user.categoryId=clothing,shoes,nike,running,nike clothing,nike shoes,nike running shoes


Accepted Solutions (0)

Answers (1)

Answers (1)



I did do some testing with this. 


When I load Target, an empty value is sent as a user.categoryId so that's why you'll see it as an entry. Here are the steps for a quick test. 


1. Load the homepage with the mboxtrace parameters in an incognito window.

2. Push an event including the user.categoryId parameter with multiple, comma-separated values to Adobe Target using the console--see code below.{ 
    "mbox": "target-global-mbox", 
    "params": { 
        "user.categoryId": "one,two,three,four,five"



3. Open the network log and find the Target requests--search "json?mbox" and open the second request--the one associated with the Adobe Target event. See below for the output for Affinity Category. I believe that the reason that "one" is not present here is that Adobe Target's affinity category algorithm truncates any category beyond five categories. I hope that someone from Adobe can chime in here as I don't understand the logic for for the score for multiple categories. 


CategoryAffinity[visitedEnvironments = [23427], categoryAffinities = {
    23427 = [
        CategoryAffinity.CategoryAffinityValue[categoryId = four, score = 7.0], 
        CategoryAffinity.CategoryAffinityValue[categoryId = , score = 6.0], 
        CategoryAffinity.CategoryAffinityValue[categoryId = five, score = 5.0], 
        CategoryAffinity.CategoryAffinityValue[categoryId = three, score = 4.0], 
        CategoryAffinity.CategoryAffinityValue[categoryId = two, score = 3.0]