Overview
The Permutive iOS SDK enables user segmentation, personalization, and ad targeting in your iOS and tvOS applications. Track user behavior, manage identities across devices, and deliver targeted advertising through integrations with major ad platforms. Current Version: 2.2.0Platform Support: The SDK supports iOS 12.0+ and tvOS 12.0+. Both platforms share the same API with minor differences noted in the documentation.
Getting Started
New to the Permutive iOS SDK? Start here.Quick Start Guide
Get up and running with your first page view in minutes
Installation
CocoaPods and Swift Package Manager setup
Initialization
SDK initialization patterns and configuration
Verification
Verify your integration is working correctly
Core Concepts
Understand the fundamental concepts of the Permutive SDK.Identity Management
Track users across devices and sessions
Event Properties
Structure and validate event data
Cohorts and Activations
Understanding user segmentation
Contextual Data
Content-based real-time targeting
Features
Detailed guides for specific SDK features.Page Tracking
Track pageviews and user engagement (recommended approach)
Event Tracking
Track custom events
Video Tracking
Track video content viewing
Video Ad Tracking
Track video advertisement engagement
Triggers Provider
React to cohort changes in real-time
Integrations
Connect Permutive with ad platforms and other services.View All Integrations
Google Ad Manager, Xandr, and more
IDFA Provider
Apple advertising identifier tracking
Common Tasks
Track a Page View (Recommended)
Track a Page View (Recommended)
PageTracker is the recommended approach for tracking user interactions as it integrates with Permutive’s standard events and provides richer insights.
Set User Identity
Set User Identity
React to Cohort Changes
React to Cohort Changes
Target Google Ads
Target Google Ads
Requirements
| Requirement | Version |
|---|---|
| iOS | 12.0+ |
| tvOS | 12.0+ |
| Xcode | 13.0+ |
| Swift | 5.0+ |
- Swift Package Manager
- CocoaPods
Add the package URL in Xcode:Select
Permutive_iOS as the package product.Key Concepts
Cohorts vs. Activations
Cohorts vs. Activations
- **Cohorts**: All segments a user belongs to - **Activations**: Cohorts configured for specific ad platforms
Behavioral vs. Contextual
Behavioral vs. Contextual
- **Behavioral**: Based on user history (e.g., "sports enthusiast") - **Contextual**: Based on current content (e.g., viewing sports article right now)
Identity Resolution
Identity Resolution
Multiple identifiers (email, user ID, ad ID) linked to single user profile for cross-device tracking.
Additional Resources
- Reference
- Platform Notes
API documentation and technical reference.
- API Reference - Complete API documentation
- Apple Privacy Information - App Store privacy requirements
FAQ
What's the difference between PageTracker and direct event tracking?
What's the difference between PageTracker and direct event tracking?
PageTracker is the recommended approach for most use cases. It automatically tracks Pageview events, measures engagement time, and enables contextual cohorts when URLs are provided.Direct event tracking via
track(event:properties:) is for specialized cases where you need to track custom events that don’t fit the page model.How do I enable debug logging?
How do I enable debug logging?
Enable logging in your initialization options:Messages will appear in the Xcode console.
What identifiers should I use for identity management?
What identifiers should I use for identity management?
Use hashed emails (SHA-256), internal user IDs, or the vendor identifier (
identifierForVendor). Never send plain text PII. See the Identity Management guide for details.Should I use IDFA?
Should I use IDFA?
Permutive recommends against using IDFA due to Apple’s App Tracking Transparency requirements. Consider using
identifierForVendor or hashed email addresses instead. See the IDFA Provider guide if you do need IDFA.Getting Help
- Troubleshooting Guide - Solutions to common issues
- Customer Success Manager (CSM) - For enabling features and exploring use cases
- Technical Services - For technical setup and configuration
- Support - For troubleshooting and help