--- title: "Users" slug: "mapp-intelligence-ios-sdk-v5-users" updated: 2026-04-30T11:48:55Z published: 2026-04-30T11:48:55Z canonical: "docs.mapp.com/mapp-intelligence-ios-sdk-v5-users" --- > ## 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. # Users 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`. Before you start, complete the [Quickstart](/v1/docs/mapp-intelligence-ios-sdk-v5-quickstart) so the SDK is initialized. > [!CAUTION] > **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](/v1/docs/mapp-intelligence-ios-sdk-v5-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 (`NSNumber` → `NSString`). | --- ## Example Build an `MIUserCategories` with the user information you have, then attach it to a page or action event. **Swift** ```swift 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) ``` **Objective-C** ```objectivec 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](/v1/docs/mapp-intelligence-ios-sdk-v5-get-user-ever-id) and [User Matching](/v1/docs/mapp-intelligence-ios-sdk-v5-user-matching). --- ## Related - [Quickstart](/v1/docs/mapp-intelligence-ios-sdk-v5-quickstart) - [Object Oriented Tracking](/v1/docs/mapp-intelligence-ios-sdk-v5-object-oriented-tracking) - [Anonymous Tracking](/v1/docs/mapp-intelligence-ios-sdk-v5-anonymous-tracking) - [Pages](/v1/docs/mapp-intelligence-ios-sdk-v5-pages) - [Sessions](/v1/docs/mapp-intelligence-ios-sdk-v5-sessions)