• Pro Tips on Server-Side A/B Testing And Personalization

    There are many approaches to A/B testing, and taking the right path is often as important as the test itself. More often than not, people usually implement client-side testing and experience personalization but forget that the server-side exists. What is server-side testing and how does it work? The commonly accepted client-side testing and user experience […]

    There are many approaches to A/B testing, and taking the right path is often as important as the test itself. More often than not, people usually implement client-side testing and experience personalization but forget that the server-side exists.

    What is server-side testing and how does it work?

    The commonly accepted client-side testing and user experience personalization usually rely on changing the browser experience via Javascript, whereas the server-side integrations are quicker to call the personalization software before even the page is loaded and rendered.

    Server-side testing is usually provided by the vendor or service host, in the typical form of REST API, being called by the server (rendering web app) before the page is loaded for the visitor. Most requests and responses for the REST API are in the JSON data format, which has recently been widely adopted and is also quite an efficient way of transferring and representing data points.

    How is the server-side approach different?

    1. During the server-side approach of A/B testing, all the dynamic action and events are taken into the server-side. Moreover, it uses REST API to do the testing and to personalize the website content.
    2. The content is changed on the server-side before anything is loaded or rendered on the visitor side.
    Client side vs Server side
    Client side vs Server side Image courtesy of www.kameleoon.com


    • The developers have higher control.
    • Server-side A/B testing integrates extremely well with most proprietary frameworks.
    • The page loads faster without the need to re-render multiple times.
    • Data security is highly increased, and no sensitive data is ever stored on the client-side, instead, everything is stored on the server-side.


    • It takes longer to get implemented than usual client-side testing.
    • It is not as intuitive as the standard option and might be harder for non-technical users like stakeholders to use and comprehend.
    • It requires much more advanced technical involvement and expertise.


    During the process of server-side integration, the server interacts in a secured manner with the API gateway and transfers the data needed to the page request, according to the personalized experience of the given user segment. Most systems use a JSON payload for the response, then the caller parses it and responds by acting.

    Moreover, events and engagement activities are also reported in the same manner with a POST to an API endpoint.

    If you’re wondering how that works, take a look at the image below and how the systems interact with each other, in order to throw in the personalized experience to the user, after detecting the variation needed to yield practical results.


    API example personalization
    Personalization API, Image courtesy of gonzalovazquez.medium.com

    The client’s browser first sends a page request to the web application server, which shoots a personalization request to the Personalization API, which sends out a response to the web application server, that renders the page along with the personalization and shoots it back to the browser as a rendered page. And that’s the whole process.

    Some of the strongest points of server-side personalization and rendering include:

    • It can fully redirect a page
    • Can commit major changes and structural changes to the personalized page
    • Personalization by pre-renders is available for single-page apps.
    • It provides you with more secure access to all back end systems like real-time inventory, pricing or user data.

    5 Reasons why you Should move to a server-side API

    Going from a client-side API to a server-side API is no easy task, but with the years passing, more and more businesses tend to do just that. What are some of the main reasons why huge companies are choosing server-side A/B testing instead of client-based ones?

    #1 Server-side API allows for much greater data security. You can test and personalize content with customer information without allowing it to be exposed in the browser openly.

    #2 It eliminates flicker and increases page load speed. Typically, in all client-side renders, the personalization happens after the page has fully been rendered and loaded. This often causes a visible and sometimes disturbing flicker effect that switches things up. With server-side testing, this is eliminated and nothing gets re-rendered in front of the visitors.

    #3 Bypassing Adblockers. Perhaps, we should have started with this one. The server side of rendering allows you to use first-party server-side cookies to gather A/B testing or personalization data. This means using cookies that are written with HTTP headers from the web, instead of Javascript cookies in local Temps. This would also pose other benefits like refreshing the structural content on your website for all users, without the need to urge them to delete cookies.

    #4 Server-side testing and personalization opens the door to technology stacks like inventory and CMS to be directly integrated. Moreover, the simple API model would also allow for personalization to happen even on another platform, different from a web browser, such as a mobile app, kiosk, or in-store display.

    #5 Keep control of your web structures in your IT department. Server-side personalization allows for your data and web structures to remain within a database.

    Context is key for personalization

    Targeting your audience and urging them to make a certain decision is all about context and knowing more about them in the first place. Knowing where the user is, what their browser, operating system, age and preferences are, could make the whole difference in the world.

    Personalization in Marketing,
    Personalization in Marketing, Image courtesy of Norsesoundcreative.com

    Personalization always starts with identifying the niche audience, the common trait you are targeting and exploiting for better results. Deriving such information from default HTTP headers is usually the go-to option with client-side personalization. This works by accompanying each request to the server.

    On the other hand, in server-side integrations, the header is not available for use when the rendering calls for personalization, thus it is provided in the body of the personalization request, instead.

    What matters, in both cases, is that there is enough data beforehand, to be passed through the personalization request API, so that it can provide an adequate response in time.

    Hybrid options, including both server-side and client-side, exist

    Choosing one of these options doesn’t necessarily mean that you have to forego the other. The simplicity of the concept that is API allows for platforms to be developed, that can implement a hybrid solution. In such solutions, the traditional client-side testing and personalization can work together and coexist with the pre-rendered server-side testing, without interfering with each other.

    This allows for marketers and IT developers to work together. For instance, marketers often prefer client-side testing since they can easily swap images, and time-sensitive banner notifications, whereas the IT department can keep the page structure intact or dynamic if needed, in a safe location.

    The hybrid approach is very convenient when you prefer that your personalization engine reports engagements. This is possible since the client-side reporting happens through Javascript which is asynchronous and doesn’t affect the performance of the page in any way.

    What’s the cost of server-side A/B testing and personalization?

    As you can see, the benefits of server-side A/B testing and personalization are many, but what are the costs?
    The first thing that comes to mind is that you need a much higher degree of technical investment on the side of your business organization. This means, that you would need to invest in technical resources to run a good server-side project.

    An important thing to note is that when developing architecture, you need to take into account whether it can scale. The serving application’s design should allow you to test and personalize any content without needing to implement any more code changes. Just an API call should be enough at any given time, in order for you to see results. Although this takes a lot of work, it is definitely worth it, if you know what you’re doing.

    And last, but not least, the choice of a server-side platform is one of the key aspects needed to successfully implement server-side A/B testing and personalization.  Always pick vendors that offer precise solutions, with good architecture and extensive transparent documentation of their product. Moreover, if they feature reliable customer support, even better.

    Final words

    Server-side A/B testing and personalization requires a lot more work upfront and can take much longer to implement than the traditional client-side solutions.

    Nevertheless, in the end,  more and more organizations and businesses are finding it cost-effective and worth the effort, since it provides better security, faster response times, and eliminates flickers.

    Whether you have the resources, time and technical skill to implement server-side testing, or you choose to focus on another aspect with a bigger ROI for your business, is entirely up to you.