Yesterday, I received a nice and promising email from a “marketing automation” company about how their solution would help us with our marketing initiatives. It even included a mockup report showing names and companies of website visitors and their activity on the site. For a SaaS company like ours, this solution could be the holy grail of marketing. Our marketing and sales team would know who visited the site, what information they consumed, and get an idea of what our prospects are looking for. (and yes plenty of such companies do exist)
Reality Sinks In
In the midst of my excitement from their value proposition, I quickly realized that we will need to place their tracking code on the site. Being in the web performance business, putting one more tag on the Catchpoint pages matters a lot.
The first thing I wanted to know was what is their performance on the past, and what better way than looking at our own data. So did a little digging to figure out what their tracking domain was. Lo and behold, their tracking domain was one we had been investigating and trying to find the owner for about a week with no luck (the domain had private registration, hiding ownership information).
One of the Catchpoint cofounders came across their tags on a competitor’s site last week, during a major press release they had. As he was accessing the homepage, the tags of the marketing automation company caused the main content of the page to be delayed by 20+ seconds (inline external JavaScript tag – not loading async). As a result we had been monitoring their tags directly since May 15th 2012.
Lucky Day?
So I looked at the performance data Catchpoint captured and interestingly enough (pure coincidence) they were having an outage at the same time I was going back and forth by email with their salesperson.
All of our 70 worldwide nodes were reporting timeout problems. The majority of the errors were TCP Connection timeouts and some were Connection Resets from the server after the initial connection was established.
Obviously, everyone has a bad day once in a while. It happens to everyone from Google to Amazon… we are dealing with technology here and sometimes it breaks up. However, in the case of this 3rd party provider, the historical data showed a pattern of bad web performance. The data showed their tag would be a clear and present danger to my web site. Sure we can load the JavaScript tags async with Outclip, but why do business with a company that has frequent performance issues?
The Real Failure
I shared all this data with their sales rep, but he replied back very quickly stating they have over 4,000 customers and they do not see a problem and I “was being picky” about performance because “Catchpoint is in the monitoring business”. I wanted to reply and tell him bad performance hurts end users and everyone, not just a monitoring company, but I had already wasted enough time with this unreliable 3rd party vendor who wouldn’t recognize even the failure.
Yes, I am picky about performance, I am picky about slowness, I am picky about something taking any site down. Where have you been all this time, hiding under a rock? Read these 2 articles “For Impatient Web Users, an Eye Blink Is Just Too Long to Wait“, “Consumers dump slow websites“. Speed matters, and reliability matters even more for every business on the web.
Your one line JavaScript tag is impacting 4,000 sites daily, causing the millions of their users to be annoyed, leave the site, and you call me picky? Companies are paying for your tool in hopes of gaining new sales and streamlining their sales process, and in return they might be losing sales because of your tags are slowing their webpages.
Closing Act
This whole event made me mad and reminded me of a tweet last month from Steve Souders:
Yes, we gotta make this sh!% faster – especially the advertisement / retargeting / widget/ tracking / lead management /marketing automation/analytics/survey/… vendors that have tags on other websites. As a third party vendor, your tags can impact the end users of every client of yours in a very negative way, so make sure your tags are fast and available (and less risky through async)! While web performance enthusiasts like me know the slowness culprit was your tag, the average end user has no idea who you are and that you caused this annoyance. And while we are on this topic, please don’t hide your company name and contact information from the Whois of your domains. Why hide your identity from the end users, when you place your tags on thousands of sites and track their end users (and in the case of this company tracking their names and company info)?
On the other side, if you are a website owner, before you add one more widget, tracker, or any 3rd party tag to the webpages make sure that:
• the tag is monitored for at least 1 week, before it goes live
• ask for an async tag, or implement a tag management solution that loads these tags async
• require an SLA, and make sure it is being monitored by a trusted 3rd party
• get a full understanding of what the tag does, and what the impact on the webpage will be. (you can use our tool or Webpagetest and read this great article by Patrick Meenan about Single Point of Failure). Failure is bound to happen at some point, make sure your users won’t be impacted.
Achieving great web performance can be very hard, but trust me the majority of the work is simply “common sense”.
Mehdi – Catchpoint