Search metaobjects/metafields by translation keys?

We are using meta objects to manage our app translations/content/language etc.

Right now, this creates a few pages of metaobjects.

At the moment, our merchants need to search using the ‘display name’ but this means they need to know the exact display name of the item they are searching for.

Example, a customer can self service cancel their order using our app. If the merchant wants to update the cancellation reasons a customer can select from, right now they need to already know what each cancellation reason already isto search for it. We’d love for them to be able to search by the translation keys e.g cancel_reason_1, cancel_reason_2 etc

E.g.

Is there a better way we should be doing this?

@batman is this in your neck of the woods per chance?

CC @keiraarts

Hi, @paulygoldston
Right now, Shopify’s metaobject search is limited to the Display Name, which makes it difficult for merchants to find specific entries unless they know the exact name. If you want to improve searchability for translation keys (cancel_reason_1, cancel_reason_2, etc.), here are a few potential solutions:

1. Use a Reference Field in Display Name

Since Shopify only allows searching by the Display Name, you can modify the display name to include the translation key.
:white_check_mark: Example Format:
Instead of just:

  • Order Canceled by Customer
    Try:
  • cancel_reason_1 - Order Canceled by Customer
  • cancel_reason_2 - Item Out of Stock

:small_blue_diamond: This way, merchants can search by either the translation key or the text itself.


2. Store Translation Keys in a Searchable Field (If Editable)

  • If your metaobject structure allows adding custom fields, you can try adding a new field like “Searchable Key” and populate it with the translation key.
  • However, this won’t work unless Shopify supports searching in custom fields.

3. Build a Custom Shopify App or Admin Extension

If you need full control over searching:

  • You could create a custom admin extension or app that retrieves metaobjects via GraphQL and allows merchants to search by translation key, display name, or content.
  • The app can pull all metaobject entries and provide an enhanced search experience beyond Shopify’s native admin.

4. Use External Documentation or Internal Guide for Merchants

If changing the search behavior isn’t possible, providing merchants with a structured list of translation keys and their corresponding display names could help them find what they need faster.


Final Recommendation:

:white_check_mark: Quick Fix: Modify the Display Name to include the translation key.
:white_check_mark: More Advanced: Consider a custom app or admin extension for improved searching.
:white_check_mark: For Large Teams: Keep a reference guide to help merchants navigate translations efficiently.

1 Like

Thanks Sam. I’m not too sure any of these solutions will help us sorry :frowning:

@batman Heyo! Is this one in your area per chance?

CC @keiraarts

Official answer is correct — searching only works against display name. You can setup filters against other fields, but that won’t help you here

Thanks @batman and @Sam_Tim :pray:

Any chance searching by keys is on the roadmap (or is there not enough demand for something like this)?

Our use case is that we are using meta objects to manage our front end app content and translations. And we are empowering customers to jump in and update this content and translations themselves. Except right now, it’s quite hard for us to find these display names after a merchant has changed them or translated them.

Searching by our known keys would make life a lot easier.

@John_Hogan I know this was something you were looking into RE: helping app partners translate their apps/app experiences.

This one has been a massive pain point for us. Would love to be able to search by keys rather than just display names.

As soon as a merchant translates a metaobject, we can’t find it again unless we know exactly what they translated it to.