I've integrated Firebase Analytics in my project but I encounter some issues:
When I log an event, I don't have access to the value on the Dashboard. Apparently you have access to this information only if you use BigQuery (which is not free). In this answer they suggest a workaround using setUserProperty but first it's a bit messy, and second the userProperty accepts only a limited number of characters for its value so I can't use that.
On Google Analytics, you have a Behaviour Flow where you can see how users is navigating through your app. I haven't been able to find a similar view on Firebase.
So I was thinking of using both. I've created a new property for my app in Google Analytics. As it's mobile only (no website) I've selected 'mobile app' for the property and Google Analytics asked me to link to my Firebase app.
I did so but now I have the exact same information on Google Analytics that I had on the Firebase Dashboard.
So what does it mean? Should I use both but in that case define my Google Analytics property as 'website' to not link it to Firebase? Can I achieve what I want (analysing custom event values and monitor the user flow through the app) using Firebase only?
I went down the same path as you, and finally started exporting to BigQuery and got exactly what I needed. I completely understand the desire for free, but I think you will be surprised at how inexpensive the "Blaze" plan is, since you only pay for what you use. We are logging about 250K Firebase events per day, which equates to US$0.03 per month (as of Dec 2017). The main cost is querying, which we do a LOT of (about 1.6TB per month) which costs about US$3 per month. Our total monthly bill is about US$3.50 per month.
Related
We're users of Google Analytics on our organization. We've recently received an email from them saying that they're discontinuing Google Analytics for App Reporting next year (info [here])(https://support.google.com/analytics/answer/2621230). At the moment we use Google Analytics on web and apps (android/ios) jointly.
I understand the focus of Firebase is apps, and having all Analytics information together for both Android and iOS.
My question is: is the previous SDK for apps going to disappear altogether?
What would be the standard approach from this point onwards if you also have a web? Add the Firebase SDK on apps, and track with Google Analytics for Firebase, and keep Google Analytics standard SDK on web? I believe this approach would be even more cumbersome since we'll need two interfaces to follow metrics.
From the email, it stated that by OCT 2019, data processing will stop and by Jan 2020, everything will be gone/inaccessible from GA. Hopefully, by then you'll have moved to Firebase Analytics.
GA is still the standard for web and that's not going away.
For Firebase, you can use GTM with it, maybe it might make maintenance easier.
I use a Google Analytics in my android application, a few days before today I receive an email that means In Oct. 2019 Google will sunset Google Analytics for mobile apps reporting and the Google Analytics Services SDK.
So I decided to migrate to Firebase Analytics.
I am a little bit disgusted because Firebase Analytics doesn't have a feature called 'Behaviour Flow'.
I want to track user behaviour / flow, how can I achieve this with Firebase Analytics?
You can't do exactly the same thing as you did in GA. There is no "behavior flow" that you can turn on or track. Even the "screen views" have turned into just event based.
I think the closest thing out of the box would be using funnels, identifying the funnels that you care about and track those.
Alternatively, you can connect the firebase data to bigquery, export and analyse the data that way, but you probably would need to do a lot of processing.
Firebase Analytics is event-based so they don't support the features that exist in Google Analytics. However; it lets you ingest the raw data into your BigQuery project for free unlike Google Analytics so you can do path analysis either with SQL or use a tool that works on top of Firebase export such as Rakam.
I have followed this tutorial: https://support.google.com/firebase/answer/7378163 and tried to integrate Admob and Firebase Analytics but I can't see any events (ad_click, ad_impression) in Debug View (as described in verify section).
I have tried with both 11.0.1 version and 10.2.3 (beta) with no success (for Firebase Analytics SDK and Mobile Ads SDK dependencies).
I have also added exception (keep) to Proguard file for FirebaseAnalytics and AppMeasurement.
Admob is correctly linked with Firebase - I know that because I already can see some data from Admob in Firebase Analytics in production where I use version 10.2.6.
Is there a reason why this still wouldn't work?
Reply from Firebase support regarding missing Admob events in Firebase Analytics:
"I just heard back from our engineers. They've confirmed that you've configured things correctly, but we're still in the midst of rolling out this functionality, which is why you're only seeing a portion of the traffic. In the near term though, we expect the metrics to converge. "
When I specifically asked about why I don't see events at least in DebugView:
"Same cause - not all devices have this functionality enabled at this time and thus ad_click/ad_impression events are not logged."
Might be that Firebase doesn't refresh their analytics data right away, as, with Google Analytics, it might take a couple of hours, even a day to fully send the reports to the dashboard as mentioned in these posts:
How Long Does it Take for My Firebase Analytics Data to Show Up?
How much time does it take for firebase analytics first report?
To understand latency with Firebase Analytics, there are two potential
delays you need to be aware of:
The time it takes for analytics data on the client to be sent over to
the Firebase Analytics servers.
The time it takes for Firebase Analytics data to be displayed to you in the Firebase console once
it's been received on the server.
According to this
https://support.google.com/firebase/answer/6317485?hl=en
in_app_purchase event will be automatically tracked when a user completes an in-app purchase.
The problem occurs with test users.
They are not charged (since they are entered in "Test Accounts" list in google developer console) but in_app_purchase events are tracked for them too.
So, there are discrepancies between analytics and real payments.
Is there a way to separate somehow real and 'test' purchases?
Either, maybe a way to disable automatically tracking for certain events and send them manually? And how to recognize 'test' purchases in this case at runtime (in order to don't send in_app_purchase event)
I know it's a bit late, but putting down my 2-cents here:
I think you might already know that test purchases for Android in Firebase Analytics are accounted for, as mentioned here(see in_app_purchases), "Note: paid app-purchase revenue, subscription revenue (Android only), and refunds are not automatically tracked. Your reported revenue may differ from the values you see in the Google Play Developer Console. Events that are flagged as being invalid or as sandbox (test) are ignored. Only iOS events are flagged as sandbox".
That said, there isn't a way to recognize such purchases at runtime and avoid them from being reported for Android and populating your prod app data. However, there are only a couple of ways to deal with it currently(in my opinion):
Separate your prod data from test data: Look into this document on how to set up a separate app in Firebase to record your test data.
Disable collection of analytics for your test app: As shown here, you can temporarily or permanently disable collection of Firebase Analytics data. It includes the option to be able to disable and enable it at runtime.
Although, I would consider option #2 a little counter-intuitive given your case and go with #1 instead.
Disabling reporting of test purchase data to Analytics at runtime would require 2 things:
Knowledge of how the Google Play system recognizes a test purchase, what event is sent from the user device for such an event, and the ability to recognize/intercept that event.
The option of preventing an event from being reported to Firebase Analytics at runtime.
In this case, #2 definitely does not seem like an option currently. Hence, all we can do here is reach out to Firebase Support and request that feature. But until then, I don't see another way. But I'm curious and open to suggestions if somebody else has. :)
The Firebase Analytics dashboard shows a card for demographics, including age and gender.
According to https://support.google.com/firebase/answer/6317486?hl=en Firebase should be automatically collecting age and gender. Can anyone explain how it collects that information, and if anything else needs to be done in order to provide it?
In my dashboard, I'm seeing no age or gender data. I also haven't found any public API in the firebase-analytics SDK that would allow for setting the age or gender of the user.
If it comes from the advertiser id, does that mean we must also integrate with AdMob in order to get that data -- and if we don't use AdMob, then age and gender are impossible to gather? And does AdMob then also have to be linked with the Firebase project before it can start populating that data?
On Android, this data is derived from the Advertising Id, which is automatically collected on devices with Google Play Services installed. On iOS, this data is derived from the Advertising Identifier (IDFA) when available (i.e. when your app links to the Ad Support Framework). AdMob is not a prerequisite for Age, Gender or Interests on either platform.
Clarifying note from comments: Firebase Analytics demographic reports is thresholded for privacy reasons. Once you have enough data -- at least 10 users per age/gender bracket -- data for that bracket will be shown.
In case someone else stumbles upon this, make sure that you have the google signals enabled in the admin console. This is not part of the firebase analytics onboarding process as far as I remember, and it's off by default.
You can find how to do it here:
https://support.google.com/analytics/answer/9445345?hl=en
Joe, if you are building iOS app and you have no access to IDFA you will not see demographics data for your users. You need to link to ad support framework. Please read the Apple developer documentation on when its okay to use ad support framework in your app.