Skip to main content
Identity management allows you to track users across different sessions, devices, and platforms by associating multiple identifiers (aliases) with a single user profile.

Single Identity

Multiple Identities

IDFA Provider

Overview

In the iOS SDK, you can set aliases using the setIdentities(aliases:) method. The SDK uses a singleton pattern via Permutive.shared.

Key Concepts

Setting Identity

For apps with a single identifier type:

Security Best Practices

Always hash personally identifiable information like email addresses before sending to Permutive.

Standard Tag Names

Reserved Tags

Some alias tags are reserved by the SDK and cannot be used:
  • appnexus
  • amp
  • gigya
  • sailthru
  • aaid
Aliases with these tags will be ignored.

IDFA Identity

Permutive recommends against using IDFA due to Apple’s App Tracking Transparency requirements. Consider using identifierForVendor or hashed email addresses instead.
From v2.6.0, the IDFA, IDFV, and IP address can be collected automatically when enabled in your workspace config — no manual code required. See the v2.6 Migration Guide. If you opt into automatic collection, you generally don’t need the manual setIdentityForIDFA flow below.
If you do need to set IDFA manually, use the dedicated setIdentityForIDFA method:

IDFA Provider Guide

Complete IDFA integration documentation

Retrieving User ID

Get the current Permutive user ID:

Tracking User ID Changes

Use TriggerAction to react when the user ID changes:

Common Patterns

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

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
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).
Problem: Alias with certain tags is ignored.Solution: Avoid reserved tags: appnexus, amp, gigya, sailthru, aaid. Use custom tags instead.

Best Practices

  • 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 identifierForVendor as a fallback identifier

IDFA Provider

Apple advertising identifier integration

Cohorts & Activations

Understanding user segments

Triggers Provider

React to cohort changes

Issues

Solutions to common issues