Does Firebase Analytics link data to user identity? - firebase

I am trying to publish my React Native iOS app (which uses Firebase Analytics) on the App Store. The App Store requires me to specify what data is linked to the user.
The problem is: I cannot figure out whether Firebase Analytics links the data it collects to the user identity.
Specifically, I am unsure if Firebase Analytics links data from the following categories to the user identity: Contact Info, Identifiers, Diagnostics, Location, Usage Data, and Other Data. Can anyone advise?

I found Google documentation explaining how to enable/disable privacy settings: Privacy controls in Google Analytics
For location data, they state: "You have the option to enable/disable the collection of granular location-and-device data on a per-region basis. Analytics collects this data by default."
For user level data acccess, they state: "For Universal Analytics properties, you can pull event information for any given user identifier via the User Explorer report or the User Activity API. These features allow you to analyze and export event level data for a single user identifier. " -- I think this means that the data is in fact linked to user identities if you use Firebase Analytics.

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.

How can I retrieve Firebase user properties?

Is there any way to retrieve Firebase user properties in Analytics for Firebase?
For example, Analytics has all user records. I want to retrieve a record about user information, such as country code, etc. using Analytics.
Is there any API available for this?
Google Analytics for Firebase doesn't retain any PII (Personally Identifiable Information) about anyone using your app. It aggregates information across users. It doesn't associate specific user information from Firebase Authentication.
Also, there is no API for data it stores. If you want access to raw data, you have to export it to BigQuery (but there will still not be PII in that export).

How to export acquisition channel from GA?

I use Google Analytics to track an acquisition channel for android and ios users. How can I export a list of users with user's ID and acquisition channel? Programmatically via Query explorer or manual exporting alternatives are welcome.
I can export a list of users without acquisition channel field in User Explorer. But this field is presented on detailed page.
The one of the possible ways is
1. Create a custom dimension in GA to store User ID. User ID might be your own generated key of user.
2. Sending this User ID to GA from your mobile app.
3. Build a query to selecting needed information in GA reporting.
More information here https://www.mugo.ca/Blog/Tracking-individual-users-in-Google-Analytics

How can I generate a GA tracking code programmatically?

How to generate Google Analytics tracking code programmatic-ally?
I am new to Google Analytics API, can someone please help
It is NOT possible to create new Google Analytics accounts or profiles programmatically using the existing APIs.
There are two APIs available, the Data Export API and the Management API. However, they are bot read-only.
With the Google Analytics Data Export API, you can develop client applications to request data from an existing Analytics profile for an authorized user, and refine the results of the request using query parameters. Currently, the Data Export API supports read-only access to your Google Analytics data.
Currently, the Management API supports read-only access to five components of the Google Analytics Management system: Account data,Profile data, Web property data, Goal data, Advanced segments
Seems like it's finally possible in 2021 with alpha api.
https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties/create#authorization-scopes
It's not currently possible to create Google Analytics accounts automatically at the moment but generating the tracking code is possible.
The only real variation between the tracking code generated each time you create a profile for a new domain is the web property ID. This is in the format UA-XXXXXXX-X. Each X is a number - the first 7 numbers are the account number and the number after the last dash relates to each web property set up for the account.
You can use the accounts feed of the API to get a list of accounts and their profiles. If an account only has one profile then it's possible to use the web property ID of it to automatically generate the tracking code. However, if there's multiple web properties then you would need a way to decide which one to use (present the user with a selection list etc).

Resources