What is the flicker effect in A/B testing, and how do you stop it?

The flicker effect is when visitors see the original page flash before a test variant appears. Learn what causes it, how it skews results and how to fix it.

What the flicker effect is

The flicker effect, also called a flash of original content, is when a visitor briefly sees the original version of a page before the A/B test variant replaces it. It lasts a fraction of a second and it only happens with client-side tests, where the change is applied by JavaScript after the page has started to render.

Why it happens

A client-side test works in two steps: the browser draws the page the server sent, then the testing script decides which version this visitor gets and rewrites the page. If the script arrives or runs after the first paint, the visitor sees the original first. Four things make the gap longer.

  • The testing script loads late, for example at the bottom of the page or with an async attribute, so the browser paints before it runs.
  • The script is loaded through a tag manager, which adds another step before it starts.
  • The script is large, so it takes longer to download and run.
  • The change is big. Rewriting a whole hero section takes longer than changing a line of text, and a split URL test that redirects to another page can show the original page entirely before the redirect.

Why it matters for your results

Flicker is more than a cosmetic problem, because it changes what the test measures. A visitor who sees the original headline flash and then change knows something happened, and that can alter how they behave on the page. Some will distrust a page that rearranged itself in front of them.

It also makes the variant slower to appear than the original, so a variant can lose for reasons unrelated to its design. If you suspect this, check the split first: an uneven count between versions is one of the signs covered in sample ratio mismatch. Page speed matters for conversion on its own too, as Core Web Vitals and conversions explains.

Web Experiments. See how Cuttl handles flicker effect.

Explore

How to check whether your tests flicker

Flicker is easy to miss on a fast connection and a fast laptop, and no tool raises an alert for it, so you have to look on purpose.

  • Open the page in a private window with the browser’s network throttled to a slow connection, then reload several times and watch the first second.
  • Record the load in the browser’s performance panel and step through the filmstrip frame by frame. Any frame that shows the original content is flicker.
  • Test on a real phone as well as a laptop, because slower processors stretch the gap.
  • Test every kind of change you run. A text change, a layout change and a redirect each behave differently.

How to prevent it

There are four ways to remove flicker, and each one has a cost.

  • Load the testing script as early as possible, in the head of the page and not through a tag manager, and keep it small. This costs little and fixes most cases.
  • Hide the part of the page being tested until the variant is applied. This removes the flash but delays what the visitor sees, so it trades flicker for a slower first paint. It works best when only a small region is hidden.
  • Prefer changes the page can apply instantly, such as text, styles and swapping an element, over changes that need extra scripts or network requests.
  • Run the test on the server, so the right version is in the HTML that arrives. This removes flicker entirely but needs developer work for every test, which is why most marketing teams still use client-side tools.

Whichever you choose, repeat the check above after every change to how the script is loaded.

Flicker-free tests in Cuttl

Web Experiments is built so visitors see their variant without the original flashing first. The Cuttl Tag is under 1.7 KB and never blocks the page, and it is the same tag that powers Journey Insights, so there is no second testing script to load.

Build the change in the visual editor, then check it with the throttled reload above. For changes that add content to a page, such as pop-ups and widgets, preview them in the editor before launch. For a full-page change, compare a split URL test with an on-page change and use the smaller edit when it is enough. New to testing? Start with what A/B testing is.

Common questions

What is the flicker effect in A/B testing?

It is when a visitor sees the original page for a moment before the test variant appears. It happens in client-side tests because the page is drawn before the testing script changes it.

Does the flicker effect affect test results?

It can. Visitors who notice the change may behave differently, and a variant that appears later than the original can lose for reasons unrelated to its design.

How do I fix the flicker effect?

Load the testing script early and directly in the page head, keep it small, favour changes that apply instantly, and hide only the tested region if you must. Server-side testing removes flicker entirely.

Does server-side testing have flicker?

No. The server sends the right version in the HTML, so nothing is swapped after the page draws. The cost is developer work for each test.

Can tag managers cause flicker?

Yes. A tag manager adds a step before the testing script runs, so the original page often paints first. Placing the testing script directly in the page head avoids that step.