Firebase Analytics, Are prescribed event parameters also counted as custom parameters? - firebase

I'm setting up Firebase analytics for my app for both android and ios. I just learned that there's a 50 custom parameters limit I can create, also learned there are prescribed event parameters that firebase suggests with recommended events.
My question is, are these prescribed parameters counted as custom parameters when used?
My guess is yes, but I want to be clear before I actually start coding and possibly mess up with the number of parameters.

By "custom parameters" do you mean custom parameters in event? If that's the case then limit is 25 per event.
Maybe you thought about custom parameters in reporting? Then the limit is indeed 50, but it is only for reporting.
If you ask about user properties then the limit is 25 per app and no - predefined/default user properties don't count, so you can add 25 user properties yourself.
As a general rule - usually default stuff doesn't count for limits.
For more info on up-to-date limits see here: https://support.google.com/firebase/answer/9237506

Related

How can I easily analyze Firebase A/B test results with event parameters?

We use Firebase A/B test product for our mobile apps. We need to reach the parameters of our events and make a deeper analyze. We have worked with BigQuery before for this, but it requires a lot of effort.
Let me tell you briefly about our problem:
Let's say we have an event called add_to_cart. We want to look at the number of times the add_to_cart is triggered from a specific screen in the A/B test results. For example, those whose firebase screen class is category_page. This data can be accessed by writing a query over BigQuery, but create extra effort for different needs.
Is there a short way or tool about doing analysis by event parameters?
As we find Firebase's reporting and analysis insufficient, we will decide to use a different tool. If anyone encounters such a problem, it is possible to make a deep analysis through BigQuery.
Another way you can use Audience as a hacky way.
1. Go to Custom Definitions section and create a custom definition.
Your scope should be "User". Select firebase_exp_<N> as the User property. Because Firebase defines a property for each user it adds to the experience. You can find the <N> number from the link on your A/B test page.
E.g. your A/B test link is like: https://console.firebase.google.com/u/0/project/your-project/config/experiment/results/20. The <N> number is 20 and user property is firebase_exp_20.
2. Create Audience for each control group
Create a new audience according to this created dimension value. A value of 0 corresponds to Baseline. Each control group after that continues with consecutive numbers. (1,2,3..)
3. Go to Analytics
Go to Analytics and do your analysis for each control group with these Audiences.
I hope it helps.

Track everything inside GA using only one custom dimension and one custom metric

What are the drawbacks of using a single custom dimension and a single custom metric in GA to track everything?
Ok, I am limited to 20 custom dimensions and 20 custom metrics for a property in GA. But the number of values for a single dimension is unlimited.
So, I will be able to, for example, create a dimension called Dimensio and a metric called Metri. Then, if I want to track a custom event called Ev1 I will tag on Dimensio with value Ev1 and on Metri with value 1.
I am just suspicious, why having such a solution GA ever worried about having 20 dimensions and 20 metrics (it would be enough to have 1 dimension and 1 metric).
Thank you.
There are numerous reasons/use cases where you'd want more than 1 dimension. I'd suggest some reading on scope.
One use case that will break the 1 dimension usage:
For a music streaming service, you want to track the user type (premium vs free) and as well as the version of the app (v1.0.1 vs v1.0.2) for debugging purposes.
The user type should be on a user scope, as in it will persist as long as the user doesn't clear their cookies. The version might be on a hit scope, as you might push out an emergency fix part way through the user session.
Using the above use case, you cannot report on the user type as well as version in the same report if you were only using one dimension.

Custom events in Firebase

I know this has been discussed a lot on SO, but even based on the previous questions and answers I still can't quite understand the details of how event logging is really supposed to work in Firebase.
Let's say somewhere in my code I have this:
FirebaseAnalytics mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
Bundle bundle = new Bundle();
bundle.putInt("card_id", 912);
mFirebaseAnalytics.logEvent("card_open", bundle);
Do I understand correctly that the "card open" even should now appear in Firebase Console with the "card_id" parameter?
Then I click More > Edit parameter reporting, enter the name of the parameter I added in my code, and it should appear on the list.
I have read the docs several times, but I still can't get it. Can I not even use any of the events and parameters provided by FirebaseAnalytics.Param and FirebaseAnalytics.Event and just send custom events/parameters (within the known limits, of course).
Another question is whether the limit on the number of global parameters force you to use Big Query?
Thank you!
You're correct. You should see the card_open event with card_id parameter in the analytics console.
Note that there's a delay in the analytics reporting, about 4 to 6 hours after it was logged and uploaded by the device.
Just to ensure that your implementation is correct. I mean, to verify that the events, parameters and user properties are logged in the right time and the right place correctly, use the DebugView console.
I also believe that you should be able see the card_id parameter in the custom reporting for card_open event, considering the delay in the reporting.
For your last question, the parameter limit is on a project level perspective now, compared before that it was per app. Parameters with the same name across different apps will be counted as 1. Not sure, maybe Firebase would like us (developers) to use the parameters accordingly.

Firebase: Reduce the number of distinct registered text parameters (in name, type) defined in your project to 20

We have some exciting new features coming soon to Google Analytics for Firebase, but we’ve noticed some issues with your project’s configuration which will prevent us from making those features available to you.
Our records indicate that you have a Firebase project (****513) that will be affected.
In the past, we’ve enforced configuration limits independently on each of the apps in your Firebase project. However, going forward, these limits will be enforced on a project-wide basis. As such, we need your help in making the necessary and appropriate changes to your project’s configuration to pave the way for access to our coming upgrades.
Specifically, we need you to make the following changes by April 25, 2018:
Reduce the number of distinct registered text parameters (in name, type) defined in your project to 20.
What's the number of distinct registered text parameters? because Firebase just gives 10 text parameter quota per app!
So what I undrestand from searching that reporting is moving from app-level to project-level, as they said In the past, we’ve enforced configuration limits independently on each of the apps in your Firebase project. However, going forward, these limits will be enforced on a project-wide basis. - this means that they all share the same user properties: for example, lets say "favorite_item" is a user property on 2 apps, then it would just be a single user property at the project level.
Listed here are the configurations which will be based project-wide:
Audience: 50 *Audiences which are identical in name (case-sensitive) and definition across every app will be counted as 1.
User Property: 25 *firebase_last_notification is included. *User properties which are identical in name (case-sensitive) across every app will be counted as 1.
Custom Parameters: 10 text and 40 numeric *For reporting only. 25 custom parameters per event for logging still applies. *Projects with 20 registered parameters or fewer are going to be ‘grandfathered’, they will be allowed to keep them. However, they won't be able to register new parameters.
Conversion events: 10 *Custom events only. Pre-defined events are not included.
A response from Firebase Support to Denny Huang
Thanks for reaching out to us. We have sent that email to all customers who are exceeding
limits for future enhancements to the product.
If you got an email for exceeding custom parameters in your project, this means the project
(combined all apps) has more than 10 distinct text parameters and/or more than 40 distinct
numeric parameters. It the project exceeds 20 distinct text parameters, you must unregister
extraneous text parameters to get below 20. Otherwise, if the project already exceeds the
limit of 10 distinct text parameters, no changes are required at this time, but the limit of 10 will
be applied when you attempt to register new parameters.
I got the same message, the problem was I had too many parameter reporting.
Every event has 3 dots on the right side to "edit parameter reporting". Remove few of those to get to max 20 across all project.
In logEvent documentation google documentation you can read:
Logs an app event. The event can have up to 25 parameters. Events with the same name must have the same parameters. Up to 500 event names are supported. Using predefined FirebaseAnalytics.Event and/or FirebaseAnalytics.Param is recommended for optimal reporting.
Also you have a limit on user properties:
If your app needs to collect additional data, you can set up to 25 different Analytics User Properties in your app. Note that user property names are case-sensitive and that setting two user properties whose names differ only in case results in two distinct user properties being logged.
it seems that you are logging an event with more than 20 different texts in the event parameters in all your apps

Clarification on custom event param limits in Firebase

I've gone over a ton of documentation on this topic and still aren't sure if the 25 custom params/property limit in Firebase is per app or per event name?
Say I have 50 different events with 5 unique property names each, that would be a total of 250 unique property names. Is such a thing supported or do I start with a limit of 25 across all events?
I have Firebase hooked up to Bigquery so I'm less concerned about the limitations in the Firebase reporting admin.
Thanks.
Limitations for each Firebase project:
Limit for 25 params is per logEvent call.
Limit for 500 events is per app instance.
Limit for 50 custom parameter (40 numeric and 10 texts) is the global limit in Google Analytics for Firebase dashboard.
No limit for custom parameters in Big Query.
This is as of 03/20/2018.
The limits are documented here.
Google Analytics for Firebase lets you specify up to 25 custom
parameters per event (Android or iOS).
You can also identify up to 50 of those 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 card showing the data in each related event-detail
report.
The javadoc for logEvent gets more specific:
The event can have up to 25 parameters. Events with the same name must
have the same parameters. Up to 500 event names are supported. Using
predefined FirebaseAnalytics.Event and/or FirebaseAnalytics.Param is
recommended for optimal reporting.

Resources