So I know I can set user info details with this snippet:

_etmc.push(["setUserInfo", {
    "email": "somebody@email.com",
    "details": {
        "foo": "bar"

But how do I use these custom "details"? Specifically...

  1. Does it populate in a data extension somewhere? I don't know what sets the data for the attributes and values 1-5 in IGO_PROFILES.
  2. Do they (or can they) relate to catalogue items? If so, how can I map these attributes/tags?
  3. Do I use a tilda (~) to separate multiple values like we do with content item tags?
  4. Can I use this in personalization rules and/or scenarios, and how if so?

I can't really find any documentation on the "details" property, but I've seen examples of it where it's set the "gender" of the user.

In my mind, I'm thinking that I can assign tags or keywords like "football" to catalogue items, and then if a user has a custom attribute like "interests" set to "football" in some profile setting, then the personalization studio engine could recommend or emphasize content with "football" to that user. Is this a thing? Thanks in advance!


Thanks! I'm new to this forum and couldn't find an existing question when I searched. However, the question you marked as a duplicate did not answer all of my specifics (though it did answer some! So I appreciate the link), like how to separate multiple values. Is it comma, pipe, or tilda separated?

_etmc.push(["setUserInfo", {
    "email": "somebody@email.com",
    "details": {
        "favorite_foods" : "eggs~toast~cheese",//Tilda separated??
        "favorite_colors" : "red|yellow|blue",//Pipe separated??
        "favorite_sports" : "football,lacrosse,cricket",//Comma separated??

Also, @EazyE mentioned this in their answer, quoted from this documentation (which I already found, but didn't understand):

Match a contact attribute to a tagged catalog field to increase the subscriber's affinity for the value of that contact attribute. The amount of increase is less than what results from a purchase but more than the increase from a view.

Does that mean the key, like "foo" in my first example snippet, should match something in the "updateItem" call if I want to build that connection?

_etmc.push(["updateItem", {
    "item_type": "content",
    "item": "1234", // CONTENT_ID
    "url": "https://example.com/1234/",
    "available": "Y",
    "foo": "bar"//This can be matched to users??
    "favorite_foods": "eggs~pancakes~bacon"//Or this??
  • I edited my question to further explain why the question that was marked as a duplicate did not fully address mine. Thank you. – Tessa Dec 3 '19 at 13:49

These attributes are not designed to be a multi-value field. At least thats what i have heard from Salesforce regarding this matter plus they are purely used to activate rules. Its just conditions for rules that you can write with those.

These values are used inside the rule engine to define "custom attributes". Therefore its these are values like "gender", "country" oder other classifikation attributes like "customer_segment".

Later on you can see them under web recommendations -> Reporting -> Contacts -> Load Random profile [or do a real number / email] It looks like this there: enter image description here

Also once set, these user details are undeletable only the values can be overwritten, but the attribute will stay (even if you won't transfer it any longer). They will remain as user attribute in the contact info tab of the recommendation engine. Only a complete deletion/wipe of all tracking data of the personalization builder will be able to delete these values. A complete deletion of salesforce predictive data can only be done via a support ticket.

Keep in mind that these values will only be used in the rule engine to trigger the activation of certain rules. For example a rule could be on a specific salesforce recommendation site and would only be triggered if "custom attribute" which you would then configure as "gender", like it is named in your user details tracking, is "female".

enter image description here

When your products would have something like a "forGender" attribute the rule would then be something like "Include Products where "forGender" is "female"" Obviously you would then have to write a second rule where it would be Activate the Rule when the customer has "custom attribute" alias "user details" "gender" is "male" and the action "Include Products where "forGender" is "male""

It would be a good addition to have multi-value fields in there. Maybe you could create an idea for it on the idea plattform?

I hope this cleared things up a bit?

If you have any question in this matter just write a comment ;)

  • I think so. It definitely helps me find where to see a user's data to know if it's updating correctly and clears up the multi-value situation (I guess I'll be sending the names as custom attributes with a "Y" or "N" value instead), though this doesn't really seem intuitive with the automated part of matching an attribute to a catalog field to build that affinity (not your fault, obviously). Can you include a link to the idea platform? I'd like to check it out :) – Tessa Dec 3 '19 at 16:03
  • 1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.