Solved

Missing Adjust attribution data for Android (Unity SDK)

  • 9 November 2021
  • 1 reply
  • 474 views

Badge

Using the Unity SDK 2.1.0

We use Adjust for attribution tracking. On iOS, every user gets the ‘[adjust] Install’ event and all the [adjust] user properties report correctly. But the ‘[adjust] Install’ event never appears for Android users and none have [adjust] user properties.

I’m assuming this is something to do with the Advertising ID on Android.

In the docs under Advertising ID & Location Tracking (GPS), it doesn’t say how to set the Advertising ID, but I’m assuming we should be calling either useAdvertisingIdForDeviceId() or useAppSetIdForDeviceId()? At the moment, we do not call either of these. Is this likely to be the issue?

Thanks for any help!

icon

Best answer by Denis Holmes 10 November 2021, 10:46

View original

1 reply

Userlevel 6
Badge +8

Hi @Technologic82 ,

 

You would need to include the same advertising ID in Amplitude and in the Adjust event in order for it to populate on the platform. I believe you would simply need to call  client.useAdvertisingIdForDeviceId(); in order to get the advertising ID in Android and be able to make sure that the ADID is being passed for Android users so that Adjust can correctly attribute the data.

 

To cover our bases, I'd like to go over how the Adjust<>Amplitude integration works:

 

Adjust uses the Amplitude Attribution API to send data to Amplitude. We store all attribution events but do not display all of these events in the Amplitude UI. Attribution events will only show up in Amplitude once Amplitude matches the Adjust event to an existing Amplitude user. If we receive non-attribution events with user information that matches the attribution events, the attribution events will then be ingested into Amplitude and subsequently be displayed in the UI. Otherwise, the attribution event will be dropped. This allows attribution information to be sent without worrying about polluting Amplitude with events from people who never actually use the app.

There are a few key points to keep in mind:

  • Attribution is matched to Amplitude users/events via the Advertising ID (IDFA/IDFV or ADID). Therefore, you must send the Advertising ID for attribution requests and you must set the idfa, idfv, and adid fields for users in Amplitude as the Advertising ID. If you are using the iOS SDK or Android SDK, you can enable tracking of the Advertising ID by following the instructions linked here IOS SDK  and here Android SDK. If you are using JS SDK or React Native, these do not have the functionality to collect Advertising ID automatically due to Google's and Apple's privacy rules around advertising ID and web tracking. You will have to send the Advertising ID through our HTTP API endpoint so that Amplitude can match attribution data/events. See keys in our HTTP API V2 doc.
  • If attribution events cannot be matched to an existing user then it is held for up to 72 hours for potential user matching. If an event is not logged for a matching user within 72 hours of receiving the attribution data, then the attribution data will be dropped. 

 

To summarize, in order for a Adjust event to show up in Amplitude, there must be a non-attribution event that has a matching Advertising ID already in Amplitude or sent to Amplitude within 72 hours of receiving the Adjust event. Lack of Advertising ID and lack of matching events are the two most common reasons that attribution events do not make it into Amplitude.

 

Hope this information is helpful! Let me know if you have any questions.

Kind Regards,
Denis 

 

Reply