Server-side testing


What is server-side testing?

Server-side A/B testing is a form of experimentation where the variations of a test are rendered directly on the web server, before it is delivered to the client. This is distinguished from client-side testing, where the A/B test is rendered on the client-side through JavaScript after the page is delivered to the user’s browser.

Server-side vs client-side A/B testing

Each type of testing offers its own set of advantages. Depending on your organization’s needs, you can determine which is right for you.

Advantages of server-side testing:

Minimal performance impact

With pre-determined experiment variations that are not served on the fly through the browser, the experiment is unnoticeable to the website visitor and has minimal impact on page load time.

Deep experimentation capability

Server-side experiments can test how a product works, including underlying features, backend logic, algorithms, etc.

Multi-channel experimentation

Experiments run on the server can occur in multiple channels at the same time, such as web, mobile and email.

Advantages of client-side A/B testing

Easily accessible to marketers

Marketers with little technical knowledge can deploy tests using a WYSIWYG editor through simple JavaScript modification.

No developers required

With client-side testing, there is no need to coordinate with a website code release to deploy experiments. Experiments can be developed and run almost instantly.

Minimal SEO impact

Since Google typically ignores changes implemented through JavaScript for the purposes of search engine indexing, client-side tests have minimal SEO impact relative to server-side tests, which can be indexed.

Better segmentation

Because client-side tests are done after the page is loaded, they can often take advantage of more data to segment visitors based on data that is not available at the time that the server request is made.

When to use server-Side A/B testing

Since modern web applications have evolved to become more dynamic and technically complicated, testing within these applications has evolved in complexity as well. Server-side testing can handle this increased complexity. Instead of being limited to testing headlines or button colors on your website, you can test more impactful variations, such as algorithms, architectures, and other non-UI changes like a database query result set.

Thus, server-side testing is frequently the choice of product development teams who want to run complex experiments that explore how a product works, as opposed to the client-side conversion rate testing popular with marketing teams.

Server-side testing examples

Most major websites use server-side technology to dynamically display different data, and it is straightforward for developers to incorporate testing into this process so they can gather data.

One common use case for server-side A/B testing is for running tests on search algorithms on a website. Since search results pages are rendered dynamically based on the search query, search algorithm tests are nearly impossible to run on the client-side through Javascript, but straight-forward to implement on the server side. Companies such as Google, Pinterest and Netflix frequently test new algorithms for search to optimize for user experience.

Server side testing is also often used for testing changes that are above-the-fold. Because client-side tests are rendered after the page is generated, it can result in “flashing” on the page as the original page is visible shortly before the variation code is applied. With server-side testing, there is no flashing since the changes are applied on the web server before they are delivered to the client.

Optimizely server-side A/B testing

Optimizely’s original approach to A/B testing was a client-side solution that had significant impact on digital marketing. With a simple line of JavaScript, a marketer could set up and instantly deploy webpage experiments by using a visual editor. This independence from developers and site deployments freed up marketers to experiment and learn more about their customer needs.

But since Optimizely’s inception, experimentation has evolved well beyond the marketers trying to figure out what call-to-action text to put on a button. Today, thanks to a rise of new technologies and “lean” business approaches, the most innovative companies today run thousands of tests annually.

Optimizely Full Stack introduces the ability to create and run experiments anywhere in your technology stack, leveraging the Optimizely interface, stats engine and developer ecosystem. You can experiment throughout the product life cycle on any connected device (such as mobile, OTT, or IOT), and enable progressive delivery through feature toggles.

Whether or not you are using Optimizely for client-side experimentation, Optimizely Full Stack lets you run experiments on website elements that are handled by the back end, such as pricing, subscription offers and product discounts. You can easily split traffic and optimize a full redesign, the site’s architecture, your omnichannel marketing campaigns and more.

Optimizely Full Stack also includes feature flagging and controlled rollout functionality, so you can deploy new features to a small segment of your audience, test how they perform and easily rollback any bugs.