Choosing Between Firebase and Google Analytics SDKs for App Tracking

/


“Should we be using Firebase or Google Analytics?” – we get this question a lot regarding tracking behavior in mobile apps.

Even though the older Google Analytics mobile SDKs have officially been deprecated by Google and the analytics reports in Firebase have been rebranded to “Google Analytics for Firebase,” there is still a lot of confusion out there as to which analytics tool is the right one for the job.

The Google Analytics mobile SDKs are technically still supported, and offer traditional reporting methods you’re more likely to be familiar with – but Google Analytics for Firebase has a lot to offer as well, and is considered to be the future of mobile app tracking.

This post aims to help clarify the important differences between the two and provide some suggestions around using each platform. For the sake of simplicity, I’m going to refer to Google Analytics for Firebase as simply Firebase, and the Google Analytics SDK as Google Analytics.

Primary Differences

Let’s start out with some big-picture differences between the two, in no particular order.

1. Mobile Dev Platform vs Analytics-Specific Tool

The Firebase SDK is actually a mobile development platform, not just a standalone analytics tool. I have brought this up before, but it is important to understand that the analytics reports are just one set of tools in the Firebase platform, designed to integrate with other Firebase tools – such as Cloud Messaging, Cloud Functions, Remote Config, etc.

This is one of the biggest ‘pros’ of Firebase as it allows for very useful integrations with other Firebase products. The new opportunities that these integrations present are essentially why the older Google Analytics SDKs have been deprecated. Here are a few examples:

  • Send a user a notification after a certain analytics event has been triggered in the app
  • Customize an experience in the app using Remote Config based on certain activities (analytics events) in the app
  • Perform A/B testing with Optimize & Remote Config
  • Improve campaign targeting for notifications by using Firebase Predictions, which applies machine learning to help you understand user behavior and create audience groups (also based on analytics events)

Tracking user actions with analytics events are crucial for using many of these great integrations.

Google Analytics, on the other hand, is a part of a marketing suite of tools in the Google Marketing Platform. There are some significant integrations there as well, but they are primarily geared towards advertising purposes.

2. Unlimited Event Logging Volume vs GA Hit Volume Limits/Costs

Firebase has NO LIMIT to the volume of events you can log. There are limits to the varieties of event names (up to 500 total), but as of now there are no fees for using Firebase for analytics, specifically.

There are some additional limitations around the types of parameters you can attach to Firebase events and what you can see in the reports as well, which differ greatly from the Google Analytics SDK data collection. You will want to be sure that you are aware of these differences before switching to Firebase (see section 4).

Which leads me to my next point…

3. SLA?

No fees = no support. If an SLA is important to you, you’re out of luck with Google Analytics for Firebase as of now.

4. Reporting and the Data Models

Firebase uses an event-based data model, which results in reporting differences compared to those in Google Analytics. Unlike Google Analytics which has many screenview- and session-oriented reports, in Firebase all reports are user- or event-focused.

In some ways, this can be a good thing – many apps do not really have a concept of a ‘page’ or ‘screen’ and instead revolve around activities the user can complete. It can also be much easier to deal with when doing analysis with BigQuery, for example (yes, there is a BigQuery import available). But for certain businesses, such as publishers for example, this data model might be more challenging to work with or require some getting used to.

Additionally, there are limitations to the amount of parameters you can attach to events in Firebase that differ greatly from Google Analytics. With Google Analytics, you can send different types of hits – screenviews and events, for example. To make the distinction between traditional Google Analytics events and Firebase events, Google Analytics events are made up of a few key parameters: event category, event action, and event label (plus a couple others, but they aren’t relevant for this discussion). With Firebase, the schema is different – everything is an event (even screenviews are events) and the schema looks like this instead: event name, plus up to 25 additional key-value pairs of parameters that you can set to add context to the event. That’s a lot more params than a traditional event hit with Google Analytics. The downside is that you will not see all of this data in the interface by default – you have to go into the Firebase console and “register” them to have them appear in your reports, and you can only register up to 50 custom event parameters per project (40 numeric, 10 text). The data is included in the BigQuery export if you have that enabled though.

There are some other considerations as well, such as custom dimensions in Google Analytics – these can be user-, session-, hit- or product-scoped. You can set up to 20 of them for the free version of Google Analytics, or 200 for the 360/enterprise version of Google Analytics. In Firebase, your options are to either use custom parameters attached to events to hold custom data or set up user properties. User properties are similar to user-scoped dimensions in Google Analytics, where values set for a given user will automatically persist in all future interactions associated with that user. You have a limit in Firebase of up to 25 user properties per Firebase project (not app).

There are also a lot of differences in the reporting options between these two tools, such as:

  • No ability to create custom reports or dashboards in the Firebase interface
  • Limited amount of event parameters (50) can be seen in Firebase reports (plus you have to register them in order to see any, they don’t just appear in your reports). Plus, only ten of those can be text.
  • Limit of 15 custom conversion events in Firebase per project (compared to 20 goals per view in legacy Google Analytics for apps)
  • Lack of more granular reporting around ‘sessions where certain activities occurred’ in Firebase – this also poses challenges for audience segmentation and retargeting based on session-specific behavior, as is common with Google Analytics

To learn more about the reporting differences between Firebase & Google Analytics, check out my earlier post:

5. Rolling Up Your Data

In the past, if you had both an iOS and an Android version of your app, the two would be tracked separately for Firebase. This is no longer the case, so I wanted to point this out. Data is now at the project level, not app level, so while you can see data for a specific platform (‘stream’) in Firebase, it is rolled up into one data set now. This means you can see overall metrics such as users across all of the apps in a Firebase project.

Firebase data linked to BigQuery is now at the project level as well. BigQuery (or another external tool) would be the ideal place to sum up all users across web & app platforms, though.

With Google Analytics, you may choose to send your iOS data to the same or a different property than your Android data, for example. Or you could even send it to the same property as your website traffic, though we don’t usually recommend that.

6. Platform Support

Currently, Google Analytics for Firebase is available for iOS, Android, C++ and Unity, specifically – take a look at the documentation here. This support covers most platforms, but not quite all of them.

Consider OTT or “over the top” apps like Amazon Fire TV or Apple TV, for example. Many of these platforms can be configured for iOS or Android, for example, which Firebase supports. But if you’re working with Roku or Adobe AIR, for example, I’m not sure how much luck you’ll have. Just know that there are platforms out there that Firebase does not yet offer support for – so be sure to talk with your development team about this before getting your heart set on anything.

Firebase also does not offer a measurement protocol, making it less flexible than Google Analytics.

There are certain Firebase products designed for the web (HTML/JS) as well, but analytics is not currently a part of those offerings.

Still Not Sure?

If you’re still not sure which is the right tool for you, I suggest that you start by creating a game plan – outline each activity in your app and various user-related properties you may want to track for analysis purposes. Think about the data you will want and what type of reports you will need. The more you can start to plan for the analysis, the better idea you’ll have on what you’ll need out of your app tracking tool.

If you’re already using the GA SDK in your app, find out how the data you’re collecting could map to the Firebase data model – will it work well? How many custom dimensions are you currently using and how will you collect those with Firebase event parameters or user properties? Make a list of what you’ll need and that will help you understand the level of effort required to make the switch. Also, make note of any existing reporting infrastructure and how much of that will need to be updated to use Firebase data instead.

Some additional considerations:

Make sure you talk with your dev team about your particular apps – make sure there is support for them if you want to try Firebase and find out if any of your apps already have tracking set up with the GA SDK, for example. Switching to the Firebase event logging schema would require some work!

Consider whether you may have a need or interest for other Firebase products, even down the road – take a look at the offerings here (many of them are free). Firebase products are designed to be used together, such as to:

  • send a user a notification with Cloud Messaging to encourage them to re-engage with your app
  • customize an experience in the app using Remote Config based on certain events or actions the user takes in the app
  • perform A/B testing with Remote Config
  • create dynamic user audience lists based on Predictions and machine learning

Getting the Best of Both Worlds

There are a lot of benefits to each platform, so why not take advantage of both? We often do just that.

By installing the Firebase SDK and the Google Tag Manager SDK, you can start collecting data in both the Google Analytics for Firebase reports as well as in Google Analytics (no GA SDK needed). This can be very helpful for a number of reasons:

  • Maybe you’re not yet comfortable with the reports in Firebase, so you want to have Google Analytics as your ‘back up’ for reporting purposes while you warm up to the event-based data model in Firebase
  • Maybe the reports you want (custom ones, for example) are simply not yet available in Firebase
  • Maybe you want an easy way to roll up your iOS & Android data

Note that the data will not line up 1:1 between Firebase and Google Analytics – you may end up using only certain reports out of Google Analytics while you become more comfortable with Firebase, for example. It is important to understand the differences between the two before going this route. Again, take a look at this Firebase reporting introduction post – familiarize yourself with the key differences and make sure you’re able to explain them to your colleagues 🙂

If you wish to try this approach, check out some of our other blog posts on this topic – Getting Started w/Firebase Analytics & Hybrid App Tracking (instructions included in both!).

To further simplify the options, here is a table of what you need based on where you want to do your reporting:

If you want reports in: You should install:
Firebase Firebase SDK
Google Analytics GA SDK OR GTM SDK
BOTH Firebase & Google Analytics Firebase SDK + GTM SDK

Amanda Schroeder is a Senior Consultant and comes from the marketing industry where she found a need for accurate, insightful data that could aid in making results-driven decisions. Amanda’s passion for building solid measurement strategies and connecting all the pieces of integrated digital and traditional marketing campaigns has led her to her current role at LunaMetrics.

  • John Wedderburn

    Hi! I’ve currently got a discussion going with the developers working on an app for the organisation I work for. There’s some concerns about development time – which in your opinion is quicker (or least complex) to implement – Firebase or legacy SDK? Thanks very much!

    • Marius Gold

      Least complex for me would be Firebase as there is plenty of videos and support online. But Firebase reports are quite difficult to read and the interface lacks a lot of features that GA has. So i would go for GA SDK if the reports will be consulted by beginners but Firebase SDK if the end users are expert (or understand the data model of Firebase)

  • bluepanda

    As far as I understand, you can only use either one or there’ll be versions conflicts.

    Edit: Oh I didn’t see you weren’t using the GA SDK, my bad.

    • Marius Gold

      You can actually use both but it will mean double tracking for you in your app… It’s funny to test but clearly hard to integrate & maintain for developers

  • Marius Gold

    Hey Amanda! Great article on the subject. I currently use Firebase SDK + GTM SDK but I can notice some differences between the numbers of events or screenviews in the Firebase vs GA reports (about 5 to 20% sometimes). What can be the causes of this phenomenon ? Thanks again for the article

  • Jerry Books

    I wanted to share my experience with selecting a mobile backend for my app.So, I used to run my applications (I have several in the app store(s)) on Parse and was pretty happy with the backend until Facebook decided to shut down the service. After that I have evaluated all listed options and was not happy with any of them for various reasons. Firebase was not a good fit because the of their approach with JSON document being a database – I did a stress test with million nodes in the tree and the service was not performing well. AWS and Appery are quite complex and become expensive very quickly while Azure and built.io are quite limited in the capabilities. Kinvey is both limited and super expensive once you start doing something more serious in the app. In the end I chose Backendless (https://backendless.com) for my backend. The service has native SDKs for all major mobile and web platforms. The usability and developer experience is by far the best I have seen. The service has an extremely flexible server-side code model where I can deploy Java and JS server-side code to override default handling of the API and to create my own API services. My apps leverage social (Facebook, Twitter, Google) login, geolocation, file upload/download, push notifications (iOS, Android) and of course data persistence, which has really awesome support for complex relations. Check it out if you are looking for a flexible and very reasonably priced backend.

Contact Us.

Follow Us

1.877.220.LUNA

1.412.381.5500

getinfo@lunametrics.com

Questions?
We'll get back to you
in ONE business day.
Our Locations
THE FOUNDRY [map] LunaMetrics

24 S. 18th Street
Suite 100

Pittsburgh, PA 15203

THE STUDIO [map]

4115 N. Ravenswood
Suite 101
Chicago, IL 60613

THE LODGE [map]

2100 Manchester Rd.
Building C, Suite 1750
Wheaton, IL 60187