Session Attribution With GA4 Measurement Protocol

In this article, I’ll try to clarify the understandably murky Measurement Protocol functionality in Google Analytics 4. Measurement Protocol is a way to send events to Google Analytics 4 directly from a machine capable of sending HTTP requests (such as a web server). It’s an alternative collection method to the client-side libraries of Google Tag and the Firebase SDK. Measurement Protocol in GA4 is very different from its predecessor in Universal Analytics. Read More…

Track and Categorize All Link Clicks on the Site With Google Analytics 4

This is a guest post by Sebastian Pospischil, Evangelist Digital Analytics at TRKKN. All credit for the solution goes to him. The Summary section is the only one authored by Simo Ahava. You know the deal. Each and every day, clients reach out to you asking for custom click tracking for this call-to-action on that slider, or that button in this section of a page. They reach out to you because such things cannot be answered out of the box in Google Analytics 4. Read More…

Agency, Transparency, and Control: Unsolved Problems With Server-Side Tagging

I have been a strong supporter of server-side tagging, in particular Google’s server-side tag management solution. I admire the way it seeks to readjust the balance of control that typically has been in favor of the marketing vendors whose JavaScript libraries have been free to wreak havoc in the user’s browser. By inserting a buffer between the user and the vendor, the owner of the server-side tagging setup can take control over what data the marketing vendors can actually process of the user. Read More…

Content Analysis With GA4, BigQuery, R, Sheets, and Data Studio

This is a guest post – the first one in a long time! The foreword and summary are written by me, Simo, and the rest is by my esteemed guest author. How fortunate was I to have been contacted by Arben Kqiku, Digital Marketing & Data Manager from comtogether. Arben is one of our many Simmer students, and he’s walked through the Query GA4 Data In Google BigQuery course, learning a lot along the way. Read More…

One Tag to Rule Them All: Introducing the New Google Tag

For the longest time, Google has been working towards consolidation of their products to build a unified tagging platform. Products that are instrumented (or associated) with “tags” would fall under this umbrella. These comprise tools like Google Tag Manager, Google Ads, Google Optimize, and, of course, Google Analytics. If you’ve been peeking under the hood, you might have noticed how all the tools listed above already run through the gtag.js library. Read More…

10 Truths About Data - Revisited

Seven years ago, I wrote on my former employer’s (the amazing Reaktor) blog a tongue-in-the-cheek article titled 10 Truths About Data. Looking back on it today, I’m still proud of the handiwork, but I can’t help but think that some of the truths were wasted just to reach the magic number 10. So, today, I want to revisit these truths and provide a rehashed version for you, my dear reader. Read More…

Enrich Server-Side Data With Cloud Firestore

With asynchronous variables recently released in server-side Google Tag Manager, it’s time to dig into data enrichment flows using another release from the Google team. * drum roll * We have a new Google Cloud Platform API! It’s fast. It’s sleek. It’s beautiful. It’s Firestore! Firestore is a NoSQL, transactional, and scalable database that offers near-real-time write/read and sync operations for data. In practice, it’s a great way to enrich and widen the data that you pass through your Server container. Read More…

Asynchronous Variables in Server-Side Google Tag Manager

OK, that’s one unappealing title for a blog post, but rest assured that the content more than makes up for this obscurity. Recently, my favorite toy in the world, Google Tag Manager’s server container, introduced the capability to handle asynchronous operations in variables. This is done through a JavaScript interface known as Promise. A Promise is a way to run code in JavaScript without knowing what its eventual value will be. Read More…

Debug Guide for Web Analytics and Tag Management

One of the key skills for anyone working with web analytics and tag management is understanding how to identify where things went wrong, why they went wrong, and ideally how to fix them. There are plenty of excellent browser extensions for helping you debug, and we’ll discuss these in the guide, too. But most of all we’re going to use browsers’ own developer tools, as they are always the best source of truth for anything that happens within the browser window. Read More…

Server-Side Tagging With Azure App Service

To continue my extensive collection of Google Tag Manager’s server-side tagging articles, in this guide I’ll walk you through how to set up a Server container in Microsoft Azure’s App Service platform. For my previous guides on manually provisioning a Server container, follow these links: Amazon AWS (Elastic Beanstalk): Deploy Server-side Google Tag Manager In AWS Google Cloud (App Engine): Provision Server-side Tagging Application Manually Azure’s App Service is similar to AWS Elastic Beanstalk and GCP App Engine, in that it lets you create a web application from scratch with minimal effort. Read More…