Product configurators on Shopify: app, theme or custom
Short answer
Choose an app when an available app fits the configuration you need, theme work when the requirement is to present existing product data differently, and a custom app when your workflow or data model calls for bespoke behavior. Shopify products hold details such as price, variants, and availability; metafields can store specialized information. Theme app extensions connect apps to compatible themes through the theme editor, while merchant custom apps have documented authentication, embedding, and tooling constraints.
- Shopify products include details such as price, variants, and availability.
- For options such as color or size, Shopify guidance recommends adding a variant rather than duplicating the product.
- Metafields can hold specialized product information or files, and compatible themes can reference them.
- Compatible themes can reference product metafields in the theme editor.
- Saved product edits take effect in the online store immediately.
Start with product data versus storefront presentation
Before choosing a Shopify product configurator, separate the information a customer is selecting from the way the storefront displays those choices. That distinction helps you decide whether the work belongs in Shopify product data, the theme, an app integration, or a combination of them.
Shopify product details such as price, variants, and availability can be managed in Shopify admin or the Shopify app. A product variant is an option on an existing product, such as a color or size; Shopify’s product guidance says to add a variant rather than duplicate the product when adding those options.
A metafield is a custom field for specialized product information or files. Compatible themes can reference product metafields in the theme editor, so they can be useful when the information needs to be associated with a product but is not itself a product option.
Keep the distinction operational: decide what belongs in product data first, then decide how to present it. Saved product changes take effect immediately in the online store. Shopify also lets merchants publish or unpublish specific variants for different sales channels and catalogs.
Compare the app, theme, and custom-app routes
The three approaches solve different parts of the decision: an app can supply an integration, theme work can change presentation around existing product data, and a custom app is a separate route when the workflow or data model requires bespoke behavior. Treat these as starting points to evaluate against your requirements, not as interchangeable ways to store configuration choices.
For an app, check how its storefront integration is added to your theme. A theme app extension is a way for an app to add dynamic elements without requiring merchants to edit Liquid templates or code, and theme app extensions can integrate with Online Store 2.0 themes.
For theme-based presentation, check whether the data already lives in product fields or metafields and whether the theme supports the references you need. For a merchant custom app, assess the documented constraints before treating it as the right implementation route: Shopify’s guide describes a specific authentication approach, no Shopify Admin embedding, and incompatibility with Shopify CLI.
Do not infer a configurator’s behavior from its implementation category. Write down the required selections, data, storefront presentation, and availability rules, then verify that the proposed app, theme work, or custom app addresses each item.
For an app, check theme app extension fit
An app’s theme integration matters because it affects how storefront content is added, positioned, and maintained. Review the integration in the context of the actual theme and page layout, rather than deciding from an app description alone.
A theme app extension exposes an app in the theme editor and lets it use the editor’s visual editing capabilities. Merchants can add app blocks to theme sections and position them in the page layout using that editor, which gives the merchant a way to adjust placement without editing theme code.
The extension framework includes Liquid block files, static assets such as CSS or JavaScript, and reusable Liquid snippets. Shopify says extensions avoid editing theme code, lowering the risk of breaking changes and making integration content easier to iterate on. A single set of integration logic and instructions can work across themes; extensions also support deploying an app to its using stores together, with versioning and asset hosting on Shopify’s CDN.
When comparing apps, check whether the extension can be added where the configuration interface belongs, what settings the merchant can adjust in the theme editor, and whether its integration matches the target theme. Also ask who will handle changes to the app content and how those changes will be managed across the stores using it.
For theme work, keep options and product data clear
Choose theme-based presentation when the requirement is to show or organize existing product information differently, rather than to invent a new place for product choices to live. First identify which choices should be product variants and which details are specialized information that can be stored in metafields.
For options such as color or size, Shopify’s guidance is to add a variant to the existing product instead of duplicating the product. Metafields can hold specialized product information or files, and compatible themes can reference those metafields in the theme editor. These are distinct roles: product data records the option or detail, while the storefront interface presents it.
Next, confirm that the theme supports the presentation you need. A compatible theme can reference product metafields, while an app’s blocks can be placed in theme sections through the theme editor. Avoid treating a theme adjustment as a change to product data: changing what customers see and changing the underlying product details are separate decisions.
Finally, review the availability rules alongside the presentation. Shopify lets merchants publish or unpublish specific variants for different sales channels and catalogs, so account for those destinations when defining availability requirements.
For a custom app, account for documented constraints
A merchant custom app is an app distributed in Shopify Admin, and Shopify documents a distinct implementation model for it. Consider this route when the workflow or data model needs bespoke behavior, but assess the authentication, embedding, and tooling constraints before committing to it.
Shopify’s custom-app guide says merchant custom apps use an access token generated by Shopify Admin instead of OAuth authorization. It also says they use a different authentication strategy from embedded apps and cannot be embedded in Shopify Admin.
The guide also says merchant custom apps are not compatible with Shopify CLI and must be started directly. These are concrete implementation considerations for developers: establish how the app will be authenticated, whether Admin embedding is required, and whether the development workflow accommodates the documented tooling constraint.
Keep the scope grounded in what you need to build. The available platform facts describe the custom app’s distribution and implementation constraints; they do not establish that a custom app automatically provides a particular product configurator interface or data model.
Use a fit, maintenance, and implementation checklist
Make the choice by comparing each route against the same requirements. Record what the customer selects, where that information belongs, how it should appear, which availability rules apply, and who will maintain the implementation.
Use this checklist in order:
First, classify each choice as a product variant or specialized product information that may belong in a metafield. Next, map the required storefront presentation to theme work or an app integration, and check whether the theme supports the needed metafield references or app blocks. Then verify product and variant availability for the relevant sales channels and catalogs.
For an app, inspect its theme app extension fit, editor settings, placement, and approach to updates. For theme work, identify which changes affect product data and which affect presentation, and include the risk of editing theme code in the maintenance discussion. For a merchant custom app, check the documented authentication, Admin embedding, and Shopify CLI constraints against the implementation plan.
Choose the route whose documented integration and implementation model match the requirements you have written down. If more than one route appears viable, compare who owns product data, storefront changes, and ongoing updates before selecting an approach.
- Where will each configuration choice be stored: as a product variant or as specialized information in a metafield?
- Does the theme support the required presentation, metafield references, or app-block placement?
- How will product and variant availability be handled across sales channels and catalogs?
- Who will maintain product data, storefront presentation, app integration, and updates?
- If considering a merchant custom app, do its authentication, embedding, and tooling constraints fit the implementation plan?
Questions
- Should a configuration choice be a Shopify variant or a metafield?
- Use a variant for an option such as color or size; Shopify’s guidance says to add a variant to the existing product instead of duplicating it. Metafields can hold specialized product information or files, and compatible themes can reference them in the theme editor.
- How do theme app extensions let merchants place app content in an Online Store 2.0 theme?
- Theme app extensions can integrate with Online Store 2.0 themes and expose an app in the theme editor. Merchants can add app blocks to theme sections and position them in the page layout using the editor.
- What should developers know about merchant custom apps?
- Shopify’s guide says merchant custom apps use an access token generated by Shopify Admin instead of OAuth authorization. They cannot be embedded in Shopify Admin, and the guide says they are not compatible with Shopify CLI and must be started directly.
