Shopify UI Extension Metafields: Add owner_type Before API 2027-01
If your checkout or customer account UI extension declares metafields, you need to add a Shopify metafield owner_type to every declaration before API version 2027-01. Starting with 2026-10 you can set it, and from 2027-01 it is required, with deployments that omit it blocked. The change is small, but it touches every extension that reads product, customer or other resource metafields, and a missed declaration will stop a deploy. Checked against Shopify’s changelog announcement.

What Shopify Changed
Starting with API version 2026-10, Checkout and Customer Account UI extensions can set an owner_type on each metafield declaration in shopify.extension.toml. The property applies to declarations in both [[extensions.metafields]] and [[extensions.targeting.metafields]]. It names the resource that owns the metafield, such as PRODUCT or CUSTOMER.
Shopify says it uses the value to fetch only the metafields from the resource types an extension actually needs, which improves performance. That is the reason behind the requirement: the platform no longer wants to guess which resource a namespace and key belong to.
The Deadline: API Version 2027-01
- Now, on 2026-10: you can add
owner_typeto any declaration. - From 2027-01: it is required on every metafield declaration, and Shopify says deployments without it will be blocked.
- Who is affected: Checkout and Customer Account UI extensions that declare metafields and use API version 2027-01 or later.
- Who is not: extensions that do not declare metafields.
How to Add owner_type
Shopify’s steps are short. Open each extension’s shopify.extension.toml, add the right owner_type to each metafield declaration, then redeploy and confirm the deployment finishes without metafield declaration validation errors.
One rule matters when the same metafield exists on more than one resource. If the same namespace and key are needed for multiple resource types, create a separate declaration for each owner_type. The changelog has no code sample, so the snippet below is our illustration of those rules. Check it against Shopify’s configure-metafields documentation for your extension type.
[[extensions.metafields]]
namespace = "my_app"
key = "warranty_length"
owner_type = "PRODUCT"
[[extensions.metafields]]
namespace = "my_app"
key = "warranty_length"
owner_type = "CUSTOMER"How This Fits With the 2026-04 Metafield Changes
Checkout UI extensions already went through a metafield change in 2026-04, when the metafields property was deprecated in favor of shopify.appMetafields and cart metafields moved to updateCartMetafield and removeCartMetafield. If you are touching these files anyway, do both updates together. Our checkout UI extension migration guide covers the 2026-04 side.
Our Analysis: Audit Before You Bump the Version
Search for every declaration. Our suggestion is to search all extension folders for extensions.metafields and extensions.targeting.metafields and list each namespace and key with the resource it really comes from. Apps with many extensions often hide a few declarations in older ones.
Add the value now, while it is optional. Because owner_type is accepted on 2026-10, you can ship the change in a normal release and avoid a rushed fix when 2027-01 becomes your target. A blocked deployment is much more expensive than a one-line edit.
Confirm the data model. Declaring a separate entry per resource type is a good moment to check that each metafield definition exists on the resource you expect. If a value is not showing in an extension or storefront, our metafield debugging guide walks through the usual causes, and metafields vs metaobjects helps when the structure itself is the problem.
FAQ about Metafield owner_type
Is owner_type required today? No. It becomes required from API version 2027-01. You can set it on 2026-10.
Do extensions without metafields need changes? No. Shopify says only extensions that declare metafields are affected.
What if I need the same key on a product and a customer? Add one declaration per resource type, each with its own owner_type.
What values are valid? The changelog gives PRODUCT and CUSTOMER as examples of resource types. Check Shopify’s configure-metafields reference for the complete list for your extension.


