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
MIUserCategoriesbehind the relevant consent state.
MIUserCategories
Property | Description |
|---|---|
| Stable identifier of the user in your system. |
| Given name and family name. |
| User's email address. |
| Receiver ID used for matching with Mapp Engage. See User Matching. |
|
|
|
|
| Postal address fields. |
| Phone number. |
|
|
| Dictionary of numbered custom user categories ( |
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.