<!--
{
  "availability" : [
    "iOS: 6.0.0 -",
    "iPadOS: 6.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.14.0 -",
    "tvOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AdSupport",
  "identifier" : "/documentation/AdSupport/ASIdentifierManager/advertisingIdentifier",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AdSupport"
    ],
    "preciseIdentifier" : "c:objc(cs)ASIdentifierManager(py)advertisingIdentifier"
  },
  "title" : "advertisingIdentifier"
}
-->

# advertisingIdentifier

The UUID that is specific to a device.

```
var advertisingIdentifier: UUID { get }
```

## Discussion

The [`advertisingIdentifier`](/documentation/AdSupport/ASIdentifierManager/advertisingIdentifier) is an alphanumeric string
that’s unique to each device, and which you only use for advertising. Use
this string for frequency capping, attribution, conversion events,
estimating the number of unique users, advertising fraud detection, and
debugging. On devices running iOS 14.5 and later and iPadOS 14.5 and later,
your app must request tracking authorization before it can get the
advertising identifier. For more information on getting the advertising
identifier, see [`AdSupport`](/documentation/AdSupport).

The advertising identifier returns either a unique UUID, or all zeros. It
returns a unique UUID in the following cases:

- If Settings > Privacy > Tracking > Allow Apps to Request to Track
  is On, you’ve requested tracking authorization from the user by calling the
  <doc://com.apple.documentation/documentation/AppTrackingTransparency> APIs,
  and received authorization, indicated by
  <doc://com.apple.documentation/documentation/AppTrackingTransparency/ATTrackingManager/AuthorizationStatus/authorized>.
- If the user changes Settings > Privacy > Tracking > Allow Apps to
  Request to Track to Off after authorizing your app, and leaves the
  permissions On for your app.

The advertising identifier returns all zeros
(`00000000-0000-0000-0000-000000000000`) in the following cases:

- In Simulator, regardless of any settings.
- When you call this API on a device running macOS.
- When you call this API in a compatible iPad or iPhone app running in visionOS.
- On devices running iOS 14.5 and later and iPadOS 14.5 and later, if you haven’t requested authorization using the <doc://com.apple.documentation/documentation/AppTrackingTransparency> framework.
- If you’ve requested authorization using the <doc://com.apple.documentation/documentation/AppTrackingTransparency> framework and the user declines, which results in an authorization status of <doc://com.apple.documentation/documentation/AppTrackingTransparency/ATTrackingManager/AuthorizationStatus/denied>.
- When a profile or configuration restricts access to the advertising identifier. For more information about restrictions, see <doc://com.apple.documentation/documentation/AppTrackingTransparency/ATTrackingManager/AuthorizationStatus/restricted>.

As a best practice, don’t store the advertising identifier value; access
[`advertisingIdentifier`](/documentation/AdSupport/ASIdentifierManager/advertisingIdentifier) instead. Users can change
their authorization for tracking at any time in Settings > Privacy >
Tracking. Check your app’s authorization using the App Tracking Transparency
API
<doc://com.apple.documentation/documentation/AppTrackingTransparency/ATTrackingManager/trackingAuthorizationStatus>
to determine the user’s intent.

For more information about asking users for permission to track, see 
[User
Privacy and Data
Use](https://developer.apple.com/app-store/user-privacy-and-data-use/).

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)