Prevent flicker effect in A/B tests

1. Check your site speed by opening Google Analytics > View > Reports > Behavior > Site Speed and finding the average page load time.

Google recommends that you keep average page load time under two seconds. If your site is too slow, consider moving your site domain onto a high-performance web host that can load your website faster, such as SiteGround. Compress your images and upload lower size images to improve the load time of your website.

2. Select an A/B test tool that uses a content delivery network (CDN) to decrease loading latency.

Each software provider describes its network process in the tool description. If you select a tool without a CDN, you will need to build your own and run the tests on your own CDN.

3. Create an account on a client-side tool such as Optimizely that offers both synchronous and asynchronous scripts.

From the app panel, select if you want to run A/B tests on the client-side or on the server-side.

4. Run your A/B tests on a server-side client tool like SiteSpect that runs scripts on a separate server, loading all test URLs at the same time.

You can use other software providers such as AB Tasty with options of running both server and client-side capabilities.

5. Use the client-side testing option of software like Optimizely or Kameloon to run your A/B tests.

Load the URL or your testing page directly on the user browser simultaneously.

6. Run test scripts synchronously and hide page content until the code is loaded.

Your pages will load more slowly for the end users, but they won’t generally see a flicker effect.

7. Load your testing tags in the header of your page, as close to the top as possible.

8. Add latency to your asynchronous script test by adding "setTimeout()" on the second and third scripts to ensure they will be executed at the same time.

Track the loading speed of the tests in the tool’s dashboard and identify the number of seconds your page needs to load. Insert setTimeout() script at the beginning of each script and add the loading time in seconds associated with the page loading speed.

9. Where possible, limit your A/B testing to small HTML code changes that won't affect your loading speed, such as button copy or minor text changes.