Do we need Segment or a CDP to personalize our Sanity site?
our stack is Sanity plus Next.js and we want to start personalizing a few sections by visitor segment. A consultant told us the "proper" way is a CDP like Segment feeding computed segments to the frontend, plus a separate personalization tool reading them.
That is two new vendors and two new bills for what feels like a simple need. We are already looking at Croct for the Sanity side. Does it actually require a CDP behind it, or is the segmentation built in? Would rather not stand up a whole pipeline just to know if someone came from a paid campaign
2 answers
No CDP needed. Segmentation and analytics are built into the integration, so the Sanity + Next.js + Croct stack is complete on its own for what you described.
Audiences are defined with conditions over 100+ signals grouped into categories like Events, Location, Marketing, Session, Shopping, User, Web, and Technology, plus any custom attributes you set yourself. You can combine them with AND/OR logic, so "came from a paid campaign and is on mobile" is a one-liner, no pipeline involved.
The architectural difference from the CDP approach matters too: a CDP computes segments from events that already happened and syncs them out on some schedule. Croct audiences are evaluated in real time on each interaction, so a visitor who lands from a Google Ads click matches the campaign audience on that very pageview, not after a sync job runs.
Adding one nuance to Tom's answer: a CDP still makes sense if you need to pipe unified customer data into many downstream tools (email, ads, warehouse). That is a different job.
But for on-site personalization specifically, the two-vendor setup your consultant described is solving a problem you do not have. The segment evaluation happens inside Croct at request time, and the built-in analytics cover the experiment and audience reporting, so there is nothing for a CDP to feed. We run a similar B2B stack and never added one.