Firebase Analytics: registering custom parameters in the console - firebase

I'm having trouble understanding what's the benefit of registering the custom parameters of a custom event in the Firebase Analytics console.
Is it for analyzing the data or for logging the data?
If I don't register the custom parameters, will the events still being logged successfully?
If I want to analyze the data in BigQuery, will I first have to register these parameters in the Firebase console?
If I'm using more custom parameters in my app than the "Global parameter reporting quota" of Firebase, then will these events still being logged? Or I might "lose" the data for these events?
I've read the documentation thoroughly but it's not clear how the custom parameters are being handled.

I will answer my questions since I now have a clearer picture:
TL;DR: If you want to analyze the custom parameters in the Firebase console, you first have to register them. If you want to analyze them in BigQuery, you don't have to register them, but you need to link your project to BigQuery before you start logging these events.
The events and custom parameters will be always being logged, regardless if you register the parameters in the Firebase console or not.
Yes, the events will be logged as well as the custom parameters, HOWEVER, in the Firebase console, you won't have access to the data of the custom parameters unless you register them. And currently there is a limit of 10 text parameters and 40 numeric parameters. So registering the parameters in the console will allow you to analyze these parameters in the Firebase console.
NO, BigQuery will have the data for all events and parameters even if you don't register the parameters in the Firebase console. HOWEVER you need to link your project to BigQuery (requires a payment plan), BEFORE you start logging the events in the app. BigQuery will have access to everything from the time you link the project and onwards.
Previous answers apply to this question as well.
Sources: https://stackoverflow.com/a/44501664/658323 (answered by a Google product manager) & https://stackoverflow.com/a/44808845/658323

Answer to your questions in same order:
Both logging and analysis. Firebase provide a fancy interface for custom parameters too with a graph and number of times they have been logged.
2.Yes
Yes and also export the data to Big Query.
Events would be logged but not the custom parameters if limits are exceeded. Check out the doc for parameters limits.

Related

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.

BuildFire: Tracking Commerce and Conversion Analytics

I am attempting to track certain events in Buildfire's platform and have a few questions. I've integrated Firebase into a plugin not using the Buildfire API but by following Firebase's steps to integrating with a web app.
I'd like to be able to register the following events but don't see them mentioned in the Buildfire Wiki:
When a user signs up (creates an account) on an app - I believe Firebase registers users anonymously the first time they use an app since Firebase has been integrated but was wondering if there was a signup event when a user actually creates an account to distinguish between people who view the app and those who create an account
Paywall view (when a user tries to see premium content and is directed to the paywall).
When a user subscribes to a paid plan - additionally, I'd like to access the subscription information such as the price of the subscription.
These events would help drive funnels and deliver better conversion rate statistics. I've looked but just haven't found the documentation related to tracking these events within Buildfire. I've looked at the getUser methods under Authentication in Buildfire's API but don't see any user information returned regarding subscriptions.
Any information would be appreciated!
There are many ways to accomplish what you are looking for. I'll try to describe several so you can pick the method that best suits you.
Use the BuildFire integration with Firebase. This doesn't really change much on your implementation. However, you now will have the BuildFire Auth Servers sending your Firebase server, secure user information along with User Tags. If you have the user tagged when they view premium content, then you can run queries on this directly in firebase.
https://github.com/BuildFire/sdk/wiki/Buildfire-Firebase-Integration
Send your Analytics to BuildFire. This way you have one spot to view the users' journey
https://github.com/BuildFire/sdk/wiki/How-to-capture-Analytics-for-your-plugin
For more advanced analytics and funnel creation you can send your analytics to BuildFire and use BuildFire's integration with Segment.io which will allow you to pipe the data into your database, google analytics, mixpanel, or anyone of the hundreds of integrations they have.
https://learn.buildfire.com/en/articles/3225298-how-to-integrate-segment-with-your-app-for-additional-analytics

How can you prevent fake events in firebase analytics

I've recently set up Firebase Analytics with my website. I was beginning to add some events to be logged and realized any arbitrary event could artificially be called. I could just go into my browser's console and run the command firebase.analytics().logEvent('some_fake_event').
If you know a website is using firebase analytics, what's to stop you from simply spamming fake events into your console? The website owner's analytics would become fairly screwed up. Also, firebase mentions that there's a 500 event-type limit. One could also run firebase.analytics().logEvent('fake_event_1'), firebase.analytics().logEvent('fake_event_2'), etc. Oops, the website owner can't create any more new (legitimate) event types.
What is in place to prevent this?
The logEvent method will be available once you rely on standard firebase SDK. The only way to prevent this would be to obfuscate the library you're using.

Logging Analytics events from functions

We have three mobile apps that connect to our firebase instance: a client facing app, and two admin/employee facing apps. We log a variety of events in each, but we have several categories of events that we'd like to log that are not client-facing or initiated, but we need to attribute to a user. For example, if a user places an order and their payment is denied, or if they place an order that our system automatically cancels for some reason. Is it possible to log these from a function? We know the user ID, so it would be easy for us to attribute the event to the correct user, but I don't see a way to do this from a function.
Firebase Analytics does not support direct logging of events from sources other than the mobile app. However, you can:
Export your Firebase data to BigQuery, making sure that your events have the ID of the user
Write backend code to log other events to another table in BigQuery, using the same ID
Write a query to join those tables on the common ID to get continuity among all those events
Essentially, you will need to corral all your data in BigQuery to make it possible to merge your data from both the frontend and backend.

Is it possible to get which user triggered an event in Firebase Console?

Im learning how to use the analytics tool of firebase, i have the following problem:
I'd like to get who triggered those events, how would i got about doing that?
Google Analytics for Firebase only collects anonymized data by default. The console doesn't give you the identity of users who trigger events.
If you want per-user information, you're going to have to write client code to set a user property with the identifying piece of data (for example, a user ID), then export Analytics data to BigQuery, and make queries from there.

Resources