Customize a resource picker for product tags

Topic summary

An intern is tasked with building a custom resource picker for product tags in a Shopify app, but no built-in Resource Picker exists for this use case.

Two approaches considered:

  • Use GraphQL with the Storefront API to fetch all product tags and display them in a Polaris Combobox (challenging due to limited Storefront API experience)
  • Retrieve products via Admin API GraphQL, extract tags from product objects, and use JavaScript’s Set to deduplicate them

Core problem:
Both methods struggle with GraphQL’s pagination constraints (e.g., “first: 10”), making it difficult to retrieve the complete set of tags across all products efficiently.

Current status:
The discussion remains open with one community member sharing a potentially relevant resource link about implementing product tag selection in Shopify apps.

Summarized with AI on October 24. AI used: claude-sonnet-4-5-20250929.

Actually, this was part of my internship test at a company that specializes in developing applications on Shopify. I’m having trouble creating a “picker” for “productTags”. Unfortunately for me there is no Resource Picker for productTags. I think the first option is to use GraphQL to upload all productTags and then put them into Polaris Combobox. This solution is difficult in that I realize I need to use the Storefront API to get productTags and I’m not very proficient, I’ve only dabbled in the Admin API a little. I considered the second option, which is to upload all productTags attributes when retrieving the products resource using GraphQl. Then, I will use JS’s Set data type to filter out all duplicate tags. In the end I realized both options were problematic because with GraphQl it seemed impossible and undesirable to fully retrieve any resource. Like always having a condition like “first: 10”, I understand this is a smart strategy for things like pagination. Anyway, I still have to complete this exercise in the most optimal way, so I want to ask you a solution. Below is an illustration of the request:

This resource may prove beneficial to you: How to implement product tag selection in Shopify