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
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. App Tracking Transparency and IDFA are available on tvOS from version 14.5 onwards.
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