Why Google Analytics App + Web BigQuery Export Rocks and Sucks

Google recently released Google Analytics App + Web which essentially is something like Firebase Analytics for web (or Google Analytics version 2 if you want to). This is exciting for many reasons, two of them are: Google is finally moving away from a user-session-pageview based model to one built on users and events It supports BigQuery export also for standard users That is awesome. These two are actually two of the primary reasons why I built datahem....

September 2, 2019 · 2 min · Robert Sahlin

Configure Firebase Analytics and Google Analytics app + web Bigquery export to EU region

January 2019 when I tried to set up BigQuery export on our Firebase Analytics projects I found out that I couldn’t chose region for the export and that it defaults to US. Since my employer is an European comapny I prefer to store the data in EU. This is the exact same issue that I had previously with GA360 BigQuery Export and I thought I would try to solve it in a similar manner (that has become part of the the GA360 BigQuery Export documentation for how to geolocate your data in EU)....

August 14, 2019 · 2 min · Robert Sahlin

Fast and flexible data pipelines with protobuf schema registry

MatHem is growing quickly and so are the requirements for fast and reliable data pipelines. Since I joined the company a little more than one year ago I’ve been developing an event streaming platform (named DataHem) to meet those requirements. 1 Background Before jumping into the solution architecture, I thought I would give you some background from a business perspective that has influenced the design choices. 1.1 Context MatHem is the biggest online grocery store in Sweden and to briefly give a context this is how the business works:...

May 31, 2019 · 8 min · Robert Sahlin

Google Analytics Campaign Timeout Settings

Pretty much every Google Analytics configuration I’ve seen have left the default Campaign Timeout Settings untouched. Also, it came to my knowledge that the tutor/s at the biggest digital analytics post-secondary education in Sweden instruct the students to keep the default settings. Hence, I feel obliged to write a post to clarify why you shouldn’t. Keeping default campaign settings is just plain wrong and will mess up your traffic data in all reports except attribution model comparison tool!...

March 5, 2019 · 3 min · Robert Sahlin

Analytics beacon transport mechanism gotchas

An important component in DataHem’s measurementprotocol application is the javascript tracker that emitts hits to the AppEngine collector endpoint. It is important that the tracker emitts all defined hits, if the tracker malfunction then there is no way to recover dropped hits downstream. Like Google Analytics, the DataHem tracker supports three different transport mechanisms; ‘image’ (using an Image object), ‘xhr’ (using an XMLHttpRequest object), or ‘beacon’ using the new navigator.sendBeacon method....

February 18, 2019 · 3 min · Robert Sahlin