iOS: Issues with switching from Google Analytics to Firebase Analytics - firebase

I am using Google Analytics for years for my iOS apps and was truly satisfied with it. For my regret Google is sunsetting Google Analytics later this year so I am switching to Firebase API so I can keep tracking my apps. I already done most of the integration work and can see the events appearing in Firebase console. However, I can't see custom parameter values but only event count.
For example, sending event named add_book and adding parameter named isbn with value of 1234, I will be able to see in the console only the number of times that add_book arrived and also that it contains an isbn parameter. However, it seems there is no way to view the value (i.e. 1234) of the isbn parameter. I registered the isbn parameter for the add_book event as required. Am I missing something?
Does having the full functionality of the sunsetting Google Analytics (including advanced filtering + regex filters, etc.), means I should use both Firebase Analytics and BigQuery together?
By the way, I linked Firebase Analytics with BigQuery and exported the data as suggested by Firebase Analytics, but I can't see any Analytics tables yet in BigQuery. Do I need to allow several hours before I can view the exported data?

As of March 2019, Firebase Analytics is not so easy to use or test when setting it up (in comparison to Google Analytics). The main steps for setting up event parameters are:
Send your events with their event parameters. Send at least 80-90 events of one type, otherwise the parameters will appear as zero or "not set", until you reach 80 individual events.
The events will not display in the website until after one day. So wait for 24 hours.
When the events appear on the website, you must register their event parameters, with the '3 dots' menu -> "Edit Parameter Reporting" - Like this:
Then:
(Image credit: Firebase Analytics custom events params and Firebase Analytics. Can not add custom parameter to event )
After registering the event parameters, you must wait another 24 hours to see the parameters displayed on the website.
More info:
https://www.reddit.com/r/androiddev/comments/9zbvk4/alternative_to_google_analytics_not_firebase/
https://www.tatvic.com/blog/firebase-analytics-reporting-tips-overcome-limitations-favorite-mobile-app-analytics-tool-google/

In your event overview from Firebase Console you can enable parameter reporting for individual events. The option is found in the 3 dot overflow menu.
You can do that for up to 10 unique text parameters and 40 unique numeric parameters.
Beyond those limits or for more control BigQuery is the way to go. And yes you need to wait for your first data in BigQuery. They populate a new table with one days data every day once.

Related

How to see the Firebase Event Analytics with custom parameters in CSV report?

We've developed a Flutter mobile App and we've firebase account.
For our App we need to add Firebase analytics for the App Events such as button clicks.
We've integrated the Analytics SDK in the Mobile App and created an Events with custom parameters and we can see the count of Events and Users counts in the Firebase Excel/CSV report but we're unable to see the custom parameters in the report.
Our requirement is to see the Events analytics reports with the custom parameters in CSV report without linking the Bigquery. Please advise with the steps.
Thanks!
Custom parameters are included in the download as a CSV report. You can actually replicate this using the Firebase demo project. Go to Analytics > Events > click on level_complete event. In the level_complete page, you will see the level_name parameter card and its values. When you download this as CSV, you can see the list of level_name values in the file with metrics such as the number of times it has been logged and number of users who logged it.
Please note that when you register custom parameters, a data card for each parameter is added to the related event-detail report. However, it may take up to 24 hours for the data card to appear. During this 24-hour period, you may see (not set) appear as a parameter value. Once that initial 24-hour period has passed, you will see the expected parameter values from that point forward. See this documentation for your reference.
For seeing parameters in firebase dashboard as well as in csv report first check if the event is triggered in DebugView and then you need to define some custom definitions.
In new custom definition choose from your previously given parameters. Normally it takes several hours to get the parameters in event parameter.
The parameter will be shown in Dashboard as event parameter after 24 hours and you can download it as CSV/pdf
Also for analyze data you can use Google Data Studio which imports your data from analytics and helps to generate different types of graphical reports according to your need.

Retrieve firebase analytics full detail of events

We have a project with analytics enabled which tracks custom events.
Recently we needed to report on a specific parameter on these events but found the parameter was not included in the parameter reporting options, we have enabled this but the previous events over the past couple of months do not include this parameter now.
Is there any way to get the full data of events tracked to retrieve the data of this specific parameter before it was included in the parameter reporting options?
It is not possible, custom parameter reports are populated after you add them on your Firebase console.
When you register custom parameters, a data card for each parameter is added to the related event-detail report. However, it may take up to 24 hours for the data card to appear.

Track individual via Google Analytics

I am new to Google Analytics. I have a conversion set up, and I'd like to capture demographics for individuals who convert at e individual level. When a user converts, I'd like to pass the statistics from Google Analytics into my own database, or keep a record of the ID assigned at conversion in Google Analytics and download the data. Is this possible? I want to do analysis on who is likely to convert versus not - age, shopping habits, etc - and link these details back to the type of specific conversion.
Thoughts?
We if want to add add track users at individual level, try creating a Custom diamension and passing the userID everytime you make a GA call.
Next to view the same :- in tables that you view your analytics data, there will be this option called 'Secondary diamention', from the list that appears.. Choose the custom diamension name that you had assigned. Now you will be able to see each row with the userID along slide.
Add user ID to your tracking script
The first step to your question is to add the user ID to your tracking. If you have some way to identify users on your website (ie: through email marketing tool, your CRM, etc), then you should set up user ID tracking. Here is the Google Dev article about that:
https://developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id?hl=en
However, basically... you just have to add this to your tracking script (replacing the 'create' line you currently have, replacing "USER_ID" with the user ID your system gives them.
ga('create', 'UA-XXXXX-Y', { 'userId': USER_ID });
In addition, I usually include this UserID as a custom dimension, so that I can view it in Google Analytics and other reports. To do this, first set up a custom dimension for your ID, as a "User-level" dimension. Then just add this after your user ID is available (assuming this is your first custom dimension):
ga('set', 'dimension1', USER_ID);
Connect User ID to Demographics
Unfortunately, the demographics information that Google Analytics provides (under "Audience") is not compatible with custom dimensions (like userID). So, the API only allows you to pull the audience data in aggregate (ie: connected to City, number of users, pageviews of those types of people... etc). If this works for you, check out the GA Query Explorer (below) to try out different combinations of dimensions & metrics to drill down as deep as you can and maximize the information you gain from this demographic info.
Connect Google Analytics Data to Your Database
In order to connect GA data to your database in an automated fashion, you will need to set up some kind of scheduled process that runs a query off of the Google Analytics API. To explore what combinations of metrics and stuff are available, I'd suggest checking out the Google Analytics API Explorer and the Google Analytics API reference material. What I did was set up an SSIS package (using SSIS GoogleAnalyticsSource) as the data source, which made it fairly easy. Then just scheduled that to run daily, populating the data I want into my database.
Alternatively, you could download less complicated reports directly from Google Analytics and import them into your database with something like SQL Server Management Studio.

Getting MCF Conversions path data from Google Bigquery

I am using Google Bigquery to extract data on conversion paths from Google Analytics (GA).
When I analyze these conversion paths from the exported dataset, the last-click conversions match the Acquisition report in GA, but not to the Multi Channel Funnel (MCF) data. Apparently Bigquery doesn't really export raw data, but transforms it by deleting all last direct clicks. like described here: https://support.google.com/analytics/answer/1319312?hl=en.
Is it possible to get the Bigquery data to correspond to Multi Channel Funnel (MCF) conversion path data? To undo the deletion of last non-direct click and get proper 'raw' user level data?
All of the trafficSource fields in BigQuery Export for Google Analytics use campaign attribution as described in this processing flow, which will overwrite direct traffic with the most recent campaign (if there is one and it is within the specified timeout), as you mentioned.
If you are using Universal Analytics, you can adjust the campaign timeout to be shorter than the 6 month default. For example, if you set the campaign timeout to be one day, any direct visits that come in at least one day after a visit with a campaign will be attributed to direct instead of the previous campaign. This can be done with Classic Analytics as well using _setCampaignCookieTimeout. This technique will affect data collection from the time it is implemented going forward.
This thread is rather dated, so I thought I'd update just in case anyone else comes across this same question.
There is a field that was introduced (both in the Google Analytics interface and the BigQuery export) that allows you to match the numbers in the MCF reports. In BigQuery, look for the field trafficSource.isTrueDirect
BigQuery Export Schema
trafficSource.isTrueDirect
True if the source of the session was Direct (meaning the user typed
the name of your website URL into the browser or came to your site via
a bookmark), This field will also be true if 2 successive but distinct
sessions have exactly the same campaign details. Otherwise NULL.

How can I report custom events by visitor in Google Analytics

We use custom event tracking in our web application with Google Analytics to report user's behavior (for example - user clicks on key actions, client side errors, time measurements, etc.)
Each time the Google Analytics code is run on the client, we set a custom variable at the Visitor session to set the actual username of the user.
How do you use Google Analytics to report a table of all the custom events by visitor?
Our goal is to be able to have a storyline for each user, with all the events produced by the application correlated to its username.
There are no standard reporting views in Google Analytics that will give you this full view by default.
The best way to do this is with Custom Reports: Create a flat table custom report that has the custom variable value as a dimension, and the custom event dimension you're interested as another dimension. Then, set the metrics you want (total or unique event hits, presumably), and set the filter to filter down to the specific event category or action you want to view against.
Below I have an API recommendations (from a previous version of this answer) for how to pull this, but it would be roughly the same for creating a custom report.
Depending on your exact needs, the API call would be structured something like:
Metrics: ga:totalEvents
Dimensions: ga:customVarValue1,ga:eventCategory,ga:eventAction,ga:eventLabel
Filters: gaEventCategory==Foo

Resources