GTM Listener Firing Order Test

Because I was bored, I did a quick test to sort out the firing order of competing GTM listeners. If you’ve done your homework (i.e. read my article on GTM listeners), you’ll remember that GTM listeners are set up on the document node of the document object model (DOM). I wanted to test what the firing order is if you have multiple competing listeners on the same page. I tested with the following listeners (make sure you read up on auto-event tracking if you are completely baffled at this point): Read More…

Google Tag Manager: The History Listener

There’s a new listener in town! It’s a few days now since the Google Tag Manager team unleashed the History Listener, and the time has come for me to tell you what this baby can do. The History Listener is designed to be used on websites where content is loaded dynamically. Typically, these websites make heavy use of AJAX (Asynchronous JavaScript and XML), which is designed for loading content in the background and serving it dynamically without having to reload the page. Read More…

Google Tag Manager: Playing by the Rules

There is a new version of this guide for GTM V2 here. (Last updated April 2014) I see Google Tag Manager’s operational model as an analogy of Montesquieu’s three-branched government theory (don’t leave just yet, I’m getting somewhere with this). We have the legislative power of tags (what should be done), the judiciary power of macros (explore the context and circumstance of each tag), and the executive power of rules (make the tag happen). Read More…

Tag Management Does Not Make IT Redundant

Here are a few quotes I found on the web regarding tag management and IT departments: Original text here Original text here Original text here Original text here And of course there’s the home page of the Google Tag Manager website itself: The problem in all these quotes is in the rhetoric. Don’t get me wrong, all of them make a valid point, but they also do their best to antagonize IT as a slow, antiquated, process-driven, bureaucratic, revenue-hating, nerd-monster, whose sole objective is to make life difficult for marketers. Read More…

Some Awesome Google Tag Manager Resources

When push comes to shove, I’m a pretty lazy guy. I enjoy nothing more than just to stretch my legs on a couch, pick up my iPad, and read what’s going on in the world. I skip the news, since they’re just full of depressing stories. Instead, I head over to my favorite Google+ communities to see what’s new in the blogosphere. This approach has led me to some pretty amazing individuals, whom I follow like a suckerfish. Read More…

Why Don't My GTM Listeners Work?

Ever so often I come across a Google Tag Manager setup where GTM’s own auto-event listeners don’t perform the task they were supposed to. Listener problems seem to be a hot topic in Google+ and the Product Forums as well. There may be many reasons why your listeners don’t work, but a very common trend is that you have conflicting JavaScript libraries or scripts running on your page. Let’s explore how listeners work before tackling the problem. Read More…

Macro Guide for Google Tag Manager

I’ve written a new Variable Guide for Google Tag Manager, which covers the new GTM UI. This guide is for the old UI. You might be vaguely familiar with macros if you’ve ever used a computer. Basically, whenever you perform a complicated task with a simple gesture, or reuse complex code with a simple input mechanism, you’re using macros. Think keyboard shortcuts. In Google Tag Manager, this is the essence of macros. Read More…

Google Tag Manager: The Lookup Table Macro

Having just come hot of the press with my latest article on GTM and Content Grouping which, to my delight, Bounteous had written an amazing tutorial on earlier, Brian Kuhn and the amazing Google Tag Manager development team came out with another incredible new feature: The Lookup Table Macro. In software engineering, a lookup table is an array which takes away a layer of complexity in runtime computation, and replaces it with a simple value assignment based on array indexing. Read More…

Google Tag Manager: Content Grouping

Content Grouping is a nice new feature from the good folks at Google Analytics. Basically, it allows you to group your content according to a logical structure. You can create up to five Content Groupings, and you can have as many Content Groups within these groupings as you like. The difference between a Content Grouping and Content Group is hierarchy. The second is a member of the first. Read Justin Cutroni’s post on Content Groupings to get you started. Read More…

Universal Analytics: Fire Script Just Once per Session

There is a new version of this post for GTM V2 here. While going over my previous post about using weather conditions to segment data in Google Analytics, I started thinking about performance issues. Since I’m using a visit-scope custom dimension, it seems futile to have it send the weather details with every single page load. The odds of the weather changing drastically during one visit are slim (unless you live in the UK), and I have yet to come up with a good reason to change my on-site behavior because the weather changed from a drizzle to a downpour. Read More…