Tag Killing - Just Another Urban Myth
I’ve heard that there are lots of giant alligators lurking in the New York City sewer systems. You know, all those cute and cuddly baby gators people bought as pets and then flushed down the toilet or otherwise released into the urban wild when the gator grew 5 feet past cute. Well, it turns out that the gator thing is just an urban myth - an old wives tale if you will. There’re lots of urban myths out there that while popular, just aren’t true.
We’re seeing some inaccurate information on the topic of “tag killing” lately. Tag killing is the process of ending a long running request from a tag after some given user-defined time period. So if your SiteCatalyst tag is taking more than 100ms to complete on your Thank You page, tell it to give up and throw the data away. It would seem to make sense that killing lagging pixels would improve page load time and therefore user experience. Nope. It’s an urban myth.
Don't kill this tag......
First, let’s review some background on webpage loading. Asynchronous tag loading means that all tags are loaded together, in parallel. Setting up your tags to load asynchronously protects a user’s experience because asynchronous tag loading doesn’t get in the way of the page rendering and becoming interactive to the user. That’s a good thing - faster page loading equals happier site visitors. What loads asynchronously on a webpage? All pixels (i.e., <img> html tags) and all tags deployed dynamically (i.e., by a tag management system, like Ensighten’s). That’s right, when deployed through a world class TMS, your SiteCatalyst tags, your conversion pixels and virtually every modern tag is asynchronous and non-blocking. Even if a tag performs slowly, your page still renders!
So asynchronous tag loading is a good thing, like a doughnut. But how does tag killing relate? Well the Cliff Notes version (remember those? Pre-wikipedia stuff) is that it doesn’t make sense to kill asynchronous tags. At all.
Your tags are on your page for a reason - they collect and convey valuable data to you, your organization, and your partners. You’re paying someone something to place that analytics tag or re-targeting tag or attribution tag on your page. You’re doing that because these tags, and the data-based services associated with them, are valuable! So if slow-loading asynchronous tags don’t stop your page from being interactive and can collect valuable data, there is no reason to throw away the money you’ve invested in acquiring the data that tag holds. There is no good reason to kill an asynchronous tag, even a slow loading one.
OK, maybe you still don’t believe me and you want to kill any slow-loading asynchronous tags. Well, problem #1 is that there is no reliable cross browser way to kill tags – you might kill a particular tag in IE, but you might not be able to kill it in Chrome. You might reply “hey, what about using in-page iframes as a way to kill tags?” Well, the problem with having an iframe in your page is that it blocks the execution of Ajax. That has a major impact on page load and site-visitor experience! So why deploy an iframe on your site (which interferes with site-visitor experience) to enable killing of asynchronous tags (which don’t interfere with site-visitor experience). The answer is, you don’t. You don’t kill asynchronous tags. You don’t want an iframe deployed on your site’s webpages.
So that’s a lot of stuff about what not to do. What should you do to actually improve your page load and site-visitor experience?
- maximize caching
- minimize code size
- make everything asynchronous - let the resources race to your user
- capture all your valuable site data – let your tags load, even if they are slow.
And one more thing – watch out for those gators.