Remember when you were young and participated in relay races? Kids were divided up into lines and the first person in line carried a baton, ran to a spot at the other end of the school yard, came back, handed the baton to the second person in line and that person then took off and repeated the action.
Web browser technology is surprisingly close to this childhood game. Web pages are made up of elements including HTML text, CSS stylesheets, JavaScript libraries, and images. When a visitor requests a web page, the browser requests the HTML source from a server. When it comes back, the browser requests the next element in line and so forth.
What if the person in front of your line was incredibly slow? You’re likely going to lose the race, right? What if every line had a kid that was slow? This race could take forever to actually finish. And what would happen if a kid just ran to the goal and actually never came back? The other kids in the line might wait indefinitely.
Well, browsers have tackled these “elements” that don’t run fast or don’t come back in two ways. One way is to move elements to other lines that may be available and are moving quicker. Another way is to simply timeout the request for that element and let the next element in line go. Timeouts vary in value, but they are typically measured in terms of seconds and under default configurations that I’ve seen range from 5 seconds to 120 seconds. This is a “per element” timeout.
Now if browsers had unlimited lines, then who cares if the elements are slow or never come back? Well, browsers don’t have unlimited lines. This is important to understand. The modern browsers of today, including your mobile devices, have in the range of 2-8 lines depending on the browser and device. I could go into a detailed rant about people at work or school accessing the Internet behind proxies and how that impacts your lines, but I’ll cut to the chase and say, it doesn’t make it better.
Today’s web sites have a lot more elements than you would think. My own Facebook wall has more than 140 elements. Every icon you see is an element. Most styles and placements are driven by CSS markup that’s loaded as an element, and most form validation messages or pieces of dynamic content are driven off JavaScript code that’s loaded as an element or elements. Companies have well-tuned and tested servers that are able to push all these elements through 2-8 lines in your browser very effectively.
Enter the digital marketing tag … the slow-moving kid of the 21st century.
The digital marketing tags you place on your web site make requests that sit in line beside all your other web site elements. So guess what happens when they run slow? One under-performing request here or there is not likely to make any noticeable impact to the customer experience, but you can imagine what might happen if your customer’s browser has 2 request lines and you have an under-performing digital marketing tag in each line.
These tags typically point to third party, multi-tenant systems that exist out on the Internet somewhere. You don’t have control over how well their servers do the job. The larger vendors are more experienced and protect you under some form of SLA (service level agreement), but these SLAs are rarely if ever 100 percent. The free version of Google Analytics doesn’t even offer an SLA. Servers and services go down, they get overburdened and have to be restarted. Last week, I read about a server that had to have its traffic rerouted because of a denial of service attack. What if that server was responding to your digital marketing tags? What if your collection server was also collecting data from Fox Sports when Tim Tebow beat the Steelers in the shortest overtime in NFL playoff history?
How can this problem be addressed? The answer: Tealium’s ability to kill slow-moving tags.
The idea behind the concept is simple: don’t wait for the slow-running kids. Forget about them, let them go play, and don’t make the other kids wait. Tealium gives a tag a certain amount of time to get back to the line. If it doesn’t come back fast enough, we move on. If something goes wrong with some of your digital marketing tags, your customers won’t know the difference.
Some people will lead you to believe the urban myth that killing tags loses data. Maybe it is essential for you to collect this data regardless of how badly it slows down your site, but hey, at least you’ll have accurate abandonment metrics right?
In my experience this threat of data loss is simply not true. Let’s look back at our relay race example, and let’s implement a “tag killing” relay race. John is at the front of the line, Sally is behind him, and Dave is behind her. The three of them know what their job is: run to the destination and run back. So John takes off running, makes it to the end of the schoolyard, but is too tired to come back, so he stops to catch his breath. Sally and Dave wait. After a couple seconds, Sally decides, “John is taking too long, I’m going”. She runs her relay and Dave runs his. Several minutes later John walks back to his line to find Sally and Dave have already gone back to class.
John, Sally and Dave are your marketing tags. So did John get lost? He seemed to make it to his destination; he even seemed to eventually come back. He just didn’t come back fast enough to suit Sally, so she stopped waiting for him and moved on.
This is how Tealium’s technology works. It’s essential to both tag management and to effective online marketing. As a digital marketer, tags are important. Your customers and their experience, however, are more important.
We at Tealium understand the importance of digital marketing data, it’s in our DNA. We also understand site performance and its impact to your customers. If you’re not killing your slow-performing tags then maybe your users will abandon your site … and go to a site with faster kids.