Tom Bennet

Blog banner

Manipulating the Data Layer: JavaScript variables & Enhanced Ecommerce

August 8th, 2017
— for Builtvisible

This post sets out to solve a very specific problem: namely, how to balance the competing demands of a platform-agnostic Data Layer and the Enhanced Ecommerce plugin for Google Analytics. This might sound niche, but you’d be surprised how many large ecommerce websites using Google Tag Manager eventually run into this challenge.

Read on Builtvisible

How to Measure Performance with Custom Dimensions in Google Analytics

June 13th, 2017
— for Moz

Data-driven marketing means understanding what works. This article explores the ways in which the Custom Dimensions feature can supercharge your Google Analytics reporting setup with actionable insight into the ROI of your marketing activities. I run through several practical examples before diving into the various options for implementation.

Read on Moz

One Weird Trick to Avoid UTM Parameters

May 30th, 2017
— for Builtvisible

Aside from the duplication issues which are inherent to URL parameters, UTM tracking is a pain for marketing teams to implement and maintain. I've recently experimented with an alternative campaign tagging method; by combining hash fragments with GTM lookup tables, you can retain many of the benefits of UTM parameters while negating (most of) their drawbacks.

Read on Builtvisible

Go static: 5 reasons to try JAMstack on your next project

March 13th, 2017
— for Builtvisible

Whether you're building a blog, setting up an ecommerce site, or developing a JavaScript-powered single page app, the days of defaulting to WordPress for all but the simplest projects are over. Static site generators and ultra-fast CDN-based distribution are powering a new generation of websites, and the time to embrace this is now.

Read on Builtvisible

Google Analytics: A Guide for Beginners

March 8th, 2017
— for Builtvisible

A comprehensive guide to the basics of Google Analytics. This resource for beginners explores the fundamentals of digital tracking, the Analytics account structure, the new reporting interface, and key concepts behind meaningful reporting.

Read on Builtvisible

New Website: Tom’s Carnivores

March 6th, 2017
— for Tom’s Carnivores

In the year since I wrote it, my guide to building a Raspberry Pi-powered terrarium has been read over 15,000 times. I've now moved it to a new website: Tom’s Carnivores, at I've been fascinated by Venus flytraps and pitcher plants since I was little, and I plan to build this site into a modern resource for today's growers.

It's also an exercise in modern web development - I've opted for a JAMstack approach, using the static site generator Hugo with npm as my build tool. Code is hosted on GitHub and deployment via continuous integration is handled by my web host Netlify. Look out for my Highcharts-powered data visualisations, which are launching imminently.

Visit Tom’s Carnivores

Getting Started with Content Grouping in Google Analytics

February 2nd, 2017
— for Builtvisible

This tutorial explores the Content Grouping feature in Google Analytics, running through common use-cases, the various ways it can be implemented, the difference between content grouping and custom dimensions, and solutions to some of the most frequently encountered problems.

Read on Builtvisible

An Interview with Frank Cifaldi

May 18th, 2016

During research for my feature on remastered games for Polygon, I was lucky enough to speak with Frank Cifaldi, Head of Restoration at Digital Eclipse. Only a tiny part of our conversation was included in that feature, and so I‘ve presented it here in full for the benefit of those who are interested in the subject.

Continue reading…

3 Logical Alternatives to Animated GIFs

May 16th, 2016
— for Builtvisible

GIFs are one of the oldest image formats on the web, and animated graphics are one of the format's few remaining strongholds. This article explores three ways in which the modern web can offer us a better solution to animation.

Read on Builtvisible

How to Build a Raspberry Pi Terrarium Controller

April 11th, 2016
— for Tom’s Carnivores

Whether you’re growing tropical plants or keeping reptiles as pets, an electronic controller can provide a more stable environment than you could ever hope to achieve using regular timers. By integrating your terrarium into the Internet-of-Things using a Raspberry Pi, it’s possible to create a highly-extensible system which offers automation, data visualisation, alerts, and pretty much anything you or your pets could want.

Read on Tom’s Carnivores

Bridging the Generation Gap: Porting Games to New Platforms

November 30th, 2015
— for Polygon

This feature explores remastered and ported video games, and is based on my interviews with developers at Naughty Dog, Bluepoint Games, Nixxes Software, Aspyr Media, and Digital Eclipse. Using The Last of Us Remastered as a case study, the piece explores the unique challenges inherent to the reproduction of interactive experiences.

Read on Polygon

The 3 Fundamental Principles Of Technical SEO

November 25th, 2015
— for Smashing Magazine

This comprehensive guide to technical SEO is aimed primarily at web developers, and walks readers through the fundamental principles of organic search optimisation. The article covers crawl accessibility, indexation diagnostics, canonicalisation, multi-regional and multilingual setups, link profile maintenance and more.

Read on Smashing Magazine

Responsive Images for Busy People: Srcset & Sizes

September 30th, 2015
— for Builtvisible

This guide provides a practical, hands-on introduction to the responsive image syntax using the new ‘srcset’ and ‘sizes’ CSS attributes.

Read on Builtvisible

How Save and Restore Classic Games

September 16th, 2015
— for Rock Paper Shotgun

An exploration of video game preservation, based on interviews with archivists and restorationists at digital distribution service This feature uncovers the process of digital archaeology, including license acquisition, emulators & wrappers, code hunting, and digitisation of printed assets, as well as touching on the wider issues surrounding the preservation of classic titles.

Read on Rock Paper Shotgun

Responsive Sprite Animations with ImageMagick and GreenSock

April 1st, 2015
— for SitePoint

In this tutorial, I explain how to create the responsive sprite animations seen in my feature on Command & Conquer. The guide includes instructions for creating image sprites using the command line, animating them using the CSS keyframe syntax while maintaining their responsive dimensions, and finally a technique to bind playback to the scrollbar using JavaScript.

Read on SitePoint

Pixels Please: Image Scaling in CSS

March 26th, 2015
— for Builtvisible

A practical introduction to the ‘image-rendering’ CSS property, now supported by all major browsers. By using the appropriate values (available here as a mixin), it is possible to override the anti-aliasing applied by the browser’s default scaling algorithm to preserve the pixelation of low-resolution images. Particularly useful for pixel art, the property can be applied to background images, inline images, and canvas elements.

Read on Builtvisible

1.21 Gigawatts!

December 7th, 2014

Great Scott!

With the site’s first birthday approaching, I felt that now was an ideal time to give a much-needed jolt of lightning.

The features page, on which all my projects now live, represents my first foray into Flexbox. I’ve barely scratched the surface of what’s made possible by flex layouts, and I haven’t yet rolled it out site-wide, but suffice to say it really does make the CSS layout mechanisms of yore feel like 1955. Configurations which typically required bulky CSS frameworks or untidy hacks are made trivially easy.

Continue reading…

Hello World.

January 14th, 2014

Welcome to my new website. Shiny. This is the obligatory Hello World post.

First things first, please forgive the pretentious choice of TLD. The appeal of a super-geeky firstname@lastname email address outweighed my reluctance to brand myself as a non-profit organisation.

My main goal here was to create a website from scratch, without relying on a CMS. Wordpress is great and I use it daily, but when it’s necessary to tinker under the hood, I’m lost in loops and functions that I don’t understand or need. Here under my own roof, I intend to use only code I write myself, or - failing that - code I understand. For this reason, you can expect the doors to fall off fairly regularly.

Continue reading…