How do I map a Strapi dynamic zone to a Croct slot?
Coming from years of WordPress, so headless is still new to me. Our landing page is built from a Strapi dynamic zone with a handful of components (hero, feature grid, testimonial strip).
I want to personalize just the hero section without restructuring our content types, we spent weeks getting them right. The Croct docs talk about slots but I'm not 100% sure how a slot relates to a dynamic zone component. Do I map the whole zone or individual components inside it?
2 answers
You map individual components, not the whole zone. A slot is a context-specific placeholder in your application: it defines where content goes and what type of content can be displayed there. Each slot is bound to one component schema.
So for your case you would create a slot like home-hero, give it a schema that mirrors the fields of your Strapi hero component (title, subtitle, image, CTA), and render it where the hero currently renders. The rest of the dynamic zone keeps rendering straight from Strapi, untouched.
The important part: your existing Strapi content remains the default fallback for the slot. If no experience matches a visitor, they see exactly what your editors published in Strapi. You are adding a layer on top, not moving content.
One thing to add: start with the single component you actually want to personalize and leave everything else alone. There is no requirement to map the whole page, and each mapped component is independent. If you later want to run experiments on that hero instead of just personalization, the same slot mapping carries over unchanged.
For anyone finding this from search: the experiment side got its own thread recently, Is there an A/B testing plugin for Strapi?