Skip to main content

Firebase / Google Analytics

Google Analytics for Firebase, formerly Firebase Analytics, is now known as Google Analytics. It works great for your mobile apps! Oh, but Google Analytics for Mobile has been deprecated; they recommend you use Firebase Analytics, which, as you'll recall, is now Google Analytics. In recent news, you'll be excited to hear that Google Analytics now supports web apps, but don't confuse that with Google Analytics for the web!

https://medium.com/firebase-developers/google-analytics-vs-firebase-analytics-vs-google-analytics-97ca645a8aff

Google Analytics / GA4

  • Unlimited Reporting
    • Analytics provides unlimited reporting on up to 500 distinct events.
  • Audience Segmentation
    • Custom audiences can be defined in the Firebase console based on device data, custom events, or user properties. These audiences can be used with other Firebase features when targeting new features or notification messages.
  • Features
    • Comparison Analysis
    • Segment Overlap Analysis
    • Funnel Analysis Technique

https://firebase.google.com/docs/analytics

  • In-app behavioral analytics
    • who your users are
    • what are they doing
  • Attribution analytics
    • effectiveness of advertising and other growth campaigns
  • Push notification analytics and crash reporting

YouTube - The Firebase developer's guide to Google Analytics

Firebase Analytics

Events

An Event is an important occurrence in your app that you want to measure. You can report up to 500 different types of Events per app and you can associate up to 25 unique parameters with each Event type. Some common events are suggested below, but you may also choose to specify custom Event types that are associated with your specific app. Each event type is identified by a unique name. Event names can be up to 40 characters long, may only contain alphanumeric characters and underscores (""), and must start with an alphabetic character. The "firebase", "google_", and "ga_" prefixes are reserved and should not be used.

https://firebase.google.com/docs/reference/cpp/group/event-names

Events provide insight on what is happening in your app, such as user actions, system events, or errors.

Analytics automatically logs some events for you; you don't need to add any code to receive them. If your app needs to collect additional data, you can log up to 500 different Analytics Eventtypesin your app. There is no limit on the total volume of events your app logs.

Extra events are dropped. A firebase_error event is logged with a firebase_error parameter which indicates the error code.

For example, you have a login page (with authentication methods of using Facebook, Google or Username/Password) and you'd like to track what is the most commonly used by the users. With this, you could log a custom event with the name of "user_login" and a parameter or login_method. After this, add the parameter in the custom parameter reporting to see the counts.

Parameters

Params supply information that contextualize Events. You can associate up to 25 unique Params with each Event type. Some Params are suggested below for certain common Events, but you are not limited to these. You may supply extra Params for suggested Events or custom Params for Custom events. Param names can be up to 40 characters long, may only contain alphanumeric characters and underscores (""), and must start with an alphabetic character. Param values can be up to 100 characters long. The "firebase", "google_", and "ga_" prefixes are reserved and should not be used.

https://firebase.google.com/docs/reference/cpp/group/parameter-names

Custom-parameter reporting Define custom parameters for your events.

Google Analytics for Firebase lets you specify up to 25 custom parameters per event (Android or iOS).

You can also identify up to 50 custom event parameters per project (40 numeric and 10 textual) to include in reporting by registering those parameters with their corresponding events. Once you register your custom parameters, Google Analytics for Firebase displays a corresponding data card in each related event-detail report.

Each parameter that you specify counts toward the project limit of 50. For example, if you specify the same parameter for 3 different events, then that counts as 3 of your 50.

User Property

A UserProperty is an attribute that describes the app-user. By supplying UserProperties, you can later analyze different behaviors of various segments of your userbase. You may supply up to 25 unique UserProperties per app, and you can use the name and value of your choosing for each one. UserProperty names can be up to 24 characters long, may only contain alphanumeric characters and underscores (""), and must start with an alphabetic character. UserProperty values can be up to 36 characters long. The "firebase", "google_", and "ga_" prefixes are reserved and should not be used.

Attributes you define to describe segments of your user base, such as language preference or geographic location.

https://firebase.google.com/docs/analytics/events?platform=android

https://firebase.google.com/docs/analytics/errors

https://stackoverflow.com/questions/50383729/what-would-happen-if-of-events-exceeds-500-on-firebase-analytics#_=_

https://stackoverflow.com/questions/37604275/how-to-view-event-parameters-from-firebase-console

Terms

  • Properties

In Google Analytics, a property is a website, mobile application, or blog, etc., that is associated with a unique tracking ID.

While you might think about your website or mobile app as a distinct, real-world piece of property, like a storefront, Analytics understands a property only as a resource associated with your tracking code. When you track a resource using Analytics, you include a property ID in the tracking code that you put on your web pages or in your app source code. Performance data, like number of users or screen views, for resources tagged with the same ID is collected into the corresponding property.

For example, if you associate one property ID with two websites, data for both websites appears in the same property in your Analytics account. You can then use views and filters to organize the data. You can segregate the data even further at the report level with tools like Segments.

Getting started

Create an App + Web property

Create a data stream

Data streams enable the flow of data from your website and/or app into Google Analytics. If you'd like to measure more than one touchpoint, you can add multiple data streams to your property. For example, you can add one stream for your Android app, one for your iOS app, and one for each website.

Activate enhanced measurement

When you add a data stream for your website and/or app, some basic parameters (such as language, page title, and screen resolution) are collected by default. With enhanced measurement, Analytics can automatically measure more interactions on your website such as page views, video views, and file downloads right out of the box. We recommend enabling enhanced measurement as you are setting up your App + Web property to begin collecting basic web events right away, without any custom tagging work required. You can disable enhanced measurement at any time

Enable data collection

The final step to get set up is enabling data collection, which allows your reports to populate relevant events from your website. This allows tagged data to flow to your new property (in addition to your existing ones), and is essential in order to get meaningful insights from your App + Web property.

Advanced Features

  • Enchanced Ecommerce
  • Track important success metrics with Goals
  • Analytics Intelligence

Important Points

There is currently no way to delete events once they are logged into Firebase Analytics that I am aware of. However, the events will drift out of the default view (which is set to "last 30 days") as time goes on, or you can switch the time period to a shorter time. As you mentioned, you can also click a column header to sort by some other value or "add filter" to filter by an audience or user property.

You can create a new Firebase project if you want to start from scratch. It's also a fairly common practice to use one project for experimentation and validation of your analytics implementation and then to switch to your production Firebase project when everything looks good.

Logged itemLimitCan I archive items if I'm close to the limit?
Distinct events500 per app instance, Automatically collected eventssuch as first_open and in_app_purchase do not count toward the limit.No
Length of event name40 charactersN/A
Event parameters per event25Yes
Length of event-parameter name40 charactersN/A
Length of event-parameter value100 charactersN/A
User properties25 per app instanceNo
Length of user-property names24 charactersN/A
Length of user-property values36 charactersN/A
Age of event (upload time)Events uploaded more than 2 days after they are logged are not included in the export.N/A

Configuration limits

Configured itemLimitCan I delete items if I'm close to the limit?
Audiences100Yes
Conversions30Yes
Registered user properties25Yes
Funnels200Yes
Registered text parameters50Yes
Registered numeric parameters50Yes
Registered custom conversion events30Yes

You cannot increase these limits by upgrading to the Flame or Blaze pricing plans. The limits are the same for all Firebase projects.

https://support.google.com/firebase/answer/9237506?hl=en

Attribution

Let's say you've spent some money on two different ad campaigns to bring users into your app. After a few weeks, you discover:

  • Ad campaign #1 resulted in 500 clicks.
  • Ad campaign #2 resulted in 300 clicks.

So, which ad campaign performed better? Seems like a no-brainer, right? Should you double-down on ad campaign #1?Well, hang on. What if you were to then discover...

  • Ad campaign #1 resulted in 500 clicks
    • But only 80 users installed and opened your app
    • ...and they spent an average of $1.20 each
  • Ad campaign #2 resulted in 300 clicks...
    • But 230 of those users installed and opened your app
    • ...and they spent an average of $6 each
    • ...and over 100 of them signed up for your newsletter?

Well, suddenly, that second ad campaign seems like a much better deal, doesn't it?That's the idea behind attribution. It's a powerful form of app analytics that not only determines which campaigns are bringing you users, but also which campaigns are bringing you valuable users that you care most about.

Pushing data to GA4

GTM Guide: dataLayer.push with examples - Analytics Mania

Others

https://github.com/PostHog/posthog

https://www.adjust.com

Heap - Better Insights. Faster. | Heap

Amplitude | Product Analytics & Event Tracking Platform | Amplitude

MixPanel

Mixpanel helps you learn how people use your app with mobile & web analytics. Instead of tracking page views, you can measure and see how people are actually using your app by tracking actions.