Lightweight and lightning-fast JavaScript API to deliver seamless personalization experience
If you have used a personalization or optimization software on your website, you have probably come across the term “Javascript Tag” or “Javascript API” or “Client-Side testing”. In most simple terms, personalization platforms like Insider would personalize and customize your website by changing HTML of your page on the fly through our inserted Javascript tag on your website. For every visitor who visits your website an asynchronous call is made to Insider’s servers, our decision engine would then determine a bunch of parameters including the segment, rules, context of the visitor and serve HTML/CSS changes to visitor’s browser that would then constitute their final experience. While all of this happens asynchronously and our code never slows down your page, the speed at which a personalization experience is rendered would determine the overall experience of your visitors.
Updated on Dec 2, 2019
So how do you measure the performance of a personalization platform?
Two key things that you need to focus on:
- Size of the payload – For our code to do its job our javascript library is downloaded and executed for every visitor that comes to your website
- Load time – This is the time it takes for our code to fetch all the changes required to deliver a personalized campaign for a user on your website
Why is optimizing these metrics so important?
Almost 8 years ago Amazon found that a page load slowdown of just one second could cost it $1.6 B in sales. Similarly, Google found that an extra 0.5 seconds in each search page generation would cause traffic to drop by 20%. It’s 2019 now and the effect of page speed on businesses has only compounded exponentially. And as recently as this month Google has decided to give a badge of shame to slow loading websites. If you are heavily relying on personalization platforms to craft and deliver experiences on your website, it becomes even more important.
Introducing New Lightweight and Fast Javascript API
This is precisely the reason why we have invested more than 261 Tasks, 18 Sprints, more than 720 Cups of coffee (2 people 2 cups of coffee/day for 3 months) in achieving a super lightweight and lightning-fast Javascript API. The new API focuses on helping load your personalizations faster. You can now scale the number of concurrent personalizations easily without worrying about the impact on user experience. Before we get into a lot of details on how we actually did it, let’s look at some benchmarks and let the results speak for itself.
Let’s look at the performance
Our team created a benchmarking lab to test the limits of this new JS and how it performs on a massive scale. We are talking about stretching the limits up to 1000 concurrent personalization campaigns on a website!
Sounds impressive right? To put this in perspective, let’s also look at an example of one of our clients who used the new API and compared it to the older one in terms of the load time. For a major online retailer running 70+ personalization campaigns the load time was 3X faster.
So what actually changed?
While there are several technical improvements done get started here is a <tl:dr> version of the three key things that we did that impacted the size and load time significantly
- Modular segmentation and rules evaluation. This means that we dynamically evaluate the relevant segment and filter conditions based on the context of the user and only deliver the settings for the relevant ones for client-side execution
- Moving campaign configs from client-side to the server-side to increase the client JS performance
- Changed our compiling methods from PHP to WebPack. This provided several benefits like minifying custom JS codes that have reduced our codebase size by 60%
If you want to dive deeper into how this extra performance edge can boost your online conversions, talk to us! Our growth consultants can walk you through the entire process.