Solved

First touch attribution


Badge

Hi, we’re trying to create funnel(s) that only include users who started on our website.  We also track users in amplitude in our product, so that we have their full event stream from the website and app in one profile.

However, we can’t seem to find any way to reliably filter out users who started in our app vs those that started in our website.  The key challenge seems to be that if a user ever gets merged, then Amplitude overwrites the older user properties (like utm params, referrer, anything we set with setOnce) with the newer properties.

Does anyone know of a solution?

icon

Best answer by Denis Holmes 27 July 2022, 10:30

View original

12 replies

Userlevel 6
Badge +8

Hi @waterlooalex ,

 

My understanding is that when a user profile merges, some of the UTM parameters and a few other properties get overwritten. YOu would like it so that on the merge, properties will keep their old values when merge happens. We can enable this on our back end for you so that old values will be kept upon merging. If you would like this enabled, please let me know the Project ID, and the list of all properties you would like to keep the old values on a merge for, thank you!

 

Kind Regards,
Denis

Badge

Hi Denis, thanks for the response, yes that sounds promising.


Is that the *only* way to achieve this type of thing? I feel like I am missing something, and that there should be a way to do that without getting you to make changes on the backend.

eg a define a funnel (or segment) to track a user by the first thing they did, eg their first pageview, or their first property set, or anything related to their first visit.

Badge

Yes please make that change for us, we have two projects: 315379, 315406

Badge

Sorry I forgot to include the list of properties.. .I think we’d like this done for all (existing and future) properties if possible? But if I had to list them:

  1. firstApp
  2. firstPageView
  3. initial_referrer
  4. initial_referring_domain
  5. initial_gclid
  6. all initial_ properties
  7. source

 

Userlevel 6
Badge +8

Hi @waterlooalex ,

 

Thanks for the properties description. So as mentioned by myself in this post, initial_params should be kept on the newer SDKs. Which version and which SDK are you using right now? Can you upgrade to the latest version and see if that helps for now? We can then see the intial properties should remain as the first initial ones. Can you upgrade and let me know if they persist? Then let me know which of the above properties still change and I can enable it in the backend. I would expect that to be ;

  1. firstApp
  2. firstPageView
  3. source

Can you upgrade to the latest SDK and see if that helps with the issue? If not, I will then enable it for the all properties in the backend. Thanks @waterlooalex !

Badge

Hi Denis, ok maybe I am wrong and those properties are fine. I thought I had read in amplitude docs that user properties are overwritten on merge by newer properties.  I didn’t see an exception called out for the ones you mentioned.

I’m happy to trust you on that.  It is firstApp, firstPageView and source that I care most about, so if you could change those that’d be great, thanks.

Userlevel 6
Badge +8

Just to close out, I did misinterpret the docs and the SDKs will overwrite the values from the old profile with those of the new one. To stop this, we enabled the feature in the background to keep the old user profile values when merging profiles. 

Badge

Thanks. “we enabled the feature in the background to keep the old user profile values when merging profiles” is this for all users or just for my projects?

I still want to understand, is there no other way to make a funnel in Amplitude based on the first *something* the user did? eg the first app they used, or first pageview, etc? It seems like a major shortcoming that first touch attribution of any kind is impossible without making a community post here and getting someone’s attention at Amplitude to change settings on the backend.

eg we cannot rely on any user properties for first-touch attribution since they can get overwritten on merge, and we cannot (as far as I can tell) make any funnels based on a user’s first event of any type or something similar.

Userlevel 6
Badge +8

HI @waterlooalex ,

 

If you are on a Growth or Enterprise plan, you can use historical count mentioned https://help.amplitude.com/hc/en-us/articles/360040957432-Historical-Count-Track-user-behavior-for-different-instances-of-each-user-action. This will get the Nth time the user has done an event, with the attached properties if necessary.  

 

Kind Regards,
Denis

Badge

Hi Denis, thanks for the reply. Ok so it sounds like first-touch attribution is not possible on Amplitude’s free tier, I guess it costs $32,000 USD per year to get that?

Badge

Hi again Denis, we’re still having trouble with this.  With your help we have attempted to setup a user property `firstApp` to have the original first value, you wrote “To stop this, we enabled the feature in the background to keep the old user profile values when merging profiles”.

 

And it seems to work in some sense - users in Ampltiude appear to have the correct value.  However, it seems to fail with a funnel.

I have setup a funnel, and segmented the users to only those users that have the value “web” for `firstApp`, and it doesn’t work.  There are many users in my funnel with values for `firstApp` other than “web”.  This is very unexpected.

Why is the user segment feature not excluding these users?

 

 

Badge

I’ve got a raw export of all the events for this user, and there are indeed a couple of events that have user_properties with { firstApp: “web” }, but, the earliest (and vast majority) of events have  { firstApp: “sheets-addon:google-adds” } in user_properties, so this user should (I think) have been excluded by this user segment i setup.

Reply