# Shopify metaobjects or Sanity: how far can Shopify's native content model go?

Reviewed by Martin Dejnicki · facts verified 25 October 2026 · canonical: https://deploi.ca/sanity/compare/sanity-vs-shopify-metaobjects

## Short answer

Shopify metaobjects handle one store's content at no separate price, because Shopify lists allowances for every plan from Basic to Enterprise, up to 40 fields and 1,000,000 entries per definition ([Shopify limits](https://shopify.dev/docs/apps/build/custom-data/metaobjects/metaobject-limits); [Shopify App Store](https://apps.shopify.com/built-in-features/metafields-and-metaobjects), October 2026). Sanity adds held drafts, schedules, draft-only roles and reach beyond one shop, from $15 per seat a month ([Sanity pricing](https://www.sanity.io/pricing), October 2026).

- **Metaobject price:** Included in every Shopify plan. Shopify lists metaobject definition allowances for Basic, Shopify, Advanced, Plus and Enterprise, and its built-in features page says they are included with Shopify, as of October 2026. ([Shopify Dev Docs, Metaobject limits](https://shopify.dev/docs/apps/build/custom-data/metaobjects/metaobject-limits); [Shopify Developer Changelog, Increased limits in metafield and metaobject definitions](https://shopify.dev/changelog/increased-limits-for-metafields-and-metaobjects); [Shopify App Store, Metafields and metaobjects](https://apps.shopify.com/built-in-features/metafields-and-metaobjects))
- **Metaobject limits per shop:** 128 definitions, 256 on Plus and Enterprise. Merchant definitions; standard definitions don't count. Each definition holds up to 40 fields and 1,000,000 entries, counted per shop, as of October 2026. ([Shopify Dev Docs, Metaobject limits](https://shopify.dev/docs/apps/build/custom-data/metaobjects/metaobject-limits); [Shopify Developer Changelog, Increased limits in metafield and metaobject definitions](https://shopify.dev/changelog/increased-limits-for-metafields-and-metaobjects))
- **Sanity Growth price:** $15 per seat a month. Free is $0 with up to 20 seats; Growth runs to 50 seats, as of October 2026. Sanity Connect is free to install, and its App Store listing says Sanity's pricing applies. ([Sanity, Plans that scale with you](https://www.sanity.io/pricing); [Sanity, Sanity for Startups](https://www.sanity.io/startups); [Shopify App Store, Sanity Connect](https://apps.shopify.com/sanity-connect))
- **Sanity documents a catalog adds:** One per product, variant and collection. Sanity Connect's direct sync creates them and they count toward the document quota; a custom sync can skip variants to save documents. ([Sanity Docs, Sanity Connect for Shopify](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify))

## Deploi's call

Decide on reach and editorial workflow, not on whether you want a headless storefront. One Liquid store with a few trusted editors and product-adjacent content should stay on metaobjects, because they cost nothing extra and live in the admin your team already uses. Add Sanity when the content must serve a second store, brand or channel, or when editors need revisions held back from a live store, schedules or a draft-only role.

**SANITY: Choose Sanity for your store's content when**

- The same content feeds more than one Shopify store, brand, app or site, because Shopify counts metaobjects per shop.
- Editors need a revision held back while the live version stays up, or Scheduled drafts (on Growth as of October 2026), because a saved edit to a metaobject entry in use shows everywhere it is used.
- Some editors must write drafts without publishing, so Growth's Contributor role (as of October 2026) fits where Shopify grants metaobject entry rights as one store-wide group.
- A developer team is building Hydrogen or another custom front end.
- A content type needs more than the 40 fields Shopify allows per metaobject definition as of October 2026.

**OTHER: Stay on Shopify metaobjects when**

- One Liquid storefront uses the content, so there is nothing to share across channels.
- The content is product-adjacent: size charts, highlights, ingredients, FAQs, author profiles.
- A small team edits in the Shopify admin and Draft or Active is enough workflow.
- You would rather not run a second system, a sync and per-seat Sanity billing, because metaobjects are included in every Shopify plan as of October 2026.

## What can Shopify metaobjects model, and what do they cost?

Shopify metaobjects model structured content inside one shop at no separate price, because Shopify lists definition allowances for every plan from Basic to Enterprise ([Shopify limits](https://shopify.dev/docs/apps/build/custom-data/metaobjects/metaobject-limits), October 2026), and its built-in features page says they are included with Shopify ([Shopify App Store](https://apps.shopify.com/built-in-features/metafields-and-metaobjects), October 2026). A definition sets the fields; entries hold the data. Typical uses are product-adjacent: size charts, ingredients, highlights, FAQs and author profiles. Four optional capabilities extend a definition ([Shopify capabilities guide](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities), October 2026): publishable (Draft or Active), translatable, renderable (metadata for search engines) and onlineStore. The onlineStore capability gives entries their own web pages through a theme template. Shopify's October 2025 change lifted entries to 1,000,000 per definition, replacing plan caps of 64,000 and 128,000 ([Shopify changelog](https://shopify.dev/changelog/increased-limits-for-metafields-and-metaobjects), October 2026).

**Shopify's metaobject limits are generous for storage and tight per page render**

| Limit | Value as of October 2026 |
| --- | --- |
| Merchant definitions per shop | 128; 256 on Plus and Enterprise |
| Fields per definition | 40 |
| Entries per definition | 1,000,000 |
| Entries returned by one Liquid loop | 50 without paginate; 250 per page with it |
| Handle lookups per metaobject type per render | 20 |

Standard definitions and entries don't count toward these limits, and Shopify counts them per shop. Sources: [Shopify Dev Docs, Metaobject limits](https://shopify.dev/docs/apps/build/custom-data/metaobjects/metaobject-limits); [Shopify Developer Changelog, Increased limits in metafield and metaobject definitions](https://shopify.dev/changelog/increased-limits-for-metafields-and-metaobjects); [Shopify Dev Docs, Metafield limits](https://shopify.dev/docs/apps/build/metafields/metafield-limits). As of 24 October 2026.

## Where do Shopify metaobjects run out for editors?

Shopify metaobjects run out on editor workflow and access before they run out on storage. An entry is Draft or Active, and once an entry is in use, "your edits will automatically be reflected wherever the entry is used" ([Shopify Help Center, Creating entries](https://help.shopify.com/en/manual/custom-data/metaobjects/creating-entries), October 2026). So a revision to a live entry goes live when you save it. Shopify's four documented capabilities include no scheduling or approval step ([Shopify capabilities guide](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities), October 2026).

Access is one store-wide group: View, Create and edit, and Delete for entries, separate from the permissions for definitions ([Shopify store permissions](https://help.shopify.com/en/manual/your-account/users/roles/permissions/store-permissions), October 2026). Shopify's permissions page lists entry permissions once, not per metaobject type, and says store permissions apply at the store level. So a staff member who can edit size charts can edit every other type's entries too.

Reach stops at the shop, because Shopify counts definitions, fields and entries per shop ([Shopify limits](https://shopify.dev/docs/apps/build/custom-data/metaobjects/metaobject-limits), October 2026). A second store means a second copy of the model and its entries. Deleting a definition deletes every entry in it, and Shopify warns it "can't be undone" ([Shopify Help Center, Building a metaobject](https://help.shopify.com/en/manual/custom-data/metaobjects/building-a-metaobject), October 2026).

## What does Sanity add to a Shopify store's editing?

Sanity adds three things Shopify's metaobjects don't document: revisions held apart from live content, scheduled publishing and publish rights by role. In Sanity, publishing copies a draft into the published document, and later edits make a new draft while "the published document stays as it is until you publish again" ([Sanity Docs, Drafts and versions](https://www.sanity.io/docs/content-lake/drafts-and-versions), October 2026). Sanity Connect sends only published documents to Shopify, so a draft never reaches the store ([Sanity Docs, Displaying Sanity content in Shopify](https://www.sanity.io/docs/developer-guides/displaying-sanity-content-in-shopify), October 2026).

- Scheduled drafts publishes one document at a set time on Growth and needs Studio v4.14.0 or later ([Sanity Docs, Scheduled drafts](https://www.sanity.io/docs/studio/scheduled-drafts), October 2026). Sanity's docs don't say whether a scheduled publish triggers the sync to Shopify, so test it against a non-production dataset first ([Sanity Docs, Sanity Connect](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify), October 2026).
- Growth's five fixed roles include Contributor, which writes drafts but cannot publish; custom roles are Enterprise ([Sanity Docs, Roles and permissions](https://www.sanity.io/docs/content-lake/roles-concepts), October 2026).
- Content Releases has been an Enterprise add-on since 6 November 2025 ([Sanity's announcement](https://www.sanity.io/blog/introducing-content-releases), October 2026); Growth projects that already used it keep 2 active releases ([Sanity's Scheduled drafts post](https://www.sanity.io/blog/scheduled-drafts), October 2026).
- Sanity Connect doesn't sync release versions ([Sanity Docs, Sanity Connect](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify), October 2026).

Sanity's Growth roles still cover every dataset, so locking an editor to one content type takes an Enterprise custom role as of October 2026.

## What does Sanity cost on top of a Shopify plan?

Sanity costs $0 on Free and $15 per seat a month on Growth, up to 50 seats, as of October 2026 ([Sanity pricing](https://www.sanity.io/pricing), October 2026). Sanity Connect is free to install, and its Shopify App Store listing says Sanity's own pricing applies ([Shopify App Store, Sanity Connect](https://apps.shopify.com/sanity-connect), October 2026). So the cost is the Sanity plan, not a separate Shopify fee.

Documents are the second cost line. Sanity Connect's direct sync creates one document for every product, variant and collection, and they count toward the quota ([Sanity Docs, Sanity Connect](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify), October 2026). Growth includes 25k documents per project with no document overage, the $299 a month Increased quota add-on raises the total to 50,000, and past that the path is Enterprise ([Sanity pricing](https://www.sanity.io/pricing); [Sanity Docs, Plans and payments](https://www.sanity.io/docs/platform-management/plans-and-payments); [Sanity Docs, Technical limits](https://www.sanity.io/docs/content-lake/technical-limits), October 2026). A custom sync can skip variants to save documents; how a catalog fills the quota has the arithmetic.

> **When not to add Sanity to a Shopify store**
>
> - One Liquid store shows the content, and no second store, brand or channel is planned.
> - A few trusted staff edit it, and Draft or Active is enough workflow.
> - Nobody will own the Sanity Studio, the sync and the document count after launch.

## Do you have to go headless to use Sanity with Shopify?

No: Sanity Connect syncs published Sanity documents into Shopify, so a Liquid theme can render Sanity content without a headless rebuild. Sanity's docs offer both routes ([Sanity Docs, Sanity Connect](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify), October 2026): "a headless approach using Shopify's Hydrogen framework and Next.js", or syncing "into Shopify's platform" for Liquid or the Storefront API (application programming interface). Custom fields arrive as metafields and custom document types as metaobjects, a sync Sanity added on 3 June 2024 ([Sanity Docs, Sanity Connect](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify); [Sanity blog](https://www.sanity.io/blog/sanity-connect-for-shopify), October 2026). Portable Text arrives as JSON and renders through portable-text-to-liquid ([Sanity Docs, Displaying Sanity content in Shopify](https://www.sanity.io/docs/developer-guides/displaying-sanity-content-in-shopify), October 2026). The synced entries are ordinary metaobjects, so Shopify's Liquid render limits still apply. The Liquid theme route covers the setup.

> **Shopify publishes two per-app definition limits**
>
> Shopify's limits page says each app installed on a shop can create up to 128 metaobject definitions ([Shopify limits](https://shopify.dev/docs/apps/build/custom-data/metaobjects/metaobject-limits), October 2026). Its changelog of 24 October 2025 says 256 ([Shopify changelog](https://shopify.dev/changelog/increased-limits-for-metafields-and-metaobjects), October 2026). Sanity Connect's synced document types land as definitions the app owns, so this caps how many Sanity document types one shop receives. Deploi's judgment: plan for 128 until Shopify reconciles the two pages.

## How do Shopify metaobjects and Sanity compare side by side?

Shopify metaobjects win for one store's product-adjacent content, and Sanity wins once content needs held revisions, schedules, a draft-only role or a second channel (Deploi's judgment). Both render through a Liquid theme or Shopify's Storefront API (application programming interface), so rendering rarely decides. Reach, editor workflow and the 40 fields Shopify's limits page allows per definition usually decide instead, as the table shows.

**Metaobjects fit one store and a small team; Sanity fits several channels or an editorial workflow**

| Dimension | Shopify metaobjects | Sanity with Sanity Connect |
| --- | --- | --- |
| Content model | Definitions of up to 40 fields | Document types you define |
| Draft and publish | Draft or Active; saved edits go live | Drafts kept apart; only published sync |
| Scheduling | None documented | Scheduled drafts on Growth |
| Editor permissions | One store-wide entry group | 5 fixed roles on Growth; custom on Enterprise |
| Reach | One shop | Any front end or channel |
| Rendering | Liquid and the Storefront API | Any front end; Liquid through the sync |
| Liquid render limits | 50 per loop, 20 handle lookups | Same limits on synced metaobjects |
| Price | Included in every plan | Free $0; Growth $15 per seat a month |
| Verdict | Fits one Liquid store | Fits several channels or held revisions |

The verdict row is Deploi's judgment. Sources: [Shopify Dev Docs, Metaobject limits](https://shopify.dev/docs/apps/build/custom-data/metaobjects/metaobject-limits); [Shopify Dev Docs, Use metaobject capabilities](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities); [Shopify Help Center, Creating entries](https://help.shopify.com/en/manual/custom-data/metaobjects/creating-entries); [Shopify Help Center, Store permissions](https://help.shopify.com/en/manual/your-account/users/roles/permissions/store-permissions); [Sanity, Plans that scale with you](https://www.sanity.io/pricing); [Sanity Docs, Sanity Connect for Shopify](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify); [Sanity Docs, Displaying Sanity content in Shopify](https://www.sanity.io/docs/developer-guides/displaying-sanity-content-in-shopify); [Sanity Docs, Scheduled drafts](https://www.sanity.io/docs/studio/scheduled-drafts); [Sanity Docs, Roles and permissions](https://www.sanity.io/docs/content-lake/roles-concepts). As of 24 October 2026.

## How do you move from Shopify metaobjects to Sanity later?

Moving metaobjects to Sanity takes a script, because Sanity Connect imports Shopify metafields but not metaobjects. Since July 2026 it imports product and collection metafields as a read-only array, chosen by namespace, and "Variant metafields and metaobjects are not supported for import" ([Sanity Docs, Sanity Connect](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify); [Sanity Connect reference](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify-reference), October 2026). The entries come out through Shopify's GraphQL Admin API (application programming interface), which can query entries by type ([Shopify Dev Docs, Manage metaobjects](https://shopify.dev/docs/apps/build/custom-data/metaobjects/manage-metaobjects), October 2026). The Shopify content to Sanity playbook has the full plan.

1. **Inventory the definitions.** List each metaobject definition, its fields, its entry count and every product, page or theme section that references it.
1. **Map each definition to a Sanity document type.** Fields become schema fields; product references point at the documents Sanity Connect syncs.
1. **Export by type.** Read each definition's entries through the GraphQL Admin API and write them as Sanity documents.
1. **Import and compare.** Import into a non-production dataset first, then check counts against Shopify.
1. **Switch rendering, then retire.** Point theme sections or the front end at Sanity before you delete a definition, because deleting it deletes its entries for good.

## Deploi's point of view

**Where we disagree.** Two standard answers are wrong. The first says a CMS for Shopify means a headless rebuild: Sanity Connect syncs published Sanity documents into Shopify as metaobjects and metafields, so a Liquid theme can render them. The second says Sanity lists no price for Shopify and the subscription arrives as a quote: Sanity Connect is free to install, and Sanity's published Free and Growth plans apply as of October 2026. The cost lines that move are seats and the documents the catalog sync creates.

**What we've seen.** deploi.ca's Shopify Builds section runs on Sanity: it documents 96 Shopify theme builds as Sanity documents and keeps 15 Shopify metafield namespaces as shared registry documents that builds reference instead of retyping, counted 24 October 2026. The sync behavior on this page rests on Sanity's and Shopify's documentation.

**What we'd tell you to do first.** Count three things before you choose: how many stores, brands or channels will show this content in the next year; how many people edit it and whether any of them must not publish; and how many products, variants and collections a Sanity sync would add as documents. The first two decide the platform; the third decides the plan.

**What we refuse to promise.** We won't put a total or a timeline on either path here, because both depend on your own store, catalog and editors, and Sanity doesn't publish Enterprise prices. Cost questions go to a scoped conversation, not a published band.

## When this answer changes

- Shopify reconciles its per-app metaobject definition limit (128 on its limits page, 256 in its October 2025 changelog)
- Shopify adds scheduling or an approval step to metaobject capabilities, or splits entry permissions by type
- Sanity Connect starts importing Shopify metaobjects or syncing Content Release versions
- Sanity changes the Growth seat price, the 25k document quota or the Increased quota add-on
- Shopify changes the 40 field, 1,000,000 entry or Liquid render limits for metaobjects

## Running more than one store or brand?

See how one Sanity setup serves several brands and sites, and when datasets or Enterprise roles come into it. [Read the multi-brand guide](https://deploi.ca/sanity/use-cases/multi-brand-content-hub)

## Sources

1. [Sanity, Plans that scale with you](https://www.sanity.io/pricing), checked 24 October 2026
2. [Sanity, Sanity for Startups](https://www.sanity.io/startups), checked 24 October 2026
3. [Sanity Docs, Sanity Connect for Shopify](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify), checked 24 October 2026
4. [Sanity Docs, Displaying Sanity content in Shopify](https://www.sanity.io/docs/developer-guides/displaying-sanity-content-in-shopify), checked 24 October 2026
5. [Sanity Docs, Sanity Connect for Shopify reference](https://www.sanity.io/docs/apis-and-sdks/sanity-connect-for-shopify-reference), checked 24 October 2026
6. [Sanity, Sanity Connect for Shopify (blog)](https://www.sanity.io/blog/sanity-connect-for-shopify), checked 24 October 2026
7. [Sanity Docs, Plans and payments](https://www.sanity.io/docs/platform-management/plans-and-payments), checked 24 October 2026
8. [Sanity Docs, Technical limits](https://www.sanity.io/docs/content-lake/technical-limits), checked 24 October 2026
9. [Sanity Docs, Scheduled drafts](https://www.sanity.io/docs/studio/scheduled-drafts), checked 24 October 2026
10. [Sanity Docs, Roles and permissions](https://www.sanity.io/docs/content-lake/roles-concepts), checked 24 October 2026
11. [Sanity, No More 'DO NOT PUBLISH': Introducing Content Releases](https://www.sanity.io/blog/introducing-content-releases), checked 24 October 2026
12. [Sanity Docs, Drafts and versions](https://www.sanity.io/docs/content-lake/drafts-and-versions), checked 24 October 2026
13. [Sanity, Scheduled Drafts: Stop manually publishing content at midnight](https://www.sanity.io/blog/scheduled-drafts), checked 24 October 2026
14. [Shopify Dev Docs, Metaobject limits](https://shopify.dev/docs/apps/build/custom-data/metaobjects/metaobject-limits), checked 24 October 2026
15. [Shopify Developer Changelog, Increased limits in metafield and metaobject definitions](https://shopify.dev/changelog/increased-limits-for-metafields-and-metaobjects), checked 24 October 2026
16. [Shopify Dev Docs, Use metaobject capabilities](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities), checked 24 October 2026
17. [Shopify Help Center, Creating entries](https://help.shopify.com/en/manual/custom-data/metaobjects/creating-entries), checked 24 October 2026
18. [Shopify Help Center, Store permissions](https://help.shopify.com/en/manual/your-account/users/roles/permissions/store-permissions), checked 24 October 2026
19. [Shopify Dev Docs, Metafield limits](https://shopify.dev/docs/apps/build/metafields/metafield-limits), checked 24 October 2026
20. [Shopify Dev Docs, Manage metaobjects](https://shopify.dev/docs/apps/build/custom-data/metaobjects/manage-metaobjects), checked 24 October 2026
21. [Shopify Help Center, Building a metaobject](https://help.shopify.com/en/manual/custom-data/metaobjects/building-a-metaobject), checked 24 October 2026
22. [Shopify App Store, Sanity Connect](https://apps.shopify.com/sanity-connect), checked 24 October 2026
23. [Shopify App Store, Metafields and metaobjects](https://apps.shopify.com/built-in-features/metafields-and-metaobjects), checked 25 October 2026
