Storyblok vs Sanity vs Contentful for Composable Commerce: Visual Editing, APIs, and Pricing (2026)
Headless CMS selection for composable commerce sits at the intersection of merchandiser experience, developer ergonomics, and CDN economics. Storyblok, Sanity, and Contentful solve different shapes of the problem, and the right pick depends on who edits, how often, and how tightly the CMS has to wire into the commerce platform.
Headless CMS selection for composable commerce is the decision most teams treat as personal preference until the merchandising team gets blocked on a campaign launch, the developer team is six months into a content model rewrite, or the CDN bill scales nonlinearly with traffic. The first wave of requirements is rich text editing, image management, and an API; all three platforms handle this. The second wave is real time visual editing against the live storefront, content modeling for product enriched landing pages, multi locale workflows, preview environments tied to actual rendered commerce templates, and a CDN architecture that does not collapse during flash sales. The second wave is where the platform choice actually matters.
We have shipped composable commerce stacks on Storyblok, Sanity, and Contentful across Shopify Plus, commercetools, Saleor, and custom Next.js storefronts over the last 36 months. The trade offs sort cleanly once the variables are named.
Headline Comparison
| Dimension | Storyblok | Sanity | Contentful |
|---|---|---|---|
| Parent company | Storyblok GmbH (Series C, $80M raised) | Sanity.io (Series C, $116M raised) | Contentful AG (PE acquired, Insight Partners) |
| Primary positioning | Visual editor first headless CMS | Developer first content lake | Enterprise headless CMS with structured workflows |
| Content modeling | Block based, visual schema | Schema as code (JS/TS), GROQ queries | Schema in UI, REST and GraphQL |
| Visual editing | Native, side by side live preview | Sanity Studio + Presentation tool | Compose (separate product, premium tier) |
| Real time collab | Yes, native multi cursor | Yes, real time presence + history | Yes, with workflow approval gates |
| Entry tier monthly | $0 (Community, 1 user, 25K traffic) | $0 (Free tier, 3 seats, generous limits) | $300 (Basic tier, 5 users) |
| Mid tier monthly | $599 (Business, 10 users, 250K traffic) | $949 (Team plan, content lake limits) | $2,295 (Premium, workflow tier) |
| Enterprise monthly | Custom | Custom | Custom (often $50K+ annual) |
| API design | REST + GraphQL, draft delivery API | GROQ (custom query lang), GraphQL, REST | REST + GraphQL, separate Content Delivery API |
| CDN strategy | Fastly + Storyblok edge | CloudFront + Sanity CDN | Fastly + Contentful CDN |
The pricing structure already sorts most decisions. Storyblok and Sanity meet a small team in the free or low tier without rewriting the architecture later. Contentful charges enterprise pricing from day one and is structured for teams with existing budget envelopes and structured editorial workflows. The CMS pricing on a composable stack is rarely the largest line item, but the trajectory matters: a free tier that survives the first six months saves a migration later.
Visual Editing: The Merchandiser Side of the Decision
Composable commerce decouples the storefront from the CMS, which means the merchandiser cannot just look at the live site and click edit. The visual editor is the bridge back, and the three platforms approach it differently.
Storyblok ships a side by side visual editor as the default. The editor pane loads the live storefront in an iframe with click to edit overlays on every block. The merchandiser clicks a hero, edits the headline, sees the change applied to the iframe in real time, and publishes. The editor is the product, and it shows. For merchandising teams who edit dozens of landing pages a week, this is the strongest workflow of the three.
Sanity ships the Presentation tool, which provides a similar side by side preview against a configured route. It is newer than Storyblok's editor and requires more developer setup to wire the live preview correctly against the storefront framework. Once wired, it works well, and the trade off is worth it for teams that prefer Sanity's schema as code modeling. The friction is the first month of setup.
Contentful ships Compose as a separate paid tier product. It is the most enterprise oriented of the three: structured workflows, approval gates, and tighter access controls. For organizations with formal editorial review processes (regulated industries, multi market enterprise brands), Compose is the right pick. For smaller teams that want the merchandiser to ship a campaign in 30 minutes, the workflow overhead is the wrong shape.
Content Modeling: The Developer Side
| Modeling approach | Storyblok | Sanity | Contentful |
|---|---|---|---|
| Where schemas live | UI + JSON export | TypeScript files in repo | UI primarily, JSON sync available |
| Version control | Possible, with discipline | Native, schemas are code | Possible, with CI tooling |
| Nested blocks | Native, deep nesting | Native, with array of references | Supported, less ergonomic |
| Custom field types | Limited to plugin SDK | Custom React components | Extensions via UI Extensions API |
| Query language | REST + GraphQL | GROQ (purpose built) | GraphQL + REST |
| Validation | UI configured + plugin code | Schema code | UI configured |
Sanity wins on developer ergonomics for any team that treats content modeling as code. Schemas live in the repo, get reviewed in pull requests, get migrated through code, and never drift between environments. For composable commerce stacks where the content model evolves rapidly alongside the storefront, this is the right ergonomic.
Storyblok is the middle ground. Schemas live in the UI primarily, can be exported and committed, and the visual editor enforces consistency for editors. The trade off against Sanity is real but the visual editor win usually justifies it for merchandiser heavy workflows.
Contentful is closest to a traditional CMS modeling experience. Schemas live in the UI; migrations are possible via the CLI but less natural than Sanity's approach. For teams that want the modeling experience to feel familiar to editors and that already have established workflows around UI based modeling, this is the right shape.
Commerce Platform Integration
| Platform | Storyblok integration | Sanity integration | Contentful integration |
|---|---|---|---|
| Shopify Plus / Hydrogen | First class plugin, product picker | First class plugin (Sanity Connect), product picker | Shopify app + AppBridge integration |
| commercetools | Official integration, partner certified | Community + custom integration | Official integration |
| Saleor | Community integration | Community integration, well documented | Partner integration |
| Magento / Adobe Commerce | Plugin available, limited polish | Custom integration via API | Adobe partnership integration |
| BigCommerce | Plugin available | Custom integration | Official integration |
The Shopify Hydrogen story is the deciding factor for many composable commerce projects. Storyblok and Sanity both ship product picker plugins that let editors browse the Shopify product catalog from inside the CMS editor and embed product references in landing pages without copy pasting handles. Contentful's integration works but is more clearly bolted on; the merchandiser experience is rougher.
For commercetools or Saleor stacks, Sanity is the most flexible: GROQ queries against the content lake compose well with commercetools' GraphQL API, and the schema as code approach lets the team enforce data contracts between the CMS and the commerce platform.
CDN Architecture: The Cost That Surprises Teams
| Workload | Storyblok CDN | Sanity CDN | Contentful CDN |
|---|---|---|---|
| Single page rendering, 5K req/min | Comfortable | Comfortable | Comfortable |
| Flash sale, 50K req/min | Comfortable (Fastly POPs) | Comfortable with caching | Comfortable but watch egress |
| Image transforms, 100K/day | Native, included in tier | Native, included | Native, premium tier feature |
| Locale fanout (10+ locales) | Strong | Strong, GROQ caches well | Strong, but each locale counts as a separate space sometimes |
| Bandwidth overage cost | Tier based, generous | API call based, generous | Egress overages can be steep |
The CDN cost story breaks down on two axes: bandwidth (the traffic) and API call volume (the underlying CMS reads). Storyblok and Sanity both include generous bandwidth allowances and the overage rates are reasonable. Contentful's pricing structure (separate API call limits, separate bandwidth tiers, separate locale spaces in some configurations) compounds more aggressively at enterprise scale. For a high traffic D2C brand with multi locale rollout, modeling the CMS bill at 3x current traffic is the right exercise before signing the contract.
Decision Framework: Which CMS for Which Composable Stack
| Stack profile | Recommended CMS | Reasoning |
|---|---|---|
| Shopify Plus + Hydrogen, merchandiser heavy | Storyblok | Visual editor wins, Hydrogen plugin is mature |
| commercetools or Saleor, developer led | Sanity | Schema as code + GROQ flexibility |
| Enterprise multi market brand with formal editorial workflow | Contentful | Compose workflows + permission model |
| Startup D2C, fast iteration, small team | Sanity | Free tier headroom, schema in repo |
| Mid market brand with weekly campaign cadence | Storyblok | Visual editor velocity, mid tier pricing |
| Regulated industry, approval gates required | Contentful | Workflow tier is purpose built for this |
| Cost sensitive launch, high traffic anticipated | Sanity or Storyblok | Bandwidth tiers more forgiving |
The right answer depends on who edits the site and how the content model evolves. For most Shopify Plus composable commerce projects we ship, Storyblok is the default for merchandiser heavy workflows and Sanity is the default for developer led teams with rapid schema evolution. Contentful is the right pick when the organization already runs formal editorial processes and the workflow capabilities map to existing approval requirements.
Migration Patterns Between These Platforms
Migrating from Contentful to Storyblok or Sanity is the most common direction we see, usually triggered by a merchandiser experience complaint or a pricing escalation. The migration is manageable: structured content exports cleanly, the schema translates, and the editor retraining takes a sprint. The risk is in references and rich text fields where the platforms model embedded references differently. Plan a four to eight week migration for a mid sized content catalog with 500 to 2,000 entries.
Migrating from Storyblok to Sanity is rarer and usually driven by a developer team wanting schema as code. The migration is harder than the inverse because Storyblok's nested block structure does not always map cleanly to Sanity's reference based model. Plan more time on schema design.
Migrating from Sanity to either of the other two is rare. When it happens, it is usually driven by the merchandiser team wanting more visual editing polish, in which case Storyblok is the destination.
When This Applies to Your Stack
A Shopify Plus or Hydrogen build where the merchandising team owns the landing page cadence and ships multiple campaigns per week. Storyblok's visual editor compresses the time from idea to published campaign in a way the other two platforms do not match.
A composable commerce build on commercetools or Saleor where the developer team owns the content model and wants schemas in the repo. Sanity is the right pick; GROQ is a real productivity win for engineers who learn it, and the schema as code workflow eliminates a class of environment drift bugs.
An enterprise migration off a monolithic platform (Adobe Experience Manager, Sitecore) where the organization already runs formal editorial workflows. Contentful is the right pick; the workflow tier maps to existing approval processes and the enterprise support relationship is the maturity match.
When This Does Not Apply
Content workloads that are not primarily commerce. For pure publishing (news, blogs, knowledge bases), the calculus shifts toward Sanity or to specialized publishing platforms outside this comparison. The commerce platform integration story is the deciding factor here.
Teams already committed to a different CMS (Strapi, Payload, WordPress VIP) by organizational mandate. The platform choice has to fit the team that operates it, and switching costs are real.
Single product, single locale microsites where a flat file CMS or a build time content layer is the right answer. Headless CMS at this scale is overhead without payoff.
Working with Contra Collective
We build composable commerce stacks on Shopify Plus, commercetools, and Saleor, with CMS integrations on Storyblok, Sanity, and Contentful. If you are picking a CMS for a new composable commerce build or planning a migration off a monolithic platform, we run a workload mapped evaluation against your merchandiser cadence, developer team profile, and projected traffic to size the right pick. Reach out via the Contra Collective contact page.
FAQ
Q: Which CMS has the best Shopify Hydrogen integration? A: Storyblok and Sanity are both strong, with Storyblok edging on merchandiser visual editing polish and Sanity edging on developer ergonomics. Both ship product picker plugins, both render natively in Hydrogen, both handle preview routes well. The pick comes down to the team that operates the CMS.
Q: How does pricing compare at scale? A: For a mid market composable commerce build (5 to 20 editors, 1 to 5 million monthly visitors, multi locale), Storyblok lands in the $1,500 to $4,000 monthly range, Sanity lands in the $1,500 to $5,000 range with the team and growth tier headroom, and Contentful lands in the $3,000 to $10,000+ range depending on workflow and locale needs. Enterprise pricing diverges further; model carefully.
Q: Can I use these CMS platforms for product catalog instead of marketing content? A: Not as the system of record. The commerce platform (Shopify, commercetools, Saleor) owns the product catalog. The CMS owns product enriched content: landing pages, campaign hubs, editorial product descriptions, story driven collection pages. The integration model is the CMS references product handles or SKUs from the commerce platform; the catalog stays where it belongs.
Q: What about Builder.io for visual editing? A: Builder.io is a strong competitor to Storyblok specifically on visual editing for commerce. We compare them in a separate post; the short version is Storyblok wins on content modeling depth and Builder.io wins on raw drag and drop polish. For composable commerce with a mature content model, Storyblok holds up better; for fast moving landing page only workloads, Builder.io is competitive.
Q: Does Sanity scale to millions of entries? A: Yes, with the content lake architecture and GROQ query optimization. We have shipped Sanity instances with 100K+ entries serving multi million traffic without scaling problems. The constraint at scale is GROQ query design and CDN caching strategy, not the platform itself.
More from the lab.
Adobe's 275 Billion Dollar 2026 Holiday Forecast: Is Your Commerce Stack Ready for Peak Season
Adobe's 2026 holiday forecast puts US online sales at 275.1 billion dollars between November 1 and December 31, up 6.7 percent year over year. The bigger number in the report is not the top line: AI referred traffic to retail sites is projected to grow 130 percent, with spikes to 159 percent on Thanksgiving alone. Most teams are reading this as a marketing story. It is an infrastructure story.
Shopify Lets Meta's Muse Check Out, Amazon Blocks It: The Platform Split Over AI Shopping Agents
On September 22, Shopify and Meta announced that Muse, Meta's AI shopping agent, can search Shopify merchant catalogs and complete purchases through Shop Pay. Within days, Amazon blocked the same agent from its marketplace, citing unauthorized agent access, identity concealment, and credential collection. Two platforms, the same AI agent, and two opposite bets on what agentic commerce should look like.
Mastercard Agent Pay, Visa TAP, and ACP: The Agentic Payments Protocol Map for Merchants (October 2026)
On October 1, 2026, Mastercard added a probability score and a set of trust and intelligence signals to Agent Pay, its framework for telling issuers whether a transaction was actually initiated by an AI agent, built in partnership with agent identity provider Skyfire and with Cloudflare on the data side. The same day, trade press mapped out eight separate protocols now live in agentic commerce: MCP, A2A, ACP, UCP, AP2, TAP, Agent Pay, and MPP, backed by Anthropic, Google, OpenAI, Stripe, Shopify, Visa, and Mastercard respectively or in combination. None of them has lost. They are stacking, not competing, which is both good news and a real integration problem for anyone who is not Shopify.