Google Play New Users vs Firebase first_open / New Users Comparison
Asked Answered
B

1

4

App install-attribution will always be a tricky topic! My Questions are:

  1. I was wandering how one can quickly compare your Google Play console data with Firebase? as well as
  2. whether there is an approach which also covers iOS / iTunes Connect?

So far I found out that first_open could be a great starting place to do this comparison between Firebase and Google Play Console, but it is not that straight forward...

Learnings so far:

  • FA is not aware of GA in the app and there is no way to tell FA if this is first_open after upgrade vs first_open after app install (Source)
  • This event is not triggered when a user downloads the app onto a device, but instead when he/she first launches an app after installing or re-installing it. (Source)
  • When existing users migrate to the new version of your app which includes Firebase, they will log a first_open-event. And so, even though they are not new users, they log a first_open. In other words, it gets triggered on an update, only if the previous version did not previously have Firebase (Source)
  • The first_open-event counts will differ from Google Play or App Store installs, because if a user installs > opens > uninstalls > opens the app again, that will count as one install in Play and two first_open-events in Firebase (Source)
  • When existing users migrate to the new version of your app which includes Firebase, they will log a first_open-event. And so, even though they are not new users, they log a first_open (Source)
  • In the near future, we will change this behavior so that such events are filtered out of your first_open-event report. However, those events will still be exported to BigQuery and will carry a flag that denotes that the first_open was due to a new Firebase integration (Source)

Possible Solutions:

  1. Utilize user properties and then filter down later for easier access to this insights. This approach was also not that straight-forward. Here is a great explanation: Setting user property will not work as first_open is recorded early in the app life cycle and before you can get access to FA singleton. You will not have a chance to set the user property before first_open-event is recorded. Setting user property is orthogonal to the app connectivity. All events logged before the property was set will not have it, all event logged after the property is set will have the property set. Connectivity only impacts when the data can be uploaded, not the content of the data. If your app is running on device that is offline the data will be uploaded when the device gains connectivity. The data itself is almost identical (Source)
  2. Connect BQ/Firebase/GA4 with Data Studio and then filter down. If you dig into the raw firebase analytics events dataset through BigQuery and DataStudio, you'll be able to see a field named "app_info.install_source" in each first_open-event (Source)
  3. Create an audience by campaign-source and then filter by audience later. Possible, but not the best way to scale your efforts.
  4. Other approach according to the new GA4 Schema (Source)

I will try to solve this one, but I thought I would post the question here if someone have any other ideas/feedback :)

Banks answered 6/5, 2021 at 11:35 Comment(0)
B
2

After looking into this problem a bit, I found an approach which might work.

Firebase-console:

You could also enable first_open as conversion-event inside the firebase-console, and inside the conversion report drill-down into source=google-play (at least at the time of this writing you can).

BigQuery:

Looking at the GA4-schema, we can see that we can utilize the firebase_campaign-event (Source-1 and Source-2). The BigQuery-code will look something like this:

SELECT
    platform as platform,
    param.value.string_value AS firstopeners,
    COUNT(param.value.string_value) AS count
FROM `<gcp-project>.analytics_<id>.events_20*`, UNNEST(event_params) AS param
WHERE
    # platform = "ANDROID"
    _TABLE_SUFFIX >= FORMAT_DATE('%y%m%d', DATE_ADD(CURRENT_DATE(), INTERVAL - 3 DAY))
    AND _TABLE_SUFFIX < FORMAT_DATE('%y%m%d', DATE_ADD(CURRENT_DATE(), INTERVAL - 2 DAY))
    AND event_name = "firebase_campaign"
    AND param.key = "source"
GROUP BY 1,2
ORDER BY 2 DESC

Notes:

  • The attribution window for first_open is 30 days. The attribution window for any web or subsequent in-app conversions is 90 days. You cannot adjust these attribution windows (Source)
  • It is only working for platform=ANDROID at the moment, as it is only supporting Google Play Console integration. I however adapted the code so that one could see somewhere in the future if iOS would get supported.
Banks answered 6/5, 2021 at 11:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.