← All articles

October 17, 2026 · Muhammad Rehan · More by Muhammad Rehan

owner_type Is Coming to Checkout Metafields in 2027-01

Shopify added owner_type to checkout metafield declarations on Oct 8, 2026 — optional now, required in API 2027-01. Here's what to change.

What Changed, and Why

On October 8, 2026, Shopify added a new owner_type property to metafield declarations in Checkout and Customer Account UI extensions. Starting with API version 2026-10, you can specify owner_type for each metafield declared in shopify.extension.toml, under either [[extensions.metafields]] or [[extensions.targeting.metafields]]. Starting with API version 2027-01, owner_type becomes required for every metafield declaration — deployments missing it will be blocked.

The reason isn't just data-modeling tidiness. owner_type names the resource that owns the metafield — PRODUCT, CUSTOMER, and so on — and Shopify uses that to fetch only the metafield data from the resource types your extension actually needs, rather than pulling from every resource type checkout touches. That's the documented performance rationale: a declared owner_type scopes the fetch.

This only affects extensions that declare metafields in shopify.extension.toml. If your Checkout or Customer Account UI extension doesn't declare any, this change doesn't touch you.

The Seven Owner Types

Seven owner types are supported for Checkout UI extension metafields: CART (the cart associated with the current checkout), COMPANY and COMPANY_LOCATION (for B2B checkouts), CUSTOMER (the customer account interacting with checkout), PRODUCT and PRODUCTVARIANT (the products and variants the buyer intends to purchase), and SHOP (the shop associated with the checkout).

If your extension needs the same namespace and key pair from more than one resource type — say, a loyalty-tier metafield that lives on both the customer and the shop — declare it twice, once per owner_type, rather than trying to make a single declaration cover both. Shopify's own example shows exactly this pattern: one declaration scoped to PRODUCT under extensions.metafields, and a separate one scoped to CUSTOMER under a specific target's extensions.targeting.metafields.

Migrating Before 2027-01

The migration is mechanical but worth doing now rather than at the deadline. Open each extension's shopify.extension.toml, add owner_type to every metafield declaration, split any declaration that's shared across resource types into one per owner_type, then redeploy and confirm the deployment completes without validation errors. Because owner_type is already accepted on 2026-10, there's no reason to wait for 2027-01 to make the change — doing it now means a routine extension update won't be the moment you discover a blocked deployment.

Sources

Apps & Product Engineering

ASSOSIATIX works on this every day. See our Custom Shopify App Development service

$./start-project.sh

READY TO BUILD
WHAT'S NEXT?

Tell us where you are and where you want to go. We'll help you choose the right path—storefront, system, product, or a focused growth sprint.