See all services → Shopify Plus Partner
API Developer

Migrate Your Metafield Translation Queries to API 2026-10

API version 2026-10 exposes a translatable boolean directly on the Metafield object, replacing the deprecated METAFIELD resource type. Apps that fetch translatable metafields by shop need a query rewrite before they upgrade.

Executive summary

What changed

Metafields are only conditionally translatable. Whether a value can be translated depends on the metafield type and on whether the owner resource permits metafield translations. A shop wide resource type could never express that condition, so apps had to maintain their own list of translatable metafield types and keep it in sync with Shopify.

On API version 2026-10 and later, you select translatable directly on the Metafield object and get the platform answer. The old METAFIELD value on translatableResources still works on every version and is marked deprecated, with removal to be announced separately. There is no feature preview and no new access scope: availability is tied only to the API version, so the field appears the moment a request moves to 2026-10. Apps on 2026-07 and earlier see no change.

Why it matters

For most Shopify Plus merchants this is invisible until a translation app or a custom integration upgrades. The benefit is correctness over time. Any logic that duplicates Shopify translatability rules drifts the moment those rules change, and drift in this area shows up as missing storefront translations in a market, which is the kind of defect that surfaces through customer complaints rather than through monitoring.

There is a real migration cost worth planning for. translatableResources with resourceType METAFIELD was the only query that returned every translatable metafield in a shop in one pass. After migrating you query each resource type your app translates, and a full shop scan belongs in a bulk operation. If you run a multi market catalogue with metafield driven content, factor that into your internationalization roadmap rather than treating it as a same sprint change.

Role specific impact

Use-case example

Real-world scenario

A manufacturer sells into five markets with product specifications, care instructions, and compliance text stored in metafields. Their custom translation service scanned the shop with translatableResources once per night and pushed strings to a vendor. After moving to 2026-10 the team rewrote discovery as a bulk operation over products and variants, filtering on translatable in application code. Coverage checks found 40 metafields the hand maintained type list had been silently skipping, all on a newer metafield type added after the list was written.

Implementation checklist

  1. Search your codebase for translatableResources and translatableResourcesCount calls using resourceType METAFIELD.
  2. Confirm the app holds read_translations plus the read scope for every resource that owns the metafields you translate.
  3. Replace shop wide discovery with per resource metafield queries that select the translatable field.
  4. Move any full catalogue scan to a bulk operation query rather than paginating live.
  5. Keep translatableResourcesByIds in the flow for content digests before calling translationsRegister.
  6. Test on 2026-10 in a development store and compare the translatable metafield set against your previous results.
  7. Delete the hand maintained list of translatable metafield types once parity is confirmed.

FAQ

Q: Do we have to migrate immediately?

A: No. The METAFIELD enum still works on every API version today and Shopify will announce removal separately. Migrating alongside your next planned version bump is reasonable, but do not leave it until the removal notice lands.

Q: Can we just query metafields and filter on translatable in the API?

A: No. Filtering a metafield query by translatable is not supported. Retrieve the metafields for a resource and apply the filter in your application code.

Resources

Migrate translatable metafields to Metafield.translatable

Need guidance? Talk to Makro.