Mapp Engage can be connected to your tracking setup to send user-specific data in real time.
This enables you to enrich customer profiles with behavioral or preference-based information and to trigger automated actions directly in Engage.
Typical use cases include:
Sending dynamic user attributes to Mapp Engage – for example, preferences or behaviors such as “Size Finder used” – to improve segmentation and targeting.
Triggering a Custom Web Event when a user interacts with a specific feature (e.g., a virtual fitting room), which can start an automation workflow in Engage.
Note
To use this functionality, User Matching with Mapp Engage must be enabled.
Details on setup and supported methods can be found in the Engage User Matching section below.
Method | Description | Data Type |
|---|---|---|
constructor | Initializes the Engage data object. | – |
setAttributes | Sends user-specific data to Mapp Engage, which can be stored as Custom Profile Attributes. These attributes can be created and managed directly in Engage. | {[key: string]: string} |
addAttributes | Adds additional user attributes to be transmitted to Mapp Engage. Works like setAttributes, but allows appending values to an existing set. | {[key: string]: string} |
setEventName | Defines the name of the Engage Custom Web Event (e.g. “Size Finder Used”). This event can trigger automations in the Engage Whiteboard. | string |
setEventId | Alternative to eventName. Refers to the numeric Engage Custom Web Event ID as defined in Engage. Typically used in advanced setups. | number |
Generated request parameters
Method | Request parameter | Constant |
|---|---|---|
setAttributes / addAttributes |
|
|
setEventName |
|
|
setEventId |
|
|
construct
const mappEngageData = new MappIntelligenceEngage();setAttributes
Replaces all attributes set before. Values are sent as text; empty strings, NaN, Infinity and values that are no string, number, boolean or bigint (e.g. null, objects) are dropped.
/**
* @param a Sends user-specific data to Mapp Engage, which can be stored as Custom Profile Attributes.
* These attributes can be created and managed in Engage.
*
* @return MappIntelligenceEngage
*/
mappEngageData.setAttributes(a: {[key: string]: string|number|boolean|bigint});addAttributes
Adds the attributes to the ones set before (an existing key is overwritten). The same values are dropped as with setAttributes().
/**
* @param a Sends user-specific data to Mapp Engage, which can be stored as Custom Profile Attributes.
* These attributes can be created and managed in Engage.
*
* @return MappIntelligenceEngage
*/
mappEngageData.addAttributes(a: {[key: string]: string|number|boolean|bigint});setEventName
/**
* @param e Defines the name of the Engage Custom Web Event (e.g. "Size Finder Used"). This can trigger automations in the Whiteboard.
*
* @return MappIntelligenceEngage
*/
mappEngageData.setEventName(e: string);setEventId
/**
* @param e Alternative to eventName. Refers to the Engage Custom Web Event ID as defined in Engage. Mostly used for advanced setups.
*
* @return MappIntelligenceEngage
*/
mappEngageData.setEventId(e: number);const mic = new MappIntelligenceConfig(
"111111111111111",
"analytics01.wt-eu02.net"
);
const mit = new MappIntelligenceTracking(mic);
const mappEngageData = new MappIntelligenceEngage();
mappEngageData.setAttributes({ 'engage.attribute.fittingToolUsed': "true" })
.setEventName("Virtual Fitting Room Used")
.setEventId(12345);
await mit.track((new MappIntelligenceDataMap()).engage(mappEngageData));
await mit.close();User Matching
This feature extends the Mapp Engage integration by enabling direct user matching between Mapp Intelligence and Engage.
It allows you to identify or register users in Engage by transmitting their email address and related contact attributes.
Use this functionality only if the Mapp Engage integration is enabled — it cannot be used standalone.
Typical use cases include:
Registering new contacts in Engage when users sign up or subscribe on your website.
Updating existing Engage contacts with information such as name, gender, or opt-in status.
Associating website activity in Intelligence with known Engage users for automation and segmentation.
Method | Description | Where to analyze |
|---|---|---|
constructor | Initializes a new registration object for user matching with Engage. | – |
setEmail | Email address used to identify the user in Mapp Engage. | Mapp Engage |
setGroupId | Provides the group ID for a new registration in Engage. | Mapp Engage |
setMode | Defines the registration type used in Engage. Determines how new contacts are added to a group:
| Mapp Engage |
setFirstName | First name of the contact in Engage. | Mapp Engage |
setLastName | Last name of the contact in Engage. | Mapp Engage |
setGender | Gender of the contact (u: undisclosed, f: female, m: male). | Mapp Engage |
setTitle | Contact’s title (e.g., Mr., Ms.). | Mapp Engage |
setIsoCode | Country of the contact as a two-letter ISO 3166-1 country code (e.g. | Mapp Engage |
setIsoLanguage | Language of the contact as a two-letter ISO 639-1 language code (e.g. | Mapp Engage |
setTimezone | Time zone of the contact as an IANA time zone name (e.g. | Mapp Engage |
setOptIn | Indicates whether the user has given consent (true: consent, false: no consent). Only when set to true will data be sent to Engage. | Mapp Engage |
Generated request parameters
Method | Request parameter | Constant |
|---|---|---|
setEmail |
|
|
setGroupId |
|
|
setMode |
|
|
setFirstName |
|
|
setLastName |
|
|
setGender |
|
|
setTitle |
|
|
setIsoCode |
|
|
setIsoLanguage |
|
|
setTimezone |
|
|
setOptIn | None. Without | – |
construct
const mappRegistrationData = new MappIntelligenceRegistration();setEmail
/**
* @param e The Email address used to identify the user in Mapp Engage.
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setEmail(e: string);setGroupId
/**
* @param g Provide the group ID in case of a new registration for the user in Mapp Engage.
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setGroupId(g: string);setMode
/**
* @param m Provide the registration method used to register for marketing activities.
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setMode(m: string);setFirstName
/**
* @param f First name of the user to be used in Mapp Engage.
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setFirstName(f: string);setLastName
/**
* @param l Last name of the user to be used in Mapp Engage.
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setLastName(l: string);setGender
/**
* @param g Gender of the user.
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setGender(g: string);setTitle
/**
* @param t The title of the user to be used in Mapp Engage.
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setTitle(t: string);setOptIn
Only with true the registration fields (email, group ID, mode, name, gender, title, ISO code, ISO language, time zone) are sent.
/**
* @param o Provide information that the user consented to use their data.
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setOptIn(o: boolean);setIsoCode
Two-letter ISO 3166-1 country code, e.g. DE.
/**
* @param i The ISO code (country) of the user to be used in Mapp Engage
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setIsoCode(i: string);setIsoLanguage
Two-letter ISO 639-1 language code, e.g. de.
/**
* @param i The ISO language of the user to be used in Mapp Engage
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setIsoLanguage(i: string);setTimezone
IANA time zone name, e.g. Europe/Berlin.
/**
* @param t The time zone of the user to be used in Mapp Engage
*
* @return MappIntelligenceRegistration
*/
mappRegistrationData.setTimezone(t: string);const mic = new MappIntelligenceConfig(
"111111111111111",
"analytics01.wt-eu02.net"
);
const mit = new MappIntelligenceTracking(mic);
const mappRegistrationData = new MappIntelligenceRegistration();
mappRegistrationData.setEmail('john@doe.com')
.setGroupId('abc123')
.setMode('c')
.setFirstName('John')
.setLastName('Doe')
.setGender('m')
.setTitle('Professor')
.setIsoCode('DE')
.setIsoLanguage('de')
.setTimezone('Europe/Berlin')
.setOptIn(true);
await mit.track((new MappIntelligenceDataMap()).registration(mappRegistrationData));
await mit.close();