Single Identity
Multiple Identities
IDFA Provider
Overview
In the iOS SDK, you can set aliases using thesetIdentities(aliases:) method. The SDK uses a singleton pattern via Permutive.shared.
Key Concepts
Alias
Alias
Identity Resolution
Identity Resolution
Priority System
Priority System
Setting Identity
- Single Alias
- Multiple Aliases
For apps with a single identifier type:
Security Best Practices
- Correct - Hashed
- Incorrect - Plain Text
Standard Tag Names
| Identifier Type | Recommended Tag | Notes |
|---|---|---|
| SHA-256 hashed email | email_sha256 | Most common |
| Internal user ID | internal_id or user_id | Your system’s ID |
| Vendor identifier | idfv | UIDevice.identifierForVendor |
| Customer ID | customer_id | E-commerce systems |
| Subscriber ID | subscriber_id | Subscription services |
Reserved Tags
Some alias tags are reserved by the SDK and cannot be used:appnexusampgigyasailthruaaid
IDFA Identity
Permutive recommends against using IDFA due to Apple’s App Tracking Transparency requirements. Consider using
identifierForVendor or hashed email addresses instead.setIdentityForIDFA method:
IDFA Provider Guide
Complete IDFA integration documentation
Retrieving User ID
Get the current Permutive user ID:Tracking User ID Changes
UseTriggerAction to react when the user ID changes:
Common Patterns
Login Flow
Login Flow
Using Vendor Identifier
Using Vendor Identifier
Guest to Logged-In Transition
Guest to Logged-In Transition
Expiry
Aliases can expire automatically, useful for GDPR compliance, session identifiers, and temporary access tokens.tvOS Considerations
tvOS Note: Identity management works identically on tvOS. However, IDFA and App Tracking Transparency are not available on tvOS. Use
identifierForVendor or hashed email as primary identifiers.Troubleshooting
Identity not resolving
Identity not resolving
Problem: Setting identity doesn’t merge user data across devices.Solutions:
- Check network connectivity
- Verify the alias has been used in other sessions/devices
- Enable debug logging:
options.logModes = LogMode.all - Look for identity-related logs in the console
User identity split
User identity split
Problem: Same user appears as two different users.Solution: Use consistent alias tags and values. When a user logs in on multiple devices, use the same alias (e.g., hashed email).
Reserved tag error
Reserved tag error
Problem: Alias with certain tags is ignored.Solution: Avoid reserved tags:
appnexus, amp, gigya, sailthru, aaid. Use custom tags instead.Best Practices
- Do
- Don't
- Hash PII (especially email addresses) before setting as identity
- Use meaningful tag names that describe the identifier type
- Set priorities based on reliability and persistence
- Use expiry dates for temporary or less reliable identifiers
- Set identity as early as possible in the user journey
- Use
identifierForVendoras a fallback identifier
Related Documentation
IDFA Provider
Apple advertising identifier integration
Cohorts & Activations
Understanding user segments
Triggers Provider
React to cohort changes
Issues
Solutions to common issues