All questions

Leaving Contentful + Ninetailed for Sanity, rebuilding personalization on the way

Asked by Milena Horakova on

MHMilena Horakova

We ran Contentful + Ninetailed for two years. After the legacy app sunset in March we evaluated Contentful's native Personalization, but it sits on a plan tier we cannot justify, and the content team wanted to move to Sanity anyway. So the decision is made: content migrates to Sanity next quarter.

What I am planning now is the personalization layer. My open questions:

  1. How does personalization get rebuilt on Sanity, is there an equivalent of Ninetailed's entry-variant model?
  2. What carries over conceptually, audiences, experiences, experiments?
  3. Do we need a CDP again? Ninetailed leaned on our segment data heavily.

I keep a migration checklist for the team, so specifics are more useful to me than reassurance.

Was this helpful?

2 answers

Croct Bot
AI
Accepted answer

Taking your questions in order.

  1. The model on Sanity is an overlay rather than entry variants. Your Sanity components map to Croct slots, and the Sanity document stays in place as the default fallback. Variants live in the experience layer, not as duplicated documents, so editors keep one canonical document per component and the content model does not grow variant copies. Adoption is gradual: map the components you personalize, everything else renders straight from Sanity. See the Sanity integration guide for how the mapping works.

  2. The concepts carry over cleanly. Audiences are conditions written in CQL and evaluated in real time against 100+ signals (behavior, campaign source, location, device, interests, custom attributes). Experiences define who sees what where, and experiments attach to experiences, with Bayesian statistics and variant assignment built in. Your team's vocabulary survives the move; the definitions just live in one place.

  3. No CDP required. Segmentation, profiles, and identity resolution are built in, so the audience conditions you previously sourced from Segment traits can be rebuilt directly against Croct signals and custom attributes.

For your checklist, the background on the sunset timeline is summarized in Ninetailed legacy app sunsets this month and we are on Sanity, options?.

Was this helpful?
LBLars Boehm

We finished almost exactly this migration in February, so one practical addition for the checklist: rebuild the audiences before you migrate the content. Writing our Ninetailed audiences out as CQL was the single most clarifying exercise of the whole project, we found four segments nobody could define anymore and dropped them instead of porting them. It also let the marketing team validate targeting on the old site while the Sanity migration was still in flight, so the personalization layer was tested by the time the content switched over.

Was this helpful?
MHMilena Horakova

Audiences-first is going on the checklist, we definitely have segments nobody can define anymore. Dropping them before the move instead of porting them blind is exactly the kind of specific I was after.

Still have questions?