Advertising Identifiers


When is it required?

Collecting Device Adverising Identifiers is required for marketing attribution providers: AppsFlyer, Branch, Facebook, Adjust, Tenjin, Singular. If you don't use such integrations, you may ignore this guide.


For Android SDK 1.8.0 or higher, Advertising Identifier is not collected automatically. You must manually call Apphud.collectDeviceIdentifiers() method after SDK initialization.
When targeting Android 13 and above, you must also declare AD_ID permission in the manifest file.



Starting iOS 14.5 access to IDFA requires user consent. You should request IDFA manually using AppTrackingTransparency framework and pass it to Apphud. Update Apphud SDK to 1.0.5 or higher.


Important Note

Don't forget to add Privacy - Tracking Usage Description (NSUserTrackingUsageDescription) to your app's Info.plist

Here is code snippet how you can request IDFA:


#if canImport(AppTrackingTransparency)
    import AppTrackingTransparency

func requestIDFA() {
    if #available(iOS 14.5, *) {
        ATTrackingManager.requestTrackingAuthorization { status in
            guard status == .authorized else {return}
            let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString


On Flutter please use the following plugin:

and then use:
static Future<void> setAdvertisingIdentifier(String idfa) async

Despite IDFA, filling correct App Store Privacy Information is also required. For more information, read here.