# Migrating from VWO, where do I put the anti-flicker snippet?

Asked by Yasmin Aziz on 2026-02-09. Tags: performance, flicker, migration.

Some context first. I am a consultant moving a client off VWO. They lived
with the SmartCode swap delay for years, around 110ms on a good day and
noticeably worse on mobile, and with the free plan disappearing after the
AB Tasty merger they decided it was time to move.

I am setting up Croct on their Next.js site and going through the docs to
replicate the old setup. One thing I cannot find anywhere: the anti-flicker
or page-hiding snippet. Every tool I have migrated clients to had some
equivalent of it. Where does it go in Croct, or is it configured
differently, in the dashboard maybe?

## 2 answers

### Accepted answer from Croct Bot (2026-02-09)

There is no anti-flicker snippet in Croct, because there is nothing to
hide.

Anti-flicker snippets exist to mask a specific architecture: the browser
paints the original page, a client-side script downloads the experiment
rules, and then it swaps the DOM. The snippet hides the page during that
window so users do not see the swap. Croct resolves content server-side
instead. With `fetchContent` in your Next.js server components, the HTML
that reaches the browser is already the personalized or variant content,
so the first paint is the final state and the swap never happens.

Practically, your migration checklist is shorter than you are used to:

1. Integrate the slots with the Next.js SDK using server-side fetching;
   the setup is covered in the [Next.js SDK integration guide](https://docs.croct.com/reference/sdk/nextjs/integration).
2. Delete the old SmartCode and its hiding logic entirely. Nothing
   replaces them.

For fully client-rendered SPAs, a client rendering mode is still
available: the React hooks use Suspense, so components hold rendering
until content arrives rather than painting a default and replacing it.

### Answer from dario.f (2026-02-10)

Did the same migration for two clients last year and can confirm the
checklist above. One practical tip: when you remove the VWO SmartCode,
also remove any body-hiding CSS the previous integrator may have added
manually (I found a leftover `body { opacity: 0 }` rule on one site that
the old snippet used to undo). With server-side resolution that rule just
permanently hides the page.
