App surfaces
Shopify apps can appear in and add functionality to nearly every area of the Shopify platform. A single app can add functionality to multiple areas of the platform. Shopify provides multiple tools and resources to surface apps in each area. Depending on the tool you are using Shopify might host your code, or you might have to arrange for hosting yourself.
The Shopify admin
Anchor link to section titled "The Shopify admin"The Shopify admin is the primary interface for merchants to manage their stores, and core Shopify objects such as products, orders, and customers. The Shopify admin is also the place where merchants can manage their apps. Developers can surface their app's functionality in the Shopify admin using the following technologies:
Embedded app pages
Anchor link to section titled "Embedded app pages"You can embed your app user interface, or parts of your app user interface, directly inside of the Shopify admin. Embedding your app in the Shopify admin makes your app feel familiar, gives you access to Shopify user interface elements, and lets merchants use your app on mobile devices.
Tools, APIs, and resources
Anchor link to section titled "Tools, APIs, and resources"You can use the following Shopify resources to build embedded app pages:
Custom data
Anchor link to section titled "Custom data"Shopify's platform includes data models for basic commerce concepts such as products, collections, and orders. However, merchants might require more complex or specific data models. Apps can extend the data models of Shopify's platform by creating custom data models using metafields and metaobjects. Metafields allow you to add new fields on Shopify-defined resources like orders or products. Metaobjects are custom data structures that your app can define and create to store your app's information. Similar to metafields, they can be associated with a Shopify resource such as a product or a collection. However, they can also exist on their own. Metafields and metaobjects can be connected to Shopify resources, and used by merchants in the Shopify admin.
Tools, APIs, and resources
Anchor link to section titled "Tools, APIs, and resources"You can use the following Shopify resources to build with custom data:
Admin app extensions
Anchor link to section titled "Admin app extensions"App extensions allow you add your app's functionality to the Shopify Admin. For example, a bulk action link extension lets you make your app accessible to merchants wherever action drop-down menus are available in the Shopify admin.
Tools, APIs, and resources
Anchor link to section titled "Tools, APIs, and resources"You can use the following Shopify resources to build embedded app extensions:
Merchants use Shopify checkout to accept orders and receive payments wherever they sell online. You can add functionality to Shopify checkout by building an app. Apps can extend Shopify checkout using the following technologies:
Checkout UI extensions
Anchor link to section titled "Checkout UI extensions"Checkout UI extensions allow app developers build custom UI components and functionality that merchants can install at defined points in the checkout flow. For example, app developers can create extensions for custom fields and product offers that render directly in the checkout flow.
Tools, APIs, and resources
Anchor link to section titled "Tools, APIs, and resources"You can use the following Shopify resources to build Checkout UI extensions:
Shopify Functions
Anchor link to section titled "Shopify Functions"Shopify Functions allow developers to customize the backend logic that powers parts of Shopify. Developers can write code that can create custom discount logic, customize the names and sort order for checkout delivery and payment options, provide custom checkout and cart validation, and more. This code is pushed to Shopify and executed on Shopify’s infrastructure.
Tools, APIs, and resources
Anchor link to section titled "Tools, APIs, and resources"You can use the following Shopify resources to build Shopify Functions:
Post-purchase checkout extensions
Anchor link to section titled "Post-purchase checkout extensions"Post-purchase checkout extensions allow merchants to add a post-purchase page directly into the Shopify checkout. You can use these extensions to add custom content such as upsell offers, survey requests, and important information about the order.
Tools, APIs and resources
Anchor link to section titled "Tools, APIs and resources"You can use the following Shopify resources to build post-purchase checkout extensions:
Online store
Anchor link to section titled "Online store"The online store is a storefront that merchants use to sell their products. You can add functionality to the online store using the following technologies:
Theme app extensions
Anchor link to section titled "Theme app extensions"Theme app extensions allow merchants to add dynamic elements to their themes without having to interact with Liquid templates or code. Theme app extensions automatically expose your app in the theme editor. You can leverage the editor’s visual editing capabilities without needing to replicate them in your app. Apps built in the theme app extension framework don't edit theme code, which decreases the risk of introducing breaking changes to the theme, makes it easier to iterate on the content of the integration, and provides for a better merchant experience.
Tools, APIs and resources
Anchor link to section titled "Tools, APIs and resources"You can use the following Shopify resources to build theme app extensions:
Web pixels are JavaScript code snippets that run on the online store and collect behavioral data, referred to as customer events, for marketing campaign optimization and analytics. After you’ve created your web pixel and configured it to a merchant’s store, your pixel can load in the store's online store. As a customer browses the online store, they’ll trigger customer events your pixel can subscribe to.
Tools, APIs and resources
Anchor link to section titled "Tools, APIs and resources"You can use the following Shopify resources to build web pixels:
Shopify Flow
Anchor link to section titled "Shopify Flow"Shopify Flow is an app and platform that allows merchants to customize their store through automation. You can integrate your app with Shopify Flow through custom triggers and actions. Triggers enable your app to start a Flow workflow. Actions allow Flow to call your app or service in a workflow to do work.
Tools, APIs and resources
Anchor link to section titled "Tools, APIs and resources"You can use the following Shopify resources to build with Shopify Flow:
Point of Sale
Anchor link to section titled "Point of Sale"Shopify Point of Sale (POS) is a point of sale app that merchants can use to sell products in person. Merchants can create a cart for each customer, customize the cart in several ways, and then accept payment with a wide range of payment methods. You can surface your app's functionality in Shopify POS through standardized APIs and extensions.
Tools, APIs, and Resources
Anchor link to section titled "Tools, APIs, and Resources"You can use the following Shopify resources to build Point of Sale apps:
Server-only apps
Anchor link to section titled "Server-only apps"Some apps might not provide a user interface for merchants. Instead, they might provide backend functionality for other apps, or sync data from Shopify to another system. Apps that don't provide a user interface for merchants can't be distributed through the Shopify App Store.
Tools, APIs, and resources
Anchor link to section titled "Tools, APIs, and resources"You can use the following Shopify resources to build server-only apps:
Depending on the how you are integrating with Shopify, Shopify might host your code, or you might have to arrange for hosting yourself. Shopify hosted tools are hosted on Shopify's infrastructure, which require deployment to Shopify and can be viewed and managed in the Partner Dashboard. Other app components such as the app server, and embedded admin pages the infrastructure is managed by the app developer. Shopify provides resources for deploying CLI generated apps to common hosting providers.
Shopify surface | App component | Hosted by Shopify | Hosted by developer |
---|---|---|---|
The Shopify admin | Embedded app pages | ✓ | |
Custom data | ✓ | ||
Admin app extension | ✓ | ||
Checkout | Checkout UI extensions | ✓ | |
Shopify Functions | ✓ | ||
Post-purchase checkout extensions | ✓ | ||
Online Store | Theme app extensions | ✓ | |
Web pixels | ✓ | ||
Shopify Flow | ✓ | ||
Point of Sale | ✓ | ||
Server-only apps | ✓ |
- Follow this in-depth tutorial to gain experience with the most popular Shopify APIs, tools, and libraries, while building a QR code generator app.
- Regardless of where you surface your app, you need to create a Shopify Partner account and create a development store to test your app.