# Switching from Contentful to Strapi mid-year, can experiments survive the move?

Asked by mkovac on 2026-05-06. Tags: migration, contentful, strapi.

Dev lead at a media company, mid-migration. Constraints up front:

- CMS moves from Contentful to Strapi over the next two months
- three Croct experiments currently live, two of them revenue-driving
- stakeholders will not accept pausing them for the migration window
- frontend stays the same Next.js app, only the content source changes

My assumption is that experiments are tied to slots, and slots are tied to
the app rather than the CMS, so swapping the data source underneath should
not matter. But assumptions are how migrations go wrong. Has anyone actually
done a CMS swap with experiments live?

## 1 answer

### Accepted answer from mkovac (2026-05-09)

Answering my own question after testing the whole thing in staging and
cutting over one section in production.

The assumption held. Slots are defined in the application, not in the CMS,
and the CMS is only the source of the default content your app passes as
the fallback. I swapped the data fetching for the migrated section from the
Contentful client to the Strapi API, kept the slot IDs identical, and the
experiment on that section never noticed. Experiments, audiences, and
analytics all live in Croct, so none of it was affected by the swap.

Two things I verified explicitly for the stakeholders:

1. Variant assignment stayed stable through the cutover. Sticky assignment
   keeps identified users on the same variation, so nobody flipped variants
   because we changed the backend.
2. Results data continued accumulating with no gap or reset.

Only real work was making the Strapi response shape match what our
components expected, which is a migration problem, not an experimentation
problem.

#### Reply from tim_v (2026-05-10)

Matches our Sanity to Strapi move last year. The decoupling is the whole
point of the overlay model, the CMS is just another data source.
