LimitedRound 2 is open. Get your first month free, no extra charge.Join the waitlist ›
iOS, defined

What is the IDFA?

TL;DR. The IDFA, short for Identifier for Advertisers, is a per-device identifier Apple provides so advertisers can measure and target ads without using a name or email. Since App Tracking Transparency, an app can access a usable IDFA only after the user grants tracking permission; otherwise it reads back as all zeros.

The IDFA, or Identifier for Advertisers, is a per-device random identifier that Apple provides so advertisers can measure and target ads without relying on a name or email. It is the value ad networks and attribution tools historically used to tell that the same device saw an ad and later installed an app. Since App Tracking Transparency, an app can read a usable IDFA only after the user grants permission.

What the IDFA is and what it does

The IDFA is a string assigned at the device level rather than to a specific person. Its job is measurement and targeting: matching an ad impression to an install or purchase, deduplicating users across campaigns, and letting ad systems target without exposing direct personal details. Because it is per-device and resettable in Settings, it is meant to balance advertising needs against identifying someone by name. On its own the IDFA is just an identifier; its value comes from the systems that link events to it.

How App Tracking Transparency changed the IDFA

Before iOS 14.5, apps could read the IDFA by default. App Tracking Transparency changed that. Now an app that wants to track users, including reading the IDFA, must first call the App Tracking Transparency framework, which shows the system prompt explained by a purpose string in Info.plist. If the user allows tracking, the app gets a real IDFA. If the user declines, the IDFA reads back as all zeros and cannot identify the device, and the app must not track by other means either. Because many users decline, the IDFA is far less widely available than it once was, which reshaped how mobile advertising measures results.

The IDFA, privacy disclosure, and AppFlight

Using the IDFA touches two separate requirements: ATT is the consent prompt, and the App Privacy nutrition label is the disclosure on your product page. An app that reads the IDFA without the prompt, or with a misleading purpose string, can be rejected in App Store review. AppFlight builds native Swift and SwiftUI projects and can wire in analytics integrations like PostHog, and when an app needs the IDFA, the ATT prompt and its Info.plist purpose string are part of configuring the app correctly for review.

FAQ

What is the IDFA used for?

It is used to attribute app installs, measure ad campaigns, and target advertising, by giving a stable per-device identifier that is not tied directly to a name or email. Ad networks and attribution tools rely on it when it is available.

Can apps still get the IDFA?

Only with permission. Since iOS 14.5 and App Tracking Transparency, an app must show the tracking prompt and receive consent before the IDFA returns a real value. If the user declines, the IDFA is all zeros and cannot identify the device.

What is the difference between the IDFA and the IDFV?

The IDFV, Identifier for Vendor, is shared across apps from the same developer on a device and does not require the tracking prompt. The IDFA is cross-vendor, meant for advertising, and gated behind ATT consent.

Sources

Build this app without opening Xcode.

AppFlight turns a plain-English prompt into a real native iOS app and ships it to the App Store. Round 2 is open: free for your first month.

Join the waitlist