Skip to content

Advertising Identifiers for Attribution

Overview

Branch supports the following advertising identifiers in Branch links on click, install, and other event requests. When the same identifier is available on click and install, Branch can perform attribution by matching this value through Identifier Matching.

Types of Identifiers

iOS Identifiers

Advertising Identifiers

iOS IFA

IMPORTANT

With the release of the iOS 10 public beta, Apple has updated iOS to redact Advertising Identifier (IDFA) for users with the ‘Limit Ad Tracking’ setting enabled on their device. In these cases – as in any case where the device IDFA is not available – TUNE Attribution Analytics still attributes new and re-engaged installs.

In the absence of a valid IDFA, Branch automatically falls back to device fingerprinting to perform attribution (see next section), and automatically assigns its own install-level identifier for future tracking of these installs. This is existing behavior, however it does require that partners pass the Device IP and User Agent to be used for Device Fingerprinting.

Apple introduced its Identifier for Advertisers (IFA) with iOS 6.0 primarily through the ASIdentifierManager class in iOS, which provides apps with access to an identifier that you can use for serving advertisements, as well as a flag that indicates if a user has enabled the Limit Ad Tracking feature. The IFA value is an alphanumeric string that is unique to each device, and uses an upper case-format with hyphens (for example, AAAAAAAAA-BBBB-CCCC-1111-222222220000).

  • Branch parameter: user_data_idfa
  • Branch postback macro: ${(user_data.idfa)!} and <#if (user_data.limit_ad_tracking)! >0<#else>1</#if>

If you’re using the ${(user_data.idfa)!} macro in a postback URL, then you must specify the <#if (user_data.limit_ad_tracking)! >0<#else>1</#if> macro to indicate if the user has enabled the Limit Ad Tracking feature (where 0 is limited). Or if the user has enabled this feature, you can set the ios_ad_tracking_disabled parameter to 1.

If your SDK implementation does not collect IFA on install (first “app open” event) and with post-install/in-app events, then you cannot use it for attribution by matching the value specified on click with the value specified on install (or some other event).

Legacy & Other Identifiers

While we rely first and foremost on advertising identifiers for attribution, there are cases in which advertising identifiers are not available. This includes legacy versions that do not support advertising identifiers. If an advertising identifier is not available, we rely on the following device identifiers for attribution.

Open UDID

The Open UDID is a drop-in replacement for the deprecated uniqueIdentifier property of the UIDevice class on iOS (a.k.a. UDID). It is a 40-character long hex value (20 bytes).

Android Identifiers

Google AAID

The Google Advertising Identifier (AID) is a unique, user-specific, and resettable ID for advertising provided by Google Play services, which exposes an API for accessing the advertising ID of the user as a string, in the universally unique identifier (UUID) format similar to 38400000-8cf0-11bd-b23e-10b96e40000d.

  • Branch parameter: user_data_aaid
  • Branch postback macro: ${(user_data.aaid)!}

Legacy & Other Identifiers

While we rely first and foremost on advertising identifiers for attribution, there are cases in which advertising identifiers are not available. This includes legacy versions that do not support advertising identifiers and users downloading from non-Google android app stores. If an advertising identifier is not available, we rely on the following device identifiers for attribution.

Android ID

The ANDROID ID for Android devices is a 64-bit number (as a hex string) that is randomly generated on the first boot of a device and typically remains constant for the lifetime of the device. This value is formatted as lower case.

  • Branch parameter: user_data.android_id
  • Branch postback macro: ${(user_data.android_id)!}

Windows Phone Identifiers

Windows AID

The Windows advertising identifier (AID) is a unique, user and device-specific, and resettable ID for advertising represented as an alphanumeric string formatted as upper case without colons (for example, AAAAAABBBBCCCC111122222222222). When the advertising ID feature is disabled, this value is an empty string.

  • Branch parameter: user_data_windows_aid
  • Branch postback macro: ${(user_data.windows_aid)!}

User Identifiers

User ID

The user ID generated by app developers (advertisers) is the same ID of the user in their system. The user_id only works with cross-promo internal campaigns because third-party advertising partners cannot access or replicate this value (as they can with the other Android or iOS identifiers mentioned previously).

  • Branch parameter: user_data_developer_identity
  • Branch postback macro: ${(user_data.developer_identity)!}