Native Settings, Apps, or Custom Development: Locate the Extension First
An extension requirement has to state where it happens and what behavior it should produce. "Add a form" could mean the storefront, customer accounts, or the admin; until the surface is fixed, comparing app names or development frameworks tells you very little.
Write down four things first
- Who uses it: customers, staff, or an external system.
- Where it is used: storefront, checkout, accounts, admin, or a data-processing flow.
- What it reads and writes: page content, products, orders, customers, or behavioral events.
- How you will know it is done: on-page feedback, saved results, and the actual business effect.
Shopify offers different extension mechanisms for different surfaces; their capabilities and requirements are listed under App surfaces. Theme app blocks extend the storefront; that tells you nothing about whether the same approach works in checkout or the admin.
Choosing an implementation
| Approach | Consider it when | What to verify |
|---|---|---|
| Native or theme configuration | An existing setting already expresses the requirement | Actual page behavior and where it applies |
| Install an app | An existing app clearly covers the task | Permissions, data access, cost, and what happens after uninstall |
| Custom development | A specific requirement that nothing existing meets | Surface, API, lifecycle, and maintenance ownership |
This is a decision framework, not a tool recommendation. A screenshot of one store's installed apps shows what that store had at that moment; it is not a must-install list for everyone.
Where themes and apps meet
An app block is content supplied by an app, and the theme has to support it in the relevant section or position. Its definition differs from an ordinary theme block — see Blocks. Page behavior and app authorization have to be verified separately; "it can be added in the theme editor" is not the whole check.
Once the surface is settled, the next questions are how the app is distributed and how its environments are separated. See Three Kinds of Shopify App and Separating Development, Staging, and Production.