Split Testing #1 – The Overview
What is split testing?
Split testing is an example of ‘the appliance of science’ to Internet marketing! Specifically it is the testing of different versions of pages which aim to ‘convert’ visitors into ‘customers’ of some kind. The conversion might be buying a product, signing up on a mailing list or some other sales focused action. Normally done in a live setting, split testing quickly builds up statistics about the success of different page designs so that the most successful one can be chosen and used on the live site.
Methods of split testing
There are three main methods – server side, proxy server and client side.
1. Server side
In this scenario there is a separate ‘test server’ used in conjunction with the main web server – this doesn’t need to be an actual separate server, it could just be an additional application on the server. When a page request comes in from a browser, the server asks the test server which page it should serve for this client, the test server replies and the server delivers the page to the browser. When a conversion event occurs the main server reports that back to the test server.
PROS: All the controls are on the server so no significant extra code is required in the browser just to do the test
CONS: Requires special software, full control of the server and significant IT resource time.
2. Proxy
Here we have the test server at the ‘front’ of the stack facing the client acting as a proxy server. The browser makes the request and the testing server forwards it to the main server which sends the response. The testing server then processes the response to modify it into one of the testing page variants. When a conversion event occurs the testing/proxy server records which page.
PROS: Great if you need to leave the main server unchanged.
CONs: Requires special software, full control of the server and significant IT resource time. High dependance on the test/proxy server.
3. Client side
The main server is unchanged but the testing pages contain additional javascript for the testing. When the browser renders the page a call is made to a testing server, for example a Google Optimization Server, and the testing server delivers either modified page content of the variant pages or redirects the browser to one of the A/B testing pages on the server. When a conversion event occurs javasript is used to send the result back to the testing server.
PROS: Leaves the main server unchanged and easy to use third party testing server and tools. Third party tools may be free, as with Google Website Optimizer.
CONS: Highly dependent on javascript and cookies. Workarounds needed for dynamic server side code.
