A Google Tag Manager Wishlist for 2019

Over the last few years, the Google Tag Manager product team have done an incredible job responding to requests and developing the platform. From enterprise functionality like Zones to time-saving features like RegEx table variables and element visibility triggers, the past 18 months have seen GTM go from strength to strength.

That said, in the spirit of the festive season – specifically the issuing of outrageous demands – I’ve decided to put together a list of everything we don’t have yet. This is by no means a comprehensive list, nor is it in any particular order; instead, it’s a mixture of little time-saving improvements and major new features which would benefit power users.

Enjoy, and please do let me know in the comments which features you would be excited to use in 2019.

1. Tag Last Fired Timestamps

Google AdWords already lets you see the date & time at which conversion pixels last fired. This is invaluable for troubleshooting problems with your tag implementation and conversion tracking. I’d like to see this feature within GTM for all tags types.

Adwords last fired 2

This is one of those features which I suspect would be harder for the team to implement than it sounds, but it has huge potential. The ability to sort tags by the date on which they last fired would make container tidy-ups and associated debugging work far easier. When it comes to stripping out legacy code, the ‘Last Modified’ date can be a useful hint, but ‘Last Fired’ would be game changing.

If this feature were to be implemented, it opens the door to a whole host of possibilities including alerts (i.e. “Notify me when this tag goes 24 hours without firing”) and filtering lists of tags for clean-up purposes (i.e. “Show me all tags that haven’t fired in 1 year or more.”).

2. Bulk Actions

Our last request may have given Santa a heart attack, so we’ll follow it with something slightly more modest. In the interest of making it quicker to carry out bulk actions to an entire group of tags or triggers, I’d like to see the checkbox functionality we currently have within folders expanded.

GTM folders

Currently the options here are limited to ‘Move to folder’ and ‘Folder from selected’. Anyone who’s ever had to delete 50 deprecated tracking pixels will tell you that bulk actions (such as pausing all tags of a certain type) have the potential to a big timesaver!

Somewhat related to this is an overhaul of the entire folders mechanism. I’m particularly keen to see a system which allows one item to be included in multiple folders, thereby allowing for multiple overlapping systems of categorisation. The launch of Zones earlier this year negated some of the shortcomings of folders, but that’s a 360-only feature. Santa should not discriminate.

3. Preview Mode Persistence

How many times have you wanted to test a click trigger or form submission event and resorted to hammering the ESC key after clicking, in order to prevent the next page load? If your answer is >0, then you need to try David Vallejo’s GTM/GA Debug Chrome extension, and read Simo’s great post from a month ago. I rely on the GTM/GA Debug extension almost daily; it enables you to see a list of dataLayer pushes and GA hits across page loads, insight which can be invaluable for debugging.

GTM GA debug

The GTM/GA Debug Chrome extension. If for whatever reason you can’t use an extension to test triggers, at the very least you should try Ctrl + Clicking.

As cool as this is, however, I’d like to see GTM’s Preview mode overhauled with persistence across page loads. The ability to inspect the contents of dataLayer pushes, review the data model and variables at a specific point in time, and check your tags and their associated triggering conditions across separate pages would be really empowering. I’m envisaging this as a ‘Record’ feature, somewhat like Google Tag Assistant – running a recording would retain Preview Mode data in local storage, making it possible to debug an entire journey across multiple page loads.

4. Better Code Syntax Highlighting and Debugging

Writing code in GTM was a pain until syntax highlighting and indentation was added back in 2015. This was further improved several months ago with the addition of a suggested variable dropdown (just type `{{` in the code editor), and the ability to inspect differences between versions of Custom HTML tags.

However, there is still scope for the usability of code authoring in GTM to be improved. Anyone who’s relied extensively on the Custom JavaScript Variable method of Enhanced Ecommerce implementation will have probably come up against shortcomings in the past.

GTM custom JS

The Custom JavaScript Variable method of implementing GA’s Enhanced Ecommerce tracking

If there’s a typo in your code, or you reference a `{{variable}}` that no longer exists, you won’t know about it until you attempt to create or publish a container version and are faced with compiler error. I’m not suggesting that GTM should turn into a full-blown IDE, but given GTM’s proprietary way of parsing these tags (and their specific stipulations – custom JavaScript variables must be functions that `return` a value) I think that some form of on-the-fly error checking would be beneficial.

5. Stocking Fillers

All those little improvements that the GTM team roll out every month or two don’t go unnoticed by regular users of the platform. If I were to make a humble request for a minor new feature, I’d ask: Why isn’t there a built-in tag type for the Facebook Pixel?

It’s a minor gripe, and I know that copy-pasting the tracking code into a custom HTML tag works fine, but you can’t beat the convenience of a built-in template. Let’s say a client has enabled a Type Restriction in one of their container zones to prevent Custom HTML from firing, then your innocuous Facebook pixel will run headlong into the organisation’s (wise) security policy. Give us a built-in tag type, please? :-)


Thanks for reading! I hope you’ve enjoyed this wish list. Please let me know your GTM feature requests in the comments.

Comments are closed.

  • Hey Tom,

    Cache validation is a nice feature – the gtm.js script is a bit of a pariah when it comes to site speed optimisation. On that note, on my wishlist, I’d love it if GTM offered more tools to modify the headers and content of external JS scripts. Perhaps a tool to proxy external scripts that allowed me to selectively minify, modify and compress?

    Just a generally faster gtm.js would be nice too!


Join the Inner Circle

Industry leading insights direct to your inbox every month.