Apparently, iOS 6 introduced IDFA, "identifier for advertisers", which identifies your device so that advertisers can track you and send you ads. It appears they also introduced IDFV, "identifier for vendor".

How do IDFA and IDFV work? What exactly do they identify? Are they different for each app on your phone, or are they the same for all apps on your phone?

What are the privacy implications of IDFA and IDFV? Can they be used to track you? How do they compare to UDID and to cookies on the web, as far as the privacy impact?

Do users have any way to tell which apps are gathering this information? Also, if you set "Limit Ad Tracking" to On in settings, what happens under the covers? How does that change what information apps receive?

Background: Apple Has Quietly Started Tracking iPhone Users Again, And It's Tricky To Opt Out; Apsalar's Take on Apple's Recent Announcement; How To Get Advertisers To Stop Tracking Your iPhone.

3 Answers 3


The IDFA (advertisingIdentifier) identifies the device but is reset when the device is erased. The IDFA is intended for use by advertising networks which need to be able to identify users across apps.

As far as privacy is concerned, the IDFA is very similar to the UDID, but does the following to mitigiate the UDID privacy issues:

  1. Unlike the UDID, the user can prevent apps from accessing the IDFA, by turning on "Limit Ad Tracking" in the device settings.
  2. The IDFA is reset when the device is erased.
  3. Access to the IDFA is probably limited only to advertising networks and not available to most app developers. This is not known as fact, but is an assumption of the developers community.

The IDFV (identifierForVendors) is unique per app vendor so it doesn't present any real risk to privacy. I would guess that the IDFV is a one-way function of the UDID (which still exists - only the API was deprecated) and the vendor ID. Incidentally I suggested that Apple do this when they originally announced the deprecation of the UDID API.


Ars Technica has an article with an overview of IDFA and IDFV. It explains how these new mechanisms provide users with greater control over their privacy.

IDFA is a persistent identifier that is consistent across all apps, and thus allows cross-app tracking. However, users can disable IDFA by setting "Limit Ad Tracking" to On.

IDFV is a persistent identifier that is different for each app. This still allows tracking of users, but does not allow correlating your activities with one app against your activities with another app.

The comments on that article clarify that, if the user sets "Limit Ad Tracking" to On, then this sets a global flag (advertisingTrackingEnabled) that advertising code is supposed to check before reading the IDFA. Advertisers are supposed to write their code to check this global flag and not collect the IDFA if it is set (though there is no technical measure that prevents them from doing so; they are on their honor). Thus, in this sense it is vaguely akin to the "Do Not Track" flag. Technically, it would be possible for an advertiser to still collect the IDFA even if the user has set "Limit Ad Tracking" to On. We have to hope that Apple has a way to detect that and would ban the advertiser from the app store.

  • 1
    Actually, when "Limit Ad Tracking" is On the value returned is all zeros, so even though the developer can access the IDFA it is set to the same value for all devices with "Limit Ad Tracking" On so it is somewhat useless, if the setting is then switched to Off the value is newly created so it won't match the previous value. Users can also reset the value if they choose. That being said, an app using the combination of IDFV and IDFA could allow someone to simply update the IDFA value in their own records based on the fact that the IDFV value doesn't change.
    – Chris
    Mar 24, 2017 at 16:53

When "Limit Ad Tracking" is turned on, apps are still allowed to collect the IDFA, but they are supposed to (honor system) not use it to Target ads. Nothing stops servers from continuing to Track your device (i.e., collect, store, and aggregate personal, device, or behavioral data along with the IDFA). It is a usage recommendation (enforced only by Apple policy and Apple's limited ability to enforce that policy), NOT an os-level blocking of collection.

Users still should "Reset Advertising Identifier" regularly to minimize potential tracking by/across apps.

IDFV can also be used to track you. Many apps don't require an account or login, but certainly the IDFV allows any vendor to track your app usage among all apps by that vendor. To reset the IDFV, you must (at least temporarily) delete all apps by that vendor, then re-install if desired.

It should also be noted that these are not the only ways that apps (or 3rd-party code within apps) can track you over time and across apps. Although perhaps not perfect, there are device fingerprinting tactics that can allow apps or 3rd parties to track you. And if you give permission to an app to access any of your unique data such as Location, Contacts, or Calendar, that's as good or better for tracking than a simple UDID or IDFA.

  • These are the allowed purposes for the IDFA when "Limit Ad Tracking is ON: '“Limited Advertising Purposes” means frequency capping, attribution, conversion events, estimating the number of unique users, advertising fraud detection, debugging for advertising purposes only, and other uses for advertising that may be permitted by Apple in Documentation for the Ad Support APIs.' [developer.apple.com/programs/terms/ios/standard/… But once collected, neither Apple nor users have much ability to detect or control abuse of the IDFA.
    – pseudon
    Aug 9, 2015 at 18:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .