We have recently implemented Firebase Analytics for iOS. We have a set of Custom Events and they work great.
But we are being flooded with "user_engagement" events that have no value whatsoever to us.
In our initial extremely light testing with 2 users, we collected almost 1,000 user_engagement events. In production this will easily become millions per day. This is hugely wasteful to us in many ways (battery life, backend data hassles, storage etc.).
Is there a flag in the Firebase SDK to only send custom events?
We turned off screen_view events which are also of no value to us, but could not turn off user_engagement without losing our custom events.
Turning off FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED killed our custom events.
(Google sales engineers -- please refrain from enlightening on why we should want these events)
Related
In Firebase, It consists of several events which are sent along with additional key parameters, some of those events contain around 30 key parameters and even more.
For Google Analytics this is not an issue since an event can be set up to be sent with 200 custom dimensions, nevertheless we are now required and forced by Google to use Firebase for apps, Firebase has a limitation of 25 parameters per event.
How do we proceed in case we only care about Google Analytics data.
Based on the solution of the above, what would happen in Firebase events?
Is there a way to have the events sent to Google analytics as well as Firebase without
causing any changes in Google Analytics? If so, how!?
Some of the events are reaching Firebase but not Google Analytics,
what could possibly be the reason, how should someone start an investigation?
I am using Firebase for analytics and I have enabled firebase persistent storage which helps to send the analytics events to firebase when the device comes online but the limitation is it only sends 72 hours data to Firebase analytics.
I want firebase to get at least offline analytics data of the last 10 days.
Can I achieve this by storing this analytics event in core data when the device is offline and send this event to firebase when the device is connected to the internet?
Or is there any alternative way to achieve this?
I only want to send the event name and timestamp of the event.
You can probably do something to store the events locally, but it'll be finicky and error prone.
When storing the events yourself and then submitting them when the device is online, I see many potential problems. Off the top of my head:
There is no API to track the lifecycle of Firebase's built-in purging of analytics event. So you have a decent chance of events being logged twice.
You can't backdate the events, so any events you fire upon reconnecting are going to show up as having happened then.
You're likely going to miss events that Firebase logs automatically. You could probably compensate, but at that point you're almost building your own Analytics solution.
Honestly that is some of the potential problems, and you're likely to encounter many more. I'd seriously consider if the effort is really worth it, or if you'd be better off picking another solution.
Some solutions that come to mind:
Log your own events directly to BigQuery. Then merge then with Firebase's exported Analytics events, and deduplicate the results.
Pick an analytics provider whose API meets your requirements directly.
We are doing an integration with Google Calendar Api, trying to publish events in a calendar, and then add them to the invited users (attendees) in their primary calendars. After doing a couple of tests and publications we skip the error message:
Calendar usage limits exceeded. [403]
We have read the documentation and the limits of petitions, but we are not passing at any time of that limit, and we skip the same error. We have seen in forums and in the same documentation of the API, that the reasons can be diverse, like the publication of more than 25 calendars, overcome the 10,000 events, etc.
In our case, we do not overcome any of those limitations. To get an idea, we did not surpass the 200 events in a couple of days. And since we started testing, events don't exceed 500. That is why we are trying to contact you as the last solution, because we do not know where the problem is.
Is there are any daily or sendings attendees exact limits ? Because we need to launch and update many of them, and don't know how to do it. How can we publish and share this events without having the limitation failure? In our Google Console we say that the quota still remain 1.000.000 queries per day.
To make myself understood, my procedure is: I have a general Calendar with a Json Keys, and I publish all my events in it. Then, I trying to add attendees and publish(share) part of my events with them. But I have the same error for days. I know that Google Calendar limits the number of invitations a user can send to external guests 100-300 guests exactly. But I do not know if is a limit per hours, days, or account? How we can do to publish many events with attendees without limits? Is there a solution for that?
As can be read in this post, besides what is written in the documentation itself, this is a hard limitation from Google to stop spammers.
Currently there is no real solution and it's up to Google. There are rumors that Google is trying to tackle this issue but nothing has changed in the mean time.
Basically, your only option is either to wait and see what Google does with this or abandon their solution and find an alternative.
We've designed a touchscreen "app" which is essentially just a webserver and set of html files running on a machine. However, the machines these apps run on are frequently offline - they store their actions and when back online send them to our server as a batch. We'd like to have google analytics for tracking users and their actions, including event times during the day. Is there any way to override the event time when posting to google analytics to force it to be the time our service has recorded for the event, rather than the time analytics received the event? I looked through the documentation but didn't see any way to override that. I suppose I could use a custom field(?) but it would be far more convenient if there was some kind of override.
Thanks
I am writing an Android app and I am tracking some events through Google Analytics. Most of those events are interactions of the user with the app.
I am querying Google Core Reporting API to get detailed information about those events.
I am interested in finding out, for a particular session, the order in which the events happened. I have tried sorting the events by date, hour and minute, ("ga:date, ga:hour, ga:minute") but this is not good enough as some events happen within seconds of each other.
Is there any way I can get the list of events sorted by the order in which they were sent out?
Thank you very much.