While Amazon Prime Day set new sales records this year, the retail behemoth quietly set another record for superior web performance. Even with traffic loads ballooning to 20 percent larger than normal, Amazon’s desktop site performance shined, as did its mobile web performance, which beat out competitors which weren’t even having sales that day. Like it or not, this is the “new reality,” and in holiday season 2017, online retailers will be held to Amazon’s standard.
However, no matter how diligent the preparation, anything can happen during the holiday season. We’ve seen even the strongest industry leaders creak under load. Last year, Macy’s shoppers were met with a “temporary shopping jam” screen that started on Black Friday morning and extended through a good chunk of the day. In 2015, Neiman Marcus experienced major outages throughout Black Friday and Saturday, stabilizing only by Sunday morning.
Online retailers must verify they’re doing everything within their power to avoid a major disruption to their websites, including the items on this e-commerce checklist:
- Third-Party Vendors: The use of third-party vendors is often necessary to achieve certain objectives, such as optimizing speed and reliability. Third parties also provide needed functionality (e.g., site search specialists, e-commerce storefronts) as well as “nice-to-haves” like social media plug-ins. Many of last year's holiday e-commerce problems were caused by external web services that are integral to site functionality. Even though a third-party element is hosted by another company’s server, it’s critical that these services be monitored closely in case their performance starts degrading, which in turn can drag down performance for all the sites they serve. Remember that during peak traffic periods, many third-party vendors are coming under exponentially heavier pressure themselves as they serve numerous companies.
- Maximize Connection Speeds: Connection speed consists of upload speeds (the speed at which a user browser can send data to a server) and download speeds (how quickly a user browser can pull down data from a server). There are numerous tricks to ensure connection speeds are as fast as they can be, including HTTP persistent connection (also sometimes called HTTP keep-alive, or HTTP connection reuse). This entails using a single TCP connection to send and receive multiple HTTP requests/responses, as opposed to opening a new connection for every single request/response pair. This reduces the CPU and memory usage on the web server as fewer connections are open simultaneously, and also reduces latency in subsequent requests. Proper page construction is also key to improving connection speeds. Any JavaScript or third-party tags not essential to the user experience should be arranged to download after other more critical content, and/or at the bottom of the page (under the fold) so as to minimize any negative impact on user perception. Organizations should also consider asynchronous loading, meaning the sequential loading process for various elements on a page can automatically “skip” over any slow-loading elements vs. having a slow-loading element delay the rest of the page.
- Maximize Web Page Load Time: Speedy connections are just part of the battle when delivering a fast web experience to users; the amount of content (i.e., number of bytes) that's downloaded must be optimized as well. Web page load time, or the time it takes for a user to perceive the page has downloaded and is ready for interaction, tends to increase in direct proportion to page weight. One way to counteract this is to reduce the overall page size, especially mobile site pages. Images must also be optimized, including miniaturizing JavaScript and CSS files and serving only those files relevant to the requesting platform. Serving up CSS, images and JavaScript designed for a desktop site to mobile users will increase their web page load time and lead to customer frustration. In addition, organizations should use compression on all text-based content (HTML, XML, JavaScript, CSS, etc.), but avoid using compression on images, as most use a compression format already and extra “unzipping” work for browsers creates delays.
- Domain Sharding: Domain sharding is a technique used to increase the amount of simultaneously downloaded resources for a particular website by using multiple domains. It can have a positive impact on user speed perception, and is relatively easy to implement. An organization doesn't require different servers to implement this; rather, it can just create a CNAME, as the browser doesn't care about the final IP address, only that the domain names are different. The recommended and well-documented optimal number of domains is two. If an organization has many images on its page, it can configure two domains — e.g., http://www.acme.com and http://images.acme.com. The organization could then host its images on the images.acme.com domain. The browser can now make parallel requests of six or more requests (browser dependent) from each domain, and thus speed up the web page load time by loading more data in parallel. Remember, though, that domain sharding doesn't translate perfectly to mobile, as DNS resolution is slower on mobile. This means extra resolution time required by multiple shards can negate any perceptible performance gain.
- Static Content and Caching: You never get a second chance to make a great first impression, and that's why organizations should consider using only static content on landing (home) pages. Static content loads faster and tends to be far less problematic than dynamically generated content. This can be especially helpful when using online advertising to drive traffic to your site. In clickthrough processes, users want to be clearly directed to the next site. If they don’t get that experience or they’re left waiting for a dynamically generated web service that never appears, customers can be lost. Static landing pages are also easier for search engines to crawl and index, and thus generate better search engine rankings. Static content is ideal for hosting on content delivery networks, which bring content closer to geographically distributed users thus optimizing download speeds even further.
- Tag Management: Third-party tags for services such as site visitor tracking analytics, personalization and marketing optimization provide vital services and information to marketers, but also introduce another point of potential site failure. It's very important to deploy a tag management service on your site, especially during peak sales periods like the holidays. Numerous free options exist, such as Google Tag Manager. These solutions can find and eliminate unnecessary tags (e.g., those performing duplicate services as well as unauthorized tags), streamlining a site and improving its performance in the process. If and when a particular tag experiences a performance issue (thus threatening performance of an overall site), a tag manager can deactivate it in seconds, rather than having to wait for the development team to manually remove it.
- Embrace HTTP/2: HTTP/2 is a major revision of the HTTP network protocol used by the World Wide Web. It offers many efficiencies over HTTP/1.1, including compressing HTTP headers and reducing roundtrip times and network latency, thus making websites load faster without any added optimizations. HTTP/2 also allows a server to push resources to the client that haven’t been requested yet, adding to the perception of a speedy experience. There are various ways to start using HTTP/2, including upgrading one’s own web servers or arranging an upgrade through a hosting or CDN provider. Either way, no coding changes are required, and websites can begin experiencing the speed gains almost immediately.
- Monitor APIs: API-dependent processes often support customer-facing, revenue-generating (and therefore mission-critical) applications. Consider that when an online shopper places an order, the payment gateway uses APIs to verify the user’s credit card data. If the API that integrates the payment options on the site is running slowly, this can annoy the customer and ultimately lead them to abandon their cart. Worse yet, if the API is broken altogether, customers won't be able to check out, also resulting in lost sales. This makes continual monitoring of API performance a must throughout the year, though especially during the holidays.
Imagine shutting the doors of a physical store on a big shopping day. That’s essentially what happens when a retail e-commerce site is unavailable. When a site’s web page load time slows, it's akin to forcing a customer to stand in a too-long checkout line. This can hurt a company’s brand image and its bottom line during this make-or-break shopping period.
Leading e-commerce sites must focus on what they can control, and the tips described above can go a long way towards increasing chances for a seamless holiday season.
Mehdi Daoudi is the CEO of Catchpoint, a provider of digital experience intelligence.
Related story: 4 Tips for Holiday Season Success in 2017 and Beyond
Mehdi Daoudi is CEO and co-founder of Catchpoint, the Internet Resilience company, which he started in 2008. His experience in IT inspired him to build the digital experience platform he envisioned as a user. He spent more than ten years at Google and DoubleClick, where he was responsible for quality of services, buying, building, deploying, and using internal and external monitoring solutions to keep an eye on the DART infrastructure, which delivers billions of transactions a day.
Mehdi holds a BS in international trade, marketing, and business from Institut Superior de Gestion (France).