Personalisation on the edge
The link between website load times and user engagement is well understood.
Research from Google, Portent and many others demonstrate a clear link between longer page load times and increased bounce rates, dissatisfaction, and conversion.
However, there has been an ever-increasing drive to stuff webpages full of additional, often hidden functionality – analytics, retargeting, tracking pixels, tag management solutions, multi-variate testing tools, and more. All of these take time to load. Some of them can load in the background (asynchronously), some of them shouldn’t – multi-variate testing tools being a good example – which means they block the page loading.
They’re valuable, because they can deliver insight or improve conversion – but they can also be barriers to blazing fast performance.
The above generally get loaded after the main bulk of the page itself has been sent to the user’s browser.
Getting the page to the user in the first place is another, even more important contributor to overall page performance – it happens first.
How does that work?
Traditional website rendering
The traditional way in which a website platform composes a page and sends it to a web browser is simple, but time consuming.
- The browser requests a page
- The request eventually makes its way to a server
- The server composes the ‘response’, potentially querying a database
- The response is returned to the user
- That response might ask the browser to go and fetch additional resources, like analytics tools – following the same process
Depending on the physical location of the user versus the location of the servers, this can take a bit of time. Until the page has been received by the user’s browser, other actions are generally blocked.
Focusing on minimising the impact of client-side tracking and other tools to improve performance is good; focusing on initial page response times is even better.
Enter caching
There are many techniques available to mitigate the impact of this ‘round trip’ to the server or prevent it entirely.
Pages can be cached on the server, so they don’t have to be re-composed each time. Content Delivery Networks can be utilised to cache and serve pages and assets from physical locations close to users, significantly reducing response times. Page content can be lazy loaded.
However, throwing personalisation into the mix means that the time spent on that third step – composing the response – can be increased. Personalising content generally means that you have to go all the way back to the server, so it can adjust or adapt the content to suit the individual user. Caching becomes very complicated, as does using a Content Delivery Network, because the response must always vary – that’s the nature of personalisation.
A new approach
Happily, there are now options for getting the best of both worlds that are achievable. One that we’re particularly excited about is the concept of personalisation on the edge.
As mentioned above, personalisation traditionally happens on the server responsible for generating pages. Technology is now readily available that enables this personalisation to be offloaded and happen far closer to the user – bringing down those crucial response times.
Uniform is one solution that offers exciting potential to delivery significant performance benefits to web applications, whilst retaining the ability to personalise content and experience.
Uniform allows you to generate a ‘static site’ – effectively a cached version of the entire website – which can be hosted on a Content Delivery Network. Content Delivery Networks serve up websites and content from the ‘edge’ – nodes close to individual users.
This means if you access the website from Sweden, it’ll get served from Sweden; access it from Bristol and it’ll get served from Bristol. This means the round-trip time is significantly less for users, and because the site is ‘static’ – no servers, no databases – the result is something very fast.
Where Uniform really makes things interesting is that it enables personalised static sites. A good example to bring this to life is coupling it with Sitecore Experience Platform (XP). Sitecore XP brings together an enterprise content management system with sophisticated analytics, personalisation and multi-variate testing capabilities. Personalised experiences typically require a round trip to the Sitecore servers to figure out how to personalise the content.
Uniform’s technology integrates with Sitecore and extracts the personalisation rules and converts them into a format that can run as part of a static site – meaning no unnecessary round trips back to the Sitecore servers. This means you get an incredibly fast experience that is still personalised!
If you are interested to learn more about personalisation on the edge, or other ways to get the most out of cloud technologies get in touch.