The anti-flicker option is designed to provide a smoother user experience during A/B tests by preventing visitors from briefly seeing the original page before experiment changes are applied. However, it comes with important tradeoffs depending on how you install Stellar.
Flicker (also known as "page flash" or "FOOC" - Flash of Original Content) occurs when a visitor sees the original version of your page for a split second before your experiment variant loads. This happens because:
Example: If you're testing a red button vs. a blue button, visitors might briefly see the original blue button before it changes to red. This flash can be jarring and may impact the integrity of your experiment.
Stellar's anti-flicker option prevents this by temporarily hiding your page's content until all potential experiments are fully mounted and applied. Here's the sequence:
Timing: This entire process typically takes 100-300 milliseconds, which is barely noticeable to most visitors but completely eliminates the visible flicker.
The effectiveness of the anti-flicker option heavily depends on where and how you install the Stellar snippet:
When you add the Stellar snippet directly to your website's <head> tag:
Best practice: For optimal anti-flicker performance, always install the snippet directly in your HTML <head> tag, as high up as possible.
When you install the snippet through Google Tag Manager (GTM), the anti-flicker option can actually cause more visible flicker instead of preventing it:
The Problem: GTM itself needs to load before it can run the Stellar snippet. By the time GTM triggers the anti-flicker script, the page has often already rendered. The anti-flicker script then hides an already-visible page, creating a noticeable "double-load" or flickering effect.
Here's what happens with GTM and anti-flicker enabled:
This creates a visible "blink" or "reload" effect that's worse than having no anti-flicker at all, as demonstrated in the video feedback we received from users.
The decision depends entirely on your installation method:
Our Recommendation: If you're using Google Tag Manager, we strongly recommend keeping the anti-flicker option OFF. The tradeoff isn't worth it, and you'll actually provide a better experience without it.
Even when installed correctly (directly in HTML), the anti-flicker option represents a tradeoff:
| Aspect | Anti-Flicker ON | Anti-Flicker OFF |
|---|---|---|
| Flicker | No visible flicker | Brief flash of original content possible |
| Load Time | Page hidden for 100-300ms | Immediate rendering |
| User Experience | Slightly delayed but consistent | Faster but may see brief change |
| Experiment Integrity | Better - users never see original | Slight risk of original exposure |
To determine if anti-flicker is working correctly for your installation:
Pro tip: Use Chrome DevTools' Network throttling (set to "Fast 3G") to simulate slower connections and see flicker more clearly.
If you need to use GTM but want to minimize flicker, consider these approaches:
Install a minimal anti-flicker script directly in your HTML <head>, then load the main Stellar script via GTM:
<!-- Add directly to <head> -->
<script>
// Minimal inline anti-flicker
document.documentElement.style.opacity = '0';
setTimeout(() => {
document.documentElement.style.opacity = '1';
}, 3000); // Failsafe timeout
</script>
<!-- Load via GTM -->
<!-- Your full Stellar snippet -->Note: This approach requires technical implementation and isn't officially supported. Use at your own discretion.
Focus your experiments on below-the-fold elements or less prominent areas where brief flicker is less noticeable or impactful.
The best solution is to install the Stellar snippet directly in your HTML. If you're using GTM primarily for convenience, consider whether the improved performance and anti-flicker capability is worth the small effort of direct installation.
When installed directly in HTML, anti-flicker adds approximately 100-300ms of delay before content becomes visible. This is usually imperceptible to users and is a worthwhile tradeoff for preventing visible flicker. The page is still loading during this time - content just isn't visible yet.
Technically yes, but we strongly advise against it. The delayed execution through GTM causes the anti-flicker script to hide already-visible content, creating worse flicker than having it off. Keep anti-flicker OFF if using GTM.
The anti-flicker script includes a failsafe timeout (typically 3 seconds). If the main Stellar script doesn't load in time, the page will automatically become visible with the original content. This prevents users from seeing a blank page indefinitely.
No. Redirect tests don't modify the current page - they navigate users to a different URL. Anti-flicker is only relevant for experiments that visually modify the current page.