owner_type as a new propertyIn Checkout and Customer Account UI extensions,shopify.extension.toml metafield declarations can now specify which resource each metafield belongs to. It's optional in 2026-10 and required from 2027-01 onward. Shopify fetches only the resources the extension needs, which improves extension performance.
owner_type propertyis being added, so you can declare which resource owns each metafield.Required from API version 2027-01.
Metafield declarations were specified by namespace / key. The resource type wasn't part of the declaration.
PRODUCT or CUSTOMER — declare the owner like this. Shopify fetches metafields only for the resource types the extension needs.
| Condition | Impact | Notes |
|---|---|---|
| Checkout UI extensionsthat declare metafields in toml and use API 2027-01 or later | Affected | owner_type required on every declaration |
| Customer Account UI extensionsthat declare metafields in toml and use API 2027-01 or later | Affected | owner_type required on every declaration |
| The extensions above using API 2026-10 | Optional | Can be specified. Recommended time to get ahead |
| Extensions that don't declare metafields in toml | Not affected | No action needed |
[[extensions.metafields]]Extension-level metafield declarations. Accepts the owner_type property.
[[extensions.targeting.metafields]]Per-target metafield declarations. These also accept the owner_type property.
Below is an example based on the article's description. The namespace / key values are illustrative. For possible owner_type values, the article only mentions PRODUCTandCUSTOMER as examples, with no full list given (see the related docs).
Open your extension's shopify.extension.toml and add the appropriate owner_type to each metafield declaration.
If you use the same namespace / key from more than one resource type, create a separate declaration for each owner_type.
Redeploy the extension and confirm it completes without any validation errors about metafield declarations.
From 2027-01, a deploy fails if even one owner_type is missing. If you deploy extensions through CI/CD, expect the pipeline to stop and prepare for it.
[[extensions.metafields]] and [[extensions.targeting.metafields]] : both of them. Watch out for missing declarations on the target side.
If you read the same namespace / key from multiple resources, split it into separate declarations. First, take stock of which resources' data each existing declaration actually reads.
This tells Shopify which resource types to fetch metafields for, so it fetches only those. Getting owner_type right directly reduces how much data your extension fetches.
The only owner_type values the article gives as examples are PRODUCT and CUSTOMER . It doesn't list every allowed value or explain what the extension gets back if owner_type is wrong. Check the related docs, "Configure metafields for Checkout UI extensions" and "Configure metafields for Customer Account UI extensions".
shopify.extension.toml to list its metafield declarations, then add owner_type and redeploy during 2026-10.