[Amplitude] Troubleshooting Attribution - It's Not Rocket Science!

  • 17 March 2021
  • 4 replies
  • 339 views

Userlevel 3
Badge +1

Hi there Amplitude Community!

Today I wanted to cover a topic that our team fields many a question about - troubleshooting missing events from our attribution partners.

Quite a few of our customers make use of our various integrations to pipe in mobile attribution data. To date, we have direct integrations with Adjust, AppsFlyer and Branch - just to name a few. 

 

How the Attribution Integrations Work

All of our attribution integrations use the Amplitude Attribution API to send data to Amplitude. This API was built primarily to collect attribution campaign events that contain attribution information, then match it with users via the Advertising ID (IDFA/IDFV/ADID).

 

Things to Look Out For

  • Since attribution is matched to Amplitude users via the Advertising ID, this data has to be included in attribution requests (set the IDFA, IDFV, and ADID fields where relevant)

  • Advertising ID also has to be included in non-attribution events so that there’s something to match against

  • Matching is case sensitive, meaning the Advertising ID has to match exactly!

  • After attribution events are received, they will only be matched once a subsequent non-attribution event (with Advertising ID data) is sent in

  • Attribution events are held up to 72 hours for potential user matching; after which they will be dropped

  • Attribution events will only show up in the UI once Amplitude has successfully matched the event to an existing Amplitude user

In essence, these are the 2 main culprits for missing attribution events:

  • Missing Advertising ID

  • Lack of a subsequent non-attribution event within 72 hours of ingesting the attribution event

Here is a handy graphic to help you visualise the flow of attribution events and whether they manage to land on the moon:

CaSxtVvG4gMyNW9MWNJrW1Hku_k7VSz0Wh6B9aer3FGg5UrlfiK2S7bnE9-tFBQuEaq40qkE1oDgRLH4HNM_fNI2uOQw5w0mjv01WkRocFljZjmFsEtXR5qShphoTJEnSgraTpKv

 

Feel free to leave a comment below if you have any questions about any content that I covered. Always more than happy to help!


4 replies

Userlevel 7
Badge +10

Thanks for posting this, @serene.gan ! This is really helpful, especially the graphic. 


Also, is it possible to backfill the user attribution using a combination of these integrations and Amplitude APIs?

Userlevel 3
Badge +1

Thanks for posting this, @serene.gan ! This is really helpful, especially the graphic. 


Also, is it possible to backfill the user attribution using a combination of these integrations and Amplitude APIs?

Hey Saish, glad to hear you found it insightful!

My understanding is that backfilling attribution data would not work as well due to that 72-hour window for the attribution match to happen. Just to be sure, I’ve reached out to my engineers to check if there are any other areas of concern to be aware of regarding this -  will give you an update when I hear back from them!

Userlevel 3
Badge +1

Thanks for posting this, @serene.gan ! This is really helpful, especially the graphic. 


Also, is it possible to backfill the user attribution using a combination of these integrations and Amplitude APIs?

Hey @Saish Redkar thank you for your patience while I checked internally on this! Here is what my engineer has shared:

Backfilling the attribution events will work as expected if they send event time. Do note that if no event time is included, Ampltiude will interpret event time as server upload time which will be off. 

72 hour window is only when the attribution events come in first(before events) then we keep that attribution event for 72 hours to match with events. In this case, we already have events so that should not be a problem.

 

I hope this addresses your question!

Userlevel 7
Badge +10

Thanks for following up, @serene.gan. That definitely helps.

 

Reply