Service eligibility and regional restrictions
PuppyIP serves only compliant overseas businesses and their authorized personnel. Proxy services are not available in mainland China. The service may only be used for lawful business activities outside mainland China. Use of this service within mainland China is prohibited.
Hosting a proxy IP or server overseas does not change these restrictions. The service must not be provided to end users in mainland China through relaying, forwarding, sharing or resale. Before use, read the Terms of Service.
Key Takeaways
- The requirement follows the extension's API version: owner_type is mandatory on 2027-01 and later. It does not mean every store stops working on January 1.
- Check both metafield declaration locations in shopify.extension.toml: extensions.metafields and extensions.targeting.metafields.
- owner_type identifies the resource type, such as PRODUCT or CUSTOMER. Declare the same namespace and key separately when you need them on different resource types.
- Prepare the configuration on 2026-10, check every declaration before upgrading, and confirm that redeployment has no metafield declaration validation errors.
Which extensions can be blocked from deploying?
Shopify's October 8, 2026 announcement says Checkout and Customer Account UI extensions can specify owner_type starting with API 2026-10. On 2027-01 and later, every metafield declaration must include it; a missing value blocks deployment.
The requirement also depends on what the extension declares. Check it when shopify.extension.toml contains metafield declarations. An extension with none is unaffected. This is not a universal change to all merchants, all apps, or every Admin API query.
The announcement sets the threshold by API version. It does not say every store must finish by January 1, 2027. Add the field before upgrading the extension, and check its actual configured version rather than treating a calendar date as the trigger.
What does owner_type tell Shopify?
A metafield is an extra field attached to a resource such as a product or customer. owner_type tells Shopify which kind of resource the declaration needs: PRODUCT means a product, while CUSTOMER means a customer. It names the resource type, not a specific product or customer ID.
The property applies to both extensions.metafields and extensions.targeting.metafields. Checking only one location can leave a missing value in the other and still block deployment after an upgrade. Review every declaration; seeing owner_type once in the file is not enough.
Shopify explains that identifying the resource type lets the platform fetch only the metafields on the resources the extension needs. The property therefore does more than satisfy deployment validation: its value should match the data the extension actually reads.
Why might the same field need two declarations?
Suppose an extension reads the same namespace and key on products and customers, using them for a product label and a customer preference. This is a hypothetical configuration example; no deployment was performed. Matching field names do not make the resources the same type.
According to the announcement, create a separate declaration for each owner_type when an extension needs the same namespace and key on multiple resource types. In this example, distinguish PRODUCT from CUSTOMER instead of expecting one ambiguous declaration to cover both.
Identify the resource needed by each read before assigning owner_type. Do not set every declaration to PRODUCT simply because an example uses it. Follow the Checkout and Customer Account documentation links in the announcement to check the full configuration syntax.
On 2026-10 now? Prepare in three steps
Step 1: Open the extension's shopify.extension.toml, check its actual API version, and inventory both kinds of metafield declarations. Record the resource type for each declaration. Extensions with no declarations do not need extra fields just for this change.
Step 2: Add the correct owner_type to every existing declaration. API 2026-10 already supports it. When the same namespace and key are needed on several resource types, create separate declarations for those types and check for omissions.
Step 3: Redeploy the extension and confirm that deployment completes without metafield declaration validation errors. Schedule this check before moving to 2027-01 or later so a missing field does not first surface during the version upgrade.
What should you check after the error disappears?
The absence of this validation error means deployment was not blocked by this particular declaration requirement. Also check, in the extension's existing use cases, that it can read the metafields it needs. Successful deployment does not verify every business flow, permission, or data value.
If deployment still reports a missing owner_type, review the configuration actually submitted in both declaration locations, especially fields with the same names on different resources. The announcement says a missing property blocks deployment; it does not promise that adding one value fixes every other deployment error.
Check eligibility separately. Checkout UI extensions for the information, shipping, and payment steps are available only to Shopify Plus stores. If a Customer Account extension accesses customer data, its app needs approved protected customer data access before going live. Adding owner_type does not grant those entitlements or permissions.
The October 8 announcement does not specify an additional fee or separate regional condition for this declaration change; do not infer free expanded access. The configuration guides linked from it do not currently show owner_type examples or a value table in the returned text. Use the announcement as the source for the new property, and check the relevant documentation for other plan, permission, and access requirements.
Sources
Frequently Asked Questions
Do I need to rewrite existing metafield values in the database?
The announcement concerns metafield declarations in extension configuration. It does not require a bulk rewrite of existing values. Address resource types and declarations first, without turning a configuration migration into customer or product data changes.
Are PRODUCT and CUSTOMER the only allowed values?
The announcement uses them as examples and does not provide a complete value list on that page. Follow its Checkout or Customer Account configuration documentation links to check the types appropriate for your extension. Do not treat the two examples as an exhaustive list.
Can I stay on 2026-10 and avoid migrating forever?
The announcement allows you to add the property on 2026-10 and requires it on 2027-01 and later. It does not promise that you can remain on an older version indefinitely. Prepare the configuration around your team's upgrade plan rather than treating the old version as a permanent exemption.