User

Prev Next

User tracking in Mapp Intelligence enables you to identify visitors based on unique customer information rather than relying solely on cookies. This ensures consistent user recognition, even when cookies are deleted, browsers are switched, or users access your website from different devices.

Note on Data Privacy

Always transmit personal information in encrypted or hashed form.

Mapp recommends using SHA256 or MD5 hashing to ensure compliance with data-protection standards.

User data can be sent to Mapp Intelligence after a successful login, registration, or purchase.

Each user is identified through a Customer ID and can optionally be enriched with User Categories for segmentation and analysis.


Customer ID

The Customer ID serves as a unique identifier for a user.

It can be:

  • a customer number from your CRM or shop system, or

  • the user’s email address.

Note

If an email address is used, it must be encrypted or hashed before transmission to comply with data-protection requirements. Mapp recommends using SHA256 or MD5 hashing to ensure that the email address cannot be read directly.


User Categories

User Categories capture additional attributes about a user, for example loyalty level, subscription type, or login source. They allow you to enrich user profiles with contextual or behavioral data for deeper segmentation and analysis.

They must also be configured in Mapp Q3 before tracking. Find more information here.

When implementing, include the ID number and the value as a string.


Method

Description

Where to configure *

Where to analyze

constructor

Initializes a user object and defines the unique Customer ID.

–

Visitors > User Relationship Management > Custom Visitor ID

setId

Sets the Customer ID, a unique identifier from your CRM, shop system, or hashed email address.

–

Visitors > User Relationship Management > Custom Visitor ID

setCustomIdentifier

Defines a secondary unique identifier for the user (optional).

–

Visitors > User Relationship Management > Custom Visitor ID

setEmail

Transmits the user’s email address. Hash or encrypt the address before you pass it, the library does not hash it.

–

Visitors > User Relationship Management > [Name of User Category]

setEmailRID

Transmits the user’s email receiver ID for linking marketing communications with behavior data.

–

Visitors > User Relationship Management > [Name of User Category]

setEmailOptin

Tracks whether the user has granted email permission (opt-in status).

–

Visitors > User Relationship Management > [Name of User Category]

setFirstName

Transmits the user’s first name.

–

Visitors > User Relationship Management > [Name of User Category]

setLastName

Transmits the user’s last name.

–

Visitors > User Relationship Management > [Name of User Category]

setTelephone

Transmits the user’s telephone number.

–

Visitors > User Relationship Management > [Name of User Category]

setGender

Tracks the user’s gender (1 = male, 2 = female).

–

Visitors > User Relationship Management > [Name of User Category]

setBirthday

Transmits the user’s date of birth (YYYYMMDD).

–

Visitors > User Relationship Management > [Name of User Category]

setCountry

Transmits the user’s country.

–

Visitors > User Relationship Management > [Name of User Category]

setCity

Transmits the user’s city.

–

Visitors > User Relationship Management > [Name of User Category]

setPostalCode

Transmits the user’s postal code.

–

Visitors > User Relationship Management > [Name of User Category]

setStreet

Transmits the user’s street.

–

Visitors > User Relationship Management > [Name of User Category]

setStreetNumber

Transmits the user’s street number.

–

Visitors > User Relationship Management > [Name of User Category]

setValidation

Enables validation for overwriting existing user category values.

–

Visitors > User Relationship Management > [Name of User Category]

setCategory

Adds or updates a User Category to describe additional user attributes. User Categories must be created beforehand in Mapp Intelligence.

UC > New Category

Visitors > User Categories > [Name of Category]

* Configuration Path Abbreviations:

  • UC = Mapp Q3 > Configuration > Categorization > URM Categories > …

Generated request parameters

Method

Request parameter

Constant

constructor / setId

cd

CUSTOMER_ID

setCustomIdentifier

ceid

CUSTOM_EVER_ID

setEmail

uc700

EMAIL

setEmailRID

uc701

EMAIL_RID

setEmailOptin

uc702

EMAIL_OPTIN

setFirstName

uc703

FIRST_NAME

setLastName

uc704

LAST_NAME

setTelephone

uc705

TELEPHONE

setGender

uc706

GENDER

setBirthday

uc707

BIRTHDAY

setCountry

uc708

COUNTRY

setCity

uc709

CITY

setPostalCode

uc710

POSTAL_CODE

setStreet

uc711

STREET

setStreetNumber

uc712

STREET_NUMBER

setValidation

uc713

CUSTOMER_VALIDATION

setCategory

uc<ID>

CUSTOM_URM_CATEGORY

Note

Values that are empty or exactly 0, 0.0, false or {} are not transmitted. For example, setEmailOptin(false) is not sent, so an opt-out cannot be transmitted this way, and neither is a category with the value 0 or false. To transmit such a value, send the request with a parameter map (see Request Parameters).

constructor

/**
 * MappIntelligenceCustomer constructor.
 * @param string $id
 */
$customerData = new MappIntelligenceCustomer($id);

setId

/**
 * @param string $id
 * @return $this
 */
$customerData->setId($id);

setCustomIdentifier

/**
 * @param string $customIdentifier Use this to transmit a unique custom identifier of the user (ceid)
 * @return $this
 */
$customerData->setCustomIdentifier($customIdentifier);

setEmail

/**
 * @param string $email
 * @return $this
 */
$customerData->setEmail($email);

The library does not hash or encrypt any value. Hash personal data such as the email address yourself (for example with SHA-256) before you pass it.

setEmailRID

/**
 * @param string $emailRID
 * @return $this
 */
$customerData->setEmailRID($emailRID);

setEmailOptin

/**
 * @param bool $emailOptin
 * @return $this
 */
$customerData->setEmailOptin($emailOptin);

setFirstName

/**
 * @param string $firstName
 * @return $this
 */
$customerData->setFirstName($firstName);

setLastName

/**
 * @param string $lastName
 * @return $this
 */
$customerData->setLastName($lastName);

setTelephone

/**
 * @param string $telephone
 * @return $this
 */
$customerData->setTelephone($telephone);

setGender

/**
 * @param int $gender
 * @return $this
 */
$customerData->setGender($gender);

setBirthday

/**
 * @param string $birthday
 * @return $this
 */
$customerData->setBirthday($birthday);

setCountry

/**
 * @param string $country
 * @return $this
 */
$customerData->setCountry($country);

setCity

/**
 * @param string $city
 * @return $this
 */
$customerData->setCity($city);

setPostalCode

/**
 * @param string $postalCode
 * @return $this
 */
$customerData->setPostalCode($postalCode);

setStreet

/**
 * @param string $street
 * @return $this
 */
$customerData->setStreet($street);

setStreetNumber

/**
 * @param string $streetNumber
 * @return $this
 */
$customerData->setStreetNumber($streetNumber);

setValidation

/**
 * @param bool $validation
 * @return $this
 */
$customerData->setValidation($validation);

setCategory

/**
 * @param int $id
 * @param string $value
 * @return $this
 */
$customerData->setCategory($id, $value);

The IDs 700 to 713 are used by the predefined user fields (setEmail to setValidation). Do not use them with setCategory, otherwise one value overwrites the other.

$customerData = new MappIntelligenceCustomer();
$customerData
	->setId('user5684798169')
	->setEmailRID('')
	->setEmailOptin(true)
	->setGender(1)
	->setValidation(true)
	->setCategory(5, 'login');

$mappIntelligence = MappIntelligence::getInstance();
$mappIntelligence->track((new MappIntelligenceDataMap())->customer($customerData));