In this day and age of 4G wireless connectivity and amazingly fast Internet connections to the home, you’d think issues surrounding web site performance would be a thing of the past. And I’m sure they thought the same thing 10 years ago.
Software and web developers continue to code for tomorrow’s CPUs and network bandwidth. High-resolution image files on web pages have grown to megabytes in size. Performance optimization is still important – and complex.
The Tealium® multi-CDN (content delivery network) architecture can’t be beat for delivering .js files to the browser but there’s always the opportunity to fine-tune site performance. Many start by asking this question: What is the best way to reduce the number of HTTP requests on your web site? There are several options:
a) Bundle selected tags into one .js file
b) Send data to your tag vendor via server-side methodology
c) Reducing HTTP requests is less important when running tags asynchronously (and after everything else runs)
d) Cache your content to eliminate HTTP requests on subsequent pages
e) All of the above
Which is the best option? The answer is e) All of the above.
Here’s a breakdown of Tealium’s tag management capabilities in each of those areas:
- Strategic bundling of tag vendor code – Not every tag should be bundled into a single .js file, just the ones that make sense. If you have a tag that will only run on your order page, you probably don’t want that tag code loaded onto your home page.
- Server-side enriched data sharing – You can reduce client-side HTTP requests by sending data to your vendors’ server-side. (This may not be possible for all tag vendors.) If the tag vendor’s core library must run on the client-side, consider sending additional data to them via server-side to help strategically target your visitors. To do this in real time, Tealium recommends using its Tealium AudienceStream™ solution to send enriched data to your digital marketing vendor’s API.
- Firing tags asynchronously – Tealium provides asynchronous implementation as the default so your tags are non-blocking. (Assets are delivered to the browser in parallel to other tags.) Tealium’s default for all tags is to wait for the browser’s “DOM ready event” before firing. In all cases, your page assets (large image, css, js library files) will execute first. If you’re concerned about flicker for personalization tools, worry not. Tealium has a solution that addresses flicker while still utilizing our best practice asynchronous implementations.
- Cached content – A cached file means zero millisecond HTTP requests. You can’t get faster than a zero millisecond response time! Tealium’s caching strategy means that after a visitor’s first page, all subsequent page views are very likely to be cached.
There isn’t a one-size-fits-all approach to reducing HTTP requests on your site. And you can easily get trapped in the weeds. For further reading, I recommend Kyle Simpson’s blog post on why the current “obsession” with reducing HTTP requests down to one file isn’t necessarily the best approach. He also gives his rebuttal to the classic article from Steve Souders in 2007, a very long time ago.