Noise to Signal


Introducing the Google Analytics App+Web Migration Tool

Like many analytics practitioners, I’ve been toying around with Google’s latest version of Google Analytics: App+Web. There are a lot of great new features (and many missing ones! It’s in beta.), but one thing that struck me was that there was no clear path for Universal Analytics users to migrate to App+Web. According to, there are 29 million installations of Google Analytics and 4.9 million GTM installations out there. That’s a lot of potential migrations!

That’s why I built, a tool that allows Google Analytics and Google Tag Manager users to easily migrate their Universal Analytics tags to App+Web.

Read More

Reverse Path Analysis with R, Shiny, and Google Cloud Run

A few topics I’ve been following have all converged into a single project that I’ll describe here and also demonstrate. I’ve blogged quite a bit about the googleAnalyticsR package which powers a number of my latest projects. The creator of that package, Mark Edmondson, has recently evangelized the use of Google Cloud Run and Google Cloud Build as cheap and effective ways to move your R projects into the cloud. I’ll be honest, until about 3 days ago I had no idea what these products did. I see the light now and am excited to share.

Read More

What I Learned Recreating 29 Storytelling with Data Charts in R

What I Learned Recreating 29 Storytelling with Data Charts in R

I’m putting the finishing touches on a project that I started just over a month ago: Re-creating the visualizations of Storytelling with Data using R. All the code is available on Github here. If you’re not familiar with the Storytelling with Data (SWD) book, it’s a master-class in communication through data and has become a must-read for data professionals. The lessons shared in this book have inspired many to prioritize context, reducing clutter, and focusing your audience’s attention through color, size, and position. A great example is shown below.

Read More

It’s Time to Rethink how Analysts Work and Collaborate

Any keen observer of this blog may have noticed that I’ve been spending a lot of time on creative applications of R towards web analytics. While each individual application of R is interesting in itself, what I’ll present in this post is a vision for how integrating R into an analytics team can fundamentally alter how analysts work individually and collectively through code. This is a first step towards developing a set of broadly applicable principles and best practices I’m calling MeasureOps (akin to DevOps and DataOps.)

Read More

How to Add Web Vitals to Google Analytics and Reveal a New Search Ranking Signal

Google recently announced an upcoming shift in how website performance will affect search ranking starting in 2021. Moving forward, there will be additional emphasis on a series of metrics called the Core Web Vitals which focus on how users perceive the responsiveness of your website. These vitals address a major flaw in how website performance was measured historically. Older metrics like “page weight” described specific networking or computing resources that might be taxed, but didn’t directly describe the degree to which those bottlenecks affected users. Consequently, it was difficult to ascertain what a “good” page weight might be, beyond the conventional wisdom of smaller is better.

In this article, I’ll show you how you can incorporate core web vitals into Google Analytics. If you’re just looking for the GTM tags and triggers to accomplish this, you can download them here.

Read More

Market Basket Analysis using Google Analytics Data

Ever since I learned about Market Basket Analysis, my head was spinning with ideas on how it could be applied to web data. To back up for a second, Market Basket Analysis (MBA), is a data mining technique that catalogs the strength in relationships between combinations of items placed together during a transaction. Applications often include:

  • Recommending content in the form of “Users who view X and Y also view Z”
  • Offering promotions for combinations of items to increase revenue
  • Better understanding of user behavior and intent
  • Updating editorial decisions based on popular combinations of items
Read More

Viewing Google Analytics Segment Overlap in R

Google Analyitcs segments are a fantastic way to organize the results of an analysis. There are, however, a few limitations of using segments in GA:

  1. They cause reports to become sampled after 500,000 sessions (or 100M with GA360)
  2. Only 4 segments can be compared at one time
  3. Segments are saved under your Google account which makes sharing them a pain
  4. When comparing segments, it’s hard to tell how much they overlap

All of these limitations can be resolved by bringing your Google Analytics data into R with the googleAnalyticsR library, but this post will focus on #4 above: Understanding segment overlap. The code generating this blog post can be found here.

Read More

Mobile App & Live Streaming Analytics: A Case Study with Hope Channel International, Inc.

Over the last 3 years, Noise to Signal has had the pleasure of designing and implementing a robust analytics system for Hope Channel International, the media arm of the Seventh-Day Adventist Church. Hope Channel’s shows focus on faith, health, and community and reaches millions of viewers across dozens of countries in just as many languages. When I was introduced to Hope Channel in 2017, they didn’t have any hard data related to video performance or live-stream viewership. They were, in effect, flying blind as it related to scheduling and programming decisions. Today, they have near real-time access to granular data related to show performance and viewership trends.

Read More

Introducing Differential Scroll Tracking with GTM

One of the benefits of being a freelance analyst is that I have access to dozens of different client instances of Google Analytics and Google Tag Manager. One common implementation I find is scroll tracking. Whether through a custom plug-in or GTM’s out of box tracking, clients often implement events that look like this:

Read More

Read More Posts

Home   Blog   Portfolio   Contact  

Bringing clarity to marketers in a noisy world © 2023