Updates properties on the existing user
These operations provide you with the ability to manage the current user's data. The operations allow for additional user properties to be uploaded to ZetaHub or changed from their current values.
User Updates are blocking JavaScript calls.
bt('updateUser', properties, settings={});The updateUser call has the following fields:
| Field | Type | Description |
|---|---|---|
properties | Object | A JSON object containing properties to add to the current user |
settings optional | Object | Settings specific to this event. Currently supports specification of onComplete, onSuccess, and onFailure callback functions. See Settings below for more information. |
Properties
While any JSON data can be supplied as user properties, a few properties are standardized and specially handled by Zeta's systems.
| Property | Type | Description |
|---|---|---|
first_name | String | The first name of the user. |
last_name | String | The last name of the user. |
name | String | The full name of the user. Note that unless a user has this property set, the user's name will appear in ZetaHub as a concatenation of their first_name and last_name. |
email | String | The email address of the user. |
user_id | String | A unique identifier for the user. |
signed_up_at | ISO-8601 Timestamp String | The date at which a person signed up. |
contacts | Array of objects | One or more contacts for this user. Each contact should be a hash/object with A The If a contact with the given |
clearIdentified | Boolean | Highly recommended when using LIVE ID Graph identifiers 1. Otherwise, the |
Settings
The settings object is used for configuring the updateUser call.
Three settings objects are currently allowed for updateUser calls using the p13n.js library:
| Object | Description |
|---|---|
onComplete | This setting allows the caller to specify a callback function once the updateUser function has completed. The function will be called regardless of whether the update to the user was successful or not. The function should have no parameters (nothing will be passed to it). |
onFailure(error) | This setting allows the caller to specify a callback function if the updateUser function has completed with an error. The error raised by the updateUser function will be passed into this callback. |
onSuccess | This setting allows the caller to specify a callback function once the updateUser function has completed successfully. The function should have no parameters (nothing will be passed to it). |
bt('updateUser',
{user_id: 'abcde123'},
{onComplete: function()
{ console.log('User Update Completed!'); }
}
);bt('updateUser',
{user_id: 'abcde123'},
{onFailure: function(err)
{ console.log('Update completed with error: ' + err); }
}
);bt('updateUser',
{user_id: 'abcde123'},
{onSuccess: function()
{ console.log('Update completed successfully!'); }
}
);updateUser with LIVE ID Graph
Please see this page for more information regarding the LIVE ID Graph before getting started
| Property | Type | Description |
|---|---|---|
unique_client_ids | Array of Objects. | An array of objects which contain a name and value. Where name is the key corresponding to the configured name of your identifier and value is the key for the value of the identifier which belongs to the profile |
clearIdentified | Boolean | Highly recommended when using LIVE ID Graph identifiers See properties section above for more info. |
bt('updateUser',
{"unique_client_ids":[
{
"name":"subscriber_id",
"value":"A00001
}
],
"clearIdentified":true
}
);bt('updateUser',
{"unique_client_ids":[
{
"name":"subscriber_id",
"value":"A00001
}
],
"user_id":"A123",
"clearIdentified":true
}
);Note when using unique_client_ids in the updateUser function, it is possible to merge two existing ZMP profiles together, if you provide a primary ZMP identifier (email or user_id) and a unique_client_id when those resolve to 2 different profiles already in ZMP - if this happens the profiles will be merged and a profile_consolidation event will be visible on the profile

