Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Target cannot retrieve mbox parameter value that I am passing to qualify for Audience

christammm
Level 2
Level 2

I want users to be able to experience an activity on the follow conditions:

- If this is not their first session on the site

- If they have items in their cart

 

To check if they have items in their cart, I've wrote a trackEvent code that will fire once the quantity element is present on the page. 

function paramQuantityLoop(){
        var bagQuantityLooper = setInterval(function(){
             if(document.querySelector('.total-quantity') && document.querySelector('.total-quantity').innerText != ""){
                     adobe.target.trackEvent({
                           "mbox": "customTestMbox",
                           "params": {
                                 "itemsInBag": parseInt(document.querySelector('.total-quantity').innerText),
                            } });
                  clearInterval(bagQuantityLooper);
                }
         },1000);
}
paramQuantityLoop();

 

The parameter is successfully passed when i use the debugger tool in the console:

christammm_4-1587567340821.png

 

 

In my audience configuration, the mbox parameter is available to use as a condition to qualify for the audience.

christammm_0-1587566681767.png

 

However, I haven't been able to successfully qualify for my audience yet. At one point I event wrote a simple profile script in an attempt to retrieve the mbox parameter.

christammm_1-1587566862197.png


However, a quick glance at the response tokens reveals that even my profile script is having issues retrieving the mbox parameter.

christammm_3-1587567094812.png

 

I've been stuck on this for the past day. I've validated that the isFirstSession profile script is functioning properly, so currently the biggest obstacle is trying to properly pass the itemsInBag parameter. Any ideas or advice?

1 Accepted Solution
Amelia_Waliany
Correct answer by
Employee
Employee

Just closing the loop on this great thread! 

 

REPLY from Comments, by @LordOfTheRings:

 

"Hey @Christmann , I have few queries to ask : 
1. On which page are you firing this mbox param ? Is it view cart page ?
2. Which page are you using to target the audience ? If it is not view cart page then do not expect the audience qualification here.

Through this piece of code you are firing a mbox param that will not persist for a session and this will be available for targeting on that page only where it is generated
"mbox": "customTestMbox",
"params": {
"itemsInBag": parseInt(document.querySelector('.total-quantity').innerText),}

If you want to use this param value on some other page for targeting then try using mbox profile param like this :

"mbox": "customTestMbox",
"params": {
"profile.itemsInBag": parseInt(document.querySelector('.total-quantity').innerText),}

now this would be available under Audience ---> Visitor Profile ---> itemsInBag . You can use this audience for targeting on any page post user has added an itme to cart.

Hope that helps you! Happy to discuss this in more details if this doesn't fix the issue."

View solution in original post

4 Replies
LordOfTheRings
Level 7
Level 7

Hey @Christmann , I have few queries to ask : 
1. On which page are you firing this mbox param ? Is it view cart page ?
2. Which page are you using to target the audience ? If it is not view cart page then do not expect the audience qualification here.

Through this piece of code you are firing a mbox param that will not persist for a session and this will be available for targeting on that page only where it is generated
"mbox": "customTestMbox",
"params": {
"itemsInBag": parseInt(document.querySelector('.total-quantity').innerText),
}

If you want to use this param value on some other page for targeting then try using mbox profile param like this :

"mbox": "customTestMbox",
"params": {
"profile.itemsInBag": parseInt(document.querySelector('.total-quantity').innerText),
}

now this would be available under Audience ---> Visitor Profile ---> itemsInBag . You can use this audience for targeting on any page post user has added an itme to cart.

 

Hope that helps you! Happy to discuss this in more details if this doesn't fix the issue.

christammm
Level 2
Level 2
@LordOfTheRings, you are my hero! It worked as you expected!
Amelia_Waliany
Employee
Employee

@LordOfTheRings amazing effort and skill in helping your peer Target Community members! 👏👏👏 Would you be able to copy/ paste your answer from being a Comment to instead being a "Reply" so that @christammm (or I) can mark it as Correct? Thanks so much and hope you have a wonderful day!

Amelia_Waliany
Correct answer by
Employee
Employee

Just closing the loop on this great thread! 

 

REPLY from Comments, by @LordOfTheRings:

 

"Hey @Christmann , I have few queries to ask : 
1. On which page are you firing this mbox param ? Is it view cart page ?
2. Which page are you using to target the audience ? If it is not view cart page then do not expect the audience qualification here.

Through this piece of code you are firing a mbox param that will not persist for a session and this will be available for targeting on that page only where it is generated
"mbox": "customTestMbox",
"params": {
"itemsInBag": parseInt(document.querySelector('.total-quantity').innerText),}

If you want to use this param value on some other page for targeting then try using mbox profile param like this :

"mbox": "customTestMbox",
"params": {
"profile.itemsInBag": parseInt(document.querySelector('.total-quantity').innerText),}

now this would be available under Audience ---> Visitor Profile ---> itemsInBag . You can use this audience for targeting on any page post user has added an itme to cart.

Hope that helps you! Happy to discuss this in more details if this doesn't fix the issue."

View solution in original post