---
title: "Update Custom User Attributes in Engage Using the Intelligence Pixel"
slug: "update-custom-user-attributes-in-engage-using-the-intelligence-pixel"
updated: 2024-11-07T14:07:36Z
published: 2024-11-07T14:07:36Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Custom User Attributes in Engage Using the Intelligence Pixel

## General Information

To effectively update custom user attributes in Mapp Engage, the Intelligence Pixel offers a streamlined way to set specific user attributes within the Engage platform. This how-to guide will walk you through configuring and using custom user attributes via the Intelligence Pixel

### Prerequisites

**Account Setup**

- Ensure that Mapp Engage and Mapp Intelligence accounts are connected.
- Enable user matching between Mapp Intelligence and Engage (refer to [Mapp Cloud User Matching](https://docs.mapp.com/docs/mapp-cloud-user-matching)).
- Confirm that account settings are compatible with [IPv6](https://portal.document360.io/v1/docs/mapp-intelligence-ipv6-support-faq) and that tracking domains support it if applicable.

**Tracking Pixel Configuration**

- Configure the tracking pixel (see [Smart Pixel Setup & Configuration](https://portal.document360.io/v1/docs/tracking-configuration)).
- Integrate tracking for your website's customer behaviors (e.g., browse abandonment) using unique, consistent event names.

**Custom Attribute Management**

- Create the necessary custom attributes in Engage ([see how](/v1/docs/create-custom-attributes)). This is essential because any missing attribute will cause the entire update request to be ignored.

## Procedure

We are sending information about the product the user has last viewed along with the timestamp when they abandoned the browse, in the form of a custom attribute to Mapp Engage.

1. **Use Pixel Code for Attribute Updates**: Use the Intelligence Pixel code to update user attributes, which could include details like `last_viewed_product`, or `abandonedTimestamp`.

> [!NOTE]
> **Example**
> 
> ```javascript
> window.wtSmart.engage.data.set({
>     attributes: {
>         lastViewedProduct: '12345',           // A string representing the last product viewed
>         abandonedTimestamp: new Date().toISOString()  // ISO 8601 date format for the timestamp
>     }
> });
> ```
> 
> In this example, we are updating two user attributes:
> 
> - `lastViewedProduct` stores the ID of the last viewed product.
> - `abandonedTimestamp` records the time of abandonment in ISO 8601 format, suitable for Engage’s date attribute requirements.
2. **Send the Update Request**: After setting the attributes, call `wtSmart.track()` to send the update request. The attributes are included in the `eaj` parameter within the request URL:

```perl
eaj=%7B%22lastViewedProduct%22%3A%2212345%22%2C%22abandonedTimestamp%22%3A%222024-11-04T12%3A34%3A56.789Z%22%7D
```
