Unique Identifiers for Attribution

Attribution Analytics supports the following unique identifiers in measurement URLs on click, install, and other event requests. When the same identifier is available on click and install, Attribution Analytics can perform attribution by matching this value through Identifier Matching.

Categories of Identifiers

Types of Identifiers

 

App-to-App Identifiers

When working with integrated ad networks and publishers, you should always pass a unique device identifier into the measurement URL on click so Attribution Analytics can use it to attribute the install and other in-app events. The advertiser needs to have the Attribution Analytics SDK setup to collect the corresponding identifiers to attribute the click to an install (or other event) using identifier matching.

The following list shows references to the app-to-app identifiers for each major mobile platform.

 

Web-to-App Identifiers

While Google provides the Google Play install referrer for attribution of mobile app installs from mobile web browsers, Apple does not provide a similar mechanism. Instead, when attributing app installs with iOS, Attribution Analytics uses device fingerprint matching. After the user installs the app, Attribution Analytics can use the Open URL to attribute post-install in-app events with 1:1 accuracy. You do not need to use specific device identifiers for web-to-app attribution.

The following list shows the attribution method that Attribution Analytics uses for each type of event (install or in-app) across the major mobile platforms.

  • iOS
    • Install
      • Device Fingerprint matching
    • In-app Events
  • Android
    • Install
      • Google Play Install Referrer
    • In-app Events
  • Windows Phone
    • Install
      • Device Fingerprint matching
    • In-app Events

 

Cross-Device Identifiers

As users embrace more mobile devices, Attribution Analytics enables cross-device attribution by leveraging the user profiles of advertisers. This attribution method works similar to attribution by iOS or Android Identifier Matching but instead of the device hardware or platform operating system providing the identifier, the advertiser provides it.

 

iOS Device 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, AA 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.

TUNE is continuing to explore additional options to perform deterministic attribution for these users (who reflect 17% of the total iOS user base), and remains committed to providing the most accurate attribution possible for mobile app installs across every platform and operating system.

_________________________________________________________________________________________________________________________

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").

  • Attribution Analytics measurement URL parameter: ios_ifa
  • Attribution Analytics server postback macro: {ios_ifa} and {ios_ad_tracking}
  • Attribution Analytics API field: ios_ifa

If you’re using the {ios_ifa} macro in a postback URL, then you must specify the {ios_ad_tracking} 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.

When specifying the value in the ios_ifa parameter (in the measurement URL on click), you can use any one of the following secure hash and message digest algorithms:

  • Raw
  • Secure Hash Algorithm 1 (SHA1) hash
  • Message Digest 5 (MD5) hash

NOTE: The TUNE SDK sends the device's IFA in a lower-case format and our system stores it in this format.  As such, hashes will be completed on the lower-case format and not the upper-case format which results in a different hashed value.  For example, the upper-cased string "TUNE" returns an MD5 hash of "05069c0e15b79590b44ff985487037b7", whereas the lowe-cased string "tune" returns an MD5 hash of "7ce1689483acd43d5bc46598b11bd139". Please always use the lower-cased format of the IFA when hashing to ensure a 1:1 match with your TUNE data.

Ideally, if you're passing hashed versions of identifiers, then you should use the corresponding hash-specific parameter format (for example, pass MD5-hashed versions of ios_ifa into the ios_ifa_md5 parameter, instead of the ios_ifa parameter).

The following measurement URL example shows the ios_ifa parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&ios_ifa=AAAAAAAAA-BBBB-CCCC-1111-222222220000

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). For more information about the effects of IFA collection if you’re not serving ads, please visit The Implications of Removing Apple’s IFA

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).

The following measurement URL example shows the open_udid parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&open_udid=b5d2e9307e5009d5011601b285f8c2b0638e66a

Android Device Identifiers

Advertising Identifiers

Google AID

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”.

  • Attribution Analytics measurement URL parameter: google_aid
  • Attribution Analytics server postback macro: {google_aid}
  • Attribution Analytics API field: google_aid

NOTE: The TUNE SDK sends the device's Google AID in a lower-case format and our system stores it in this format.  As such, hashes will be completed on the lower-case format and not the upper-case format which results in a different hashed value.  For example, the upper-cased string "TUNE" returns an MD5 hash of "05069c0e15b79590b44ff985487037b7", whereas the lowe-cased string "tune" returns an MD5 hash of "7ce1689483acd43d5bc46598b11bd139". Please always use the lower-cased format of the Google AID when hashing to ensure a 1:1 match with your TUNE data.

The following measurement URL example shows the google_aid parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&google_aid=38400000-8cf0-11bd-b23e-10b96e40000d

For information about supporting Google AID in Attribution Analytics, please visit Google's Advertising Identifier.

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.

  • Attribution Analytics measurement URL parameter: android_id
  • Attribution Analytics server postback macro: {android_id}
  • Attribution Analytics API field: os_id

The following measurement URL example shows the android_id parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&android_id=100000000001

 

Device ID

The DEVICE ID for Android devices is a unique device ID whose value is formatted as lower case.

  • Attribution Analytics measurement URL parameter: device_id
  • Attribution Analytics server postback macro: {device_id}
  • Attribution Analytics API field: device_id

While formatted as lower case, the format of this value varies depending on device type:

  • International Mobile Equipment Identity (IMEI) for GSM smartphone devices
  • Mobile Equipment Identifier (MEID) for CDMA smartphone devices
  • SerialID for tablet devices without a cellular radio

The following measurement URL example shows the device_id parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&device_id=10000000001

 

MAC Address

The MAC address of any Internet-connected device is the network address that uniquely identifies the wireless network adapter of the device, formatted as upper case with colons (for example, "AA:BB:CC:DD:EE:FF").

  • Attribution Analytics measurement URL parameter: mac_address
  • Attribution Analytics server postback macro: {mac_address}
  • Attribution Analytics API field: mac_address

The following measurement URL example shows the mac_address parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&mac_address=AA:BB:CC:DD:EE:FF

 

Windows Phone Device Identifiers

Advertising 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.

  • Attribution Analytics measurement URL parameter: windows_aid
  • Attribution Analytics server postback macro: {windows_aid}
  • Attribution Analytics API field: windows_aid

The following measurement URL example shows the windows_aid parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&windows_aid=750c6be243f1c4b5c9912b95a5742fc5

Legacy & Other Identifiers

There are no legacy or deprecated device identifiers for Windows devices.

User Identifiers

Attribution Analytics supports three user identifiers that you can use for internal cross-promotional campaigns and cross-device attribution: user ID, user email, and username. For information about handling personally identifiable information (PII) and other sensitive data, please visit Handling User Information.

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).

  • Attribution Analytics measurement URL parameter: user_id
  • Attribution Analytics server postback macro: {user_id}
  • Attribution Analytics API field: user_id

When specifying the value in the user_id parameter (in the measurement URL on click), you can use any one of the following secure hash and message digest algorithms:

  • Raw
  • Secure Hash Algorithm 1 (SHA1) hash
  • Message Digest 5 (MD5) hash

The following measurement URL example shows the user_id parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&user_id=10001

 

User Email
The user email parameter is the email address of the user specified by the advertiser.

  • Attribution Analytics measurement URL parameter: user_email
  • Attribution Analytics server postback macro: {user_email}
  • Attribution Analytics API field: user_email

When specifying the value in the user_email parameter (in the measurement URL on click), you can use any one of the following secure hash and message digest algorithms:

  • Raw
  • Secure Hash Algorithm 1 (SHA1) hash
  • Message Digest 5 (MD5) hash

The following measurement URL example shows the user_email parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&user_email=tom@gmail.com

 

Username
The username parameter is the username value of the user specified by the advertiser.

  • Attribution Analytics measurement URL parameter: user_name
  • Attribution Analytics server postback macro: {user_name}
  • Attribution Analytics API field: user_name

When specifying the value in the user_name parameter (in the measurement URL on click), you can use any one of the following secure hash and message digest algorithms:

  • Raw
  • Secure Hash Algorithm 1 (SHA1) hash
  • Message Digest 5 (MD5) hash

The following measurement URL example shows the user_name parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&user_name=tom123

 

Unknown Identifier

Attribution Analytics supports a parameter in measurement URLs for an unknown identifier (unid) that is not a device-specific identifier, but a “catch-all” for all of the previously mentioned device identifiers. Some of our integrated advertising partners can pass unique identifiers on click, but they don't know what type of identifier it is (for example, a SHA1 hash of a Google AID or SHA1 of a Device ID?). So you can include a unid parameter in your measurement URLs on click (but not on conversions for installs or other events).

When the Attribution Analytics SDK measures an install or post-install event, the Attribution Analytics platform takes all identifiers collected and searches for clicks by the unid value.

  • Attribution Analytics measurement URL parameter: unid
  • Attribution Analytics server postback macro: {unid}
  • Attribution Analytics API field: unid

The following measurement URL example shows the unid parameter set to use identifier matching for attribution.

https://12345.api-01.com/serve?action=click&publisher_id=100&site_id=3000&unid=zzzzzzzzzzzzzzzzzzzzzzzz

 

For more information about using the unid parameter, please visit How the unid Unknown Identifier parameter works.

6 Comments

Leave a reply
  • Junhyung  •  January 3, 2017

    I guess there is a typo under Open UDID.

    The Open UDID is a drop-in replacement..... The following measurement URL example shows the ios_ifa parameter set to use identifier matching for attribution.

    *should 'ios_ifa parameter be replaced to open_udid?