Update Profile Node
  • 23 Aug 2024
  • 2 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Update Profile Node

  • Dark
    Light
  • PDF

Article summary

We have included an Interactive Training to provide a more engaging and visual learning experience. End users are required to complete their training through the CSG University.


The Update Profile Node synchronizes the data from the current graph to the Xponent Identity Manager and updates the Profile part of the schema. This includes merging (or collapsing) one or more profiles in the profile store and returning a single profile. 

In the prior graphs, user identifiers, interaction types, and attributes were stored in databases via various logic nodes - For Example:

With the Update Profile Node, the workflow can be made to be much simpler - For Example:

To make the transition from your current graph to start using the new Update Profile and Save Interaction nodes, please see your Professional Services team member to evaluate the best approach for making the transition.

For details on managing the Identifier Type and understanding how the Xponent Identity Manager works, Please refer: Xponent ID Manager.

Profile Merging

When the Xponent Engine executes the Update Profile Node, the following takes place: 

  • The identifiers currently in the Identifiers section are used to find all profiles that match 
  • All of these profiles are merged down, keeping the oldest profile 
  • The Attributes from the Schema are merged into the remaining profile 
  • The merged set of Identifiers, Attributes, Journey Steps, and Interactions are all returned once the node has completed

If no profile exists, then a new profile will be created from the Identifiers and Attributes in the schema at the point in the graph where the node was executed.

The rules for merging the attributes follow the general principle that newer information will always overwrite older information. The merge process is equivalent to the lodash merge object function. 

For each data type, the rules are as follows: 

  • Integer and Floating Point - the newest is kept 
  • Strings - newest is kept
  • Arrays - result values are chosen from the first array where the value occurs.
  • Objects - newer keys are kept, new keys are merged 

Examples

The examples below show what will happen if you use the Update Profile Node given the current Schema setting, the state of the Profile in the Xponent Profile Store, and then the returned merged object. 

Consider, the current state of the schema is: 

JavaScript
{
    "Profile": {
        "Identifiers": {
            "email": [
                "myworkemail@domain1.com"
            ]
        },
        "Attributes": {
            "Integer": 1,
            "Float": 12.34,
            "String": "Hello",
            "Object": {
                "key1": "val1",
                "key2": "val2"
            },
            "Array": [
                1,
                2,
                3,
                4
            ]
        },
        "JourneySteps": [],
        "Interactions": []
    }
}

After the Profile is merged:


Is it helpful? React and share your comment

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Eddy AI, facilitating knowledge discovery through conversational intelligence