Knowing what is happening in your App is critical for an App to Grow. As the famous saying goes: “What can’t be measured can’t be improved”
Listen to the odiocast here:
Analytics can get very expensive very quickly. Google Analytics Premium costs $150,000 a year, pricing for most other tools start at more than a $1,000 a month. While all the tools have generous free tiers, they are also crippled when it comes to features. Bootstrapped startups can’t afford such plans, but do want access to power tools. This was one of the reasons we started our old company PureMetrics, but the market is already crowded and the Biggies are throwing their weight around, by providing Analytics as a feature for their Cloud products. Overall it is good for the ecosystem as it lowers the cost for everyone.
This post will dive into using Data Studio, BigQuery and Firebase to get your analytics done close to free.
First things first, I usually advise against “rolling your own” Analytics from Scratch. Basically if someone tells you they can have their own MYSQL or Mongo instance to log events, don’t listen to them. They plan to only solve part of the problem, storage, and have not thought about how data will be pushed to the server and how it will be queried.
An Analytics system can be broken down into 3 main components: — Ingestion — Storage — Query
We are going to use the following for the 3
The next question in your mind would be, why are we not using Firebase Analytics as is? Firebase Analytics is pretty weak when it comes to querying. You can’t even see all your event parameters on the Analytics Dashboard ( I don’t think it will improve too, as then people won’t move the data to Bigquery). Its super power is getting our events data into BigQuery for close to zero cost.
BigQuery is a full managed SQL DB provided by Google. I love it for 3 reasons:
Data Studio is a relatively new BI service provided by Google, which is Free to Use and easy to get started with. It does have a few issues, like only being able to work with a single table at a time, but it is not a show stopper, specially as we can merge tables in BQ, or create views to simplify the table structure
With this setup you need to integrate the firebase SDK in your apps to start passing events, and enable the Blaze plan to start pushing the analytics data into BQ. Once this is done you can start using data studio to build simple reports and share them with your organisation. If you have never used a BI tool before, it might take some getting used to but once you do, it will be a breeze to create reports. Here is a super simple report for our Alpha builds.
You can report up to 500 different types of Events per app Each event can associate up to 25 unique parameters Event and Param names can be 40 characters long You may supply up to 25 unique UserProperties per app. Names can be up to 24 characters long and values 36 characters
This is the exact setup we have at Odiocast. For the website we are using Segment to pass the data to BigQuery once in a day. From there we use multiple reports on Data studio to see who is doing what on the Alpha apps.
As a bonus, since Firebase is acting as a pipe to BigQuery, We also pass error and info logs when needed. On iOS I am cheating a little and passing message strings of my alert boxes
If you have any question do post a comment below.
If you liked the article do share using the ♡ button below
Create your free account to unlock your custom reading experience.