Firebase Analytics first_open from Google Analytics - firebase

My Android app right now uses Google Analytics.
However, I want to add Firebase Analytics as well.
Let's say the new version of the app now has FA.
Will the 'first_open' event be triggered for old users and mark them as they've first opened the app only now?
Is there any possibility to link FA with GA and get the correct 'first_open' for the old users?
Should I introduce my own 'user property' to mark users that had a previous version of the app when they first run the new version?
Maybe a tricky question: If a user installs the new version, and FA attempts to set such 'user property' (only once ever), but the user doesn't have an Internet connection at this moment. Will this 'user property' be sent to FA somehow in the future?
Thank you!

The current Firebase Analytics library will report first_open when an app with Firebase Analytics is first launched. This includes launch after the app is update from version w/o Firebase to version with Firebase. We are working on excluding first_open from users after update to app with Firebase but this change is not in yet.
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. This will be automated in one of the next releases as I mentioned earlier.
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.

Related

Firebase Remote Config - Conditions not applied

I am using the Firebase Web SDK 8.3.1 and I have created a remote config parameter with conditions based on a custom user properties.
The problem I encounter is that my end users always get the default value, never one from any of the conditions, even if I am sure the user actually matches the conditions...
I see in the doc:
Warning: To use audiences and user properties with Remote Config, you
must enable Google Analytics data sharing for your project. In your
app, you'll need to ensure Firebase Analytics is present and data
collection is available as well.
Then if I follow the provided link I see the instructions:
To manage Google Analytics for Firebase data sharing:
Sign in to Firebase and select a project.
Click the Settings icon and select Project Settings.
On the Project Settings page, click Data privacy.
See the options available under Google Analytics data
sharing. When you share Analytics data, you share it for all the apps
in your project.
Turn on the switch for Share Analytics data with all Firebase
features, including Predictions, A/B Testing, Remote Config, and
Notifications (this is your default setting) to enable all current
options to share data with Firebase features.
But in my firebase console I dont have this switch! Under "Google Analytics data sharing" there is now another link:
So I cant turn on this setting :(
Note: how I made sure my user actually matches the condition "user property X == A":
Wait 30mins
Launch the app with a user having user property X set to A
Launch the Realtime dashboard of Firebase Analytics and filter to the last 30mins
And here I see that there were indeed 1 user in the last 30mins and this user had property X set to A
So is there anything special I should do when I want to create a condition using custom user properties?

How Does Firebase Analytics count New Users in Web App

We have a web app that users log into using Firebase Auth. According to our the authentication section of our firebase console, we have 690 user that have created accounts, and we believe that is correct.
According to our Firebase Analytics console, we have 2,100 new users in the past 90 days. I think I understand that Firebase Analytics tracks users with a device ID (?). So, if this were a iOS app, an uninstall and install would trigger a a new user counted in analytics. But, how does this work on a web app? Cookie? Some kind of browser id? A session?
So, I think if we want to track unique users accurately, we would use the set the user id, with this:
https://firebase.google.com/docs/reference/js/firebase.analytics.Analytics#setuserid
Which according to the docs linked above, 'Use gtag 'config' command to set 'user_id'. So it does this: https://developers.google.com/analytics/devguides/collection/gtagjs/cookies-user-id#set_user_id
Which allows the users to be tracked across sessions. Therefore, users should not double count.
Notice that the setUserId section in the firebase analytics docs does not have a web section (although the setUserID function does exist in the javascript sdk as shown tow links above) https://firebase.google.com/docs/analytics/userid
So... would it then work to get the user id (uid) when they log in (https://firebase.google.com/docs/reference/js/firebase.User). And then use the setUserId method to set the id?
It's unclear because the documentation does not seem to be in one source. I am just trying to put it all together
You are correct that you can use the setUserId API (across iOS, web and Android) in order to identify the same user across platforms. Note that you'll need to:
Set the default reporting identity to "By User-ID then Device" in the Reporting settings for Google Analytics in the Firebase console (see attached screenshot and docs for more info).
Make sure you are following the Privacy Policy when using the User ID.

Firebase events as conversions in Google Ads not working

After importing our Firebase app events in Google Ads as conversions, their status stays at "no recent conversions". The events are recordeding fine in Firebase.
Both our native iOS and Android app are implemented, but none show conversions in Google Ads
The package name of one of our apps was updated
We unlinked Google Ads from Firebase and linked it again, but that didn't work either
We are talking about custom events (an in-app action) and native events (like first open)
It seems like we can't really delete conversions. We can delete and re-enable, but can't "start over".
How can we make recording our events as conversions work?
The answer was hiding in the comment made by #Akif Demirezen.
On Firebase, go to project settings
Under "Your apps" section, make sure to fill the "App Store ID" field, you can find this information on your App Store connect page, under Apple ID

Why do I get downloads from the US even though my app is only available in the German Play Store?

I recently released my quiz app in the german Play Store and I get some impressions/downloads from the US which is odd since it should not be visible to the Play Store there. I am using Firebase authentication and I also see that some users authenticate but in my database they don't have an account (username, avatar etc.) which also can't be because after you login with Google you get to a page where you can choose your username and in the second you reach to this site, a user document will be automatically created, but in some cases it does not get created.
I noticed this behavior since my app was in beta testing.
Is it a normal behavior that there are some users who can see and are able to download an app that is usually only available in one country?
It can happen because google play console generates pre-launch reports for your app, so I think they use dummy accounts to login into your application. It can also happen when you submit an update to your app and it goes through a review process.

Firebase Analytics: first_open event missing for part of my users

I'm creating some funnels and journeys for my app's events from Firebase Analytics using BigQuery, starting with first_open and continuing with other custom events. My understanding is that using user_pseudo_id, I should be able to track a single user's journey.
The problem I'm facing is that some user_pseudo_ids found in the custom events do not have a corresponding first_open event, so I'm not sure when they started using my app.
Are there cases where a first_open may not be recorded? Or cases where the user_pseudo_id may change after first_open?
TL;DR: In order to reliably track users, one should use setUserId().
As noted in this answer, user_pseudo_id comes from getAppInstanceId(), and it's reasonable to assume its lifetime is not dissimilar to FirebaseInstanceId, which can change in the following cases:
App deletes Instance ID
App is restored on a new device
User uninstalls/reinstall the app
User clears app data
Reinstalling triggers the first_open event again, so that wouldn't be my case, and my app does not delete the Instance ID.
Going through the logs, the last option can be discarded (in my case), because I can see the users were logged into my app when the new user_pseudo_id started being used.
So that leaves restoring the app on a new device as the likely culprit.
I'm now using setUserId() in order to track users.

Resources