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

Is it possible to access mbox / user profile data through JavaScript?

amberb67455123
Level 1
Level 1

I'm trying to work with user profile data (category affinity specifically) to implement a custom solution. I'm wondering if it's possible to read that data using JavaScript rather than using Target's built-in category affinity options. I can see this data in the mbox JSON file that's being loaded on our site if I enable the Target trace, but I haven't found a way to access that data programmatically.

1 Accepted Solution
ryanr701
Correct answer by
Employee
Employee

Hi @amberb67455123,

Are you trying to get a visitor's category affinity value back to the page so you can run some client-side JS with it? If that is what you are trying to do you can create a custom modification offer in the VEC that writes a script back to the page and sets the category affinity value to some JS variable. To write Target profile values into experience content/offers see this help doc: https://experienceleague.adobe.com/docs/target/using/experiences/offers/passing-profile-attributes-t.... I think the way to pass category affinity would be with: ${user.endpoint.categoryAffinity}. So you could create a custom modification like this:

 

<script>var catAff = "${user.endpoint.categoryAffinity}";</script>

 

And then your client-side JS could reference the catAff value as needed.

View solution in original post

7 Replies
ryanr701
Correct answer by
Employee
Employee

Hi @amberb67455123,

Are you trying to get a visitor's category affinity value back to the page so you can run some client-side JS with it? If that is what you are trying to do you can create a custom modification offer in the VEC that writes a script back to the page and sets the category affinity value to some JS variable. To write Target profile values into experience content/offers see this help doc: https://experienceleague.adobe.com/docs/target/using/experiences/offers/passing-profile-attributes-t.... I think the way to pass category affinity would be with: ${user.endpoint.categoryAffinity}. So you could create a custom modification like this:

 

<script>var catAff = "${user.endpoint.categoryAffinity}";</script>

 

And then your client-side JS could reference the catAff value as needed.

View solution in original post

amberb67455123
Level 1
Level 1
That's exactly what I'm trying to do, thanks! This all makes sense but when I try to implement it, the script shows up under "AT: Failed actions" in the console and does not run (so the variable is not available for client side code). I was able to see the category affinity when adding it in HTML (wrapped in <p>), but for some reason when trying to assign it to a variable in JavaScript it is failing. The code I used is exactly what you have above, and I added it as a custom code modification in an XT activity. If you have any ideas on how to get past this issue, that would be great! If not, thanks for pointing me in the right direction.
ryanr701
Employee
Employee

Ah...so AT: Failed actions often means there is an error in the JS. Reviewing my sample above I see the error. I didn't put quotes around the category affinity. I've correct the original response.

Rajini567
Level 1
Level 1
@ryanr701 similar is it possible to access parameters values using some scripts?
Rajini567
Level 1
Level 1
@ryanr701 similar is it possible to access mbox parameters values using scripts? Let's say I have an array in my global mbox storing last three pages viewed by the user. I want to access these values and use it for some other purpose outside of target.