When A/B testing with client-side tools like VWO or Optimizely, flickering is when the original page content is visible for a short amount of time before the testing script changes it. There are basically two ways to deal with it:
2. Load the code synchronously, blocking the page and slowing it down. Also, hide the page until it finishes loading and the changes are applied. The users see a blank page until they see the variation. Visitors bucketed into the variation never have a chance to see the control. But the variation could be perceived to be loading slower than the control, again making the experiment invalid.
We generally make choice #2 because it's difficult to explain to clients when they can see the control changing into the variation when they load a page. And we feel it creates a more valid experiment and users can't tell they are being tested on.