Users

Prev Next

User categories let you attach known information about the current user — name, email, address, gender, customer ID — to any tracking event. The iOS SDK exposes this through MIUserCategories.

Privacy: Only send personally identifiable user data after the user has explicitly consented to analytics tracking. If you use a consent management platform, gate MIUserCategories behind the relevant consent state.

MIUserCategories

Property

Description

customerId

Stable identifier of the user in your system.

firstName / lastName

Given name and family name.

emailAddress

User's email address.

emailReceiverId

Receiver ID used for matching with Mapp Engage. See User Matching.

gender

MIGender enum.

birthday

MIBirthday struct (day, month, year).

street / streetNumber / zipCode / city / country

Postal address fields.

phoneNumber

Phone number.

newsletterSubscribed

BOOL indicating newsletter subscription state.

customCategories

Dictionary of numbered custom user categories (NSNumberNSString).

Example

let user = MIUserCategories(customProperties: [
    1: "premium",
    2: "ios-app"
])
user.customerId = "user-12345"
user.firstName = "Jamie"
user.lastName = "Doe"
user.emailAddress = "jamie.doe@example.com"
user.country = "DE"
user.newsletterSubscribed = true

let pageEvent = MIPageViewEvent(name: "Account")
pageEvent.userCategories = user

MappIntelligence.shared()?.trackPage(pageEvent)
MIUserCategories *user = [[MIUserCategories alloc] initWithCustomProperties:@{
    @1: @"premium",
    @2: @"ios-app"
}];
user.customerId = @"user-12345";
user.firstName = @"Jamie";
user.lastName = @"Doe";
user.emailAddress = @"jamie.doe@example.com";
user.country = @"DE";
user.newsletterSubscribed = YES;

MIPageViewEvent *pageEvent = [[MIPageViewEvent alloc] initWithName:@"Account"];
pageEvent.userCategories = user;

[[MappIntelligence shared] trackPage:pageEvent];

User identity vs everID

The everID (eid) is the SDK's anonymous device identifier. customerId is your own user ID. Both can be present on the same request — Mapp Intelligence uses them for different join paths in reporting. See Get the User Ever ID and User Matching.

Related: Anonymous Tracking, Pages, Sessions.