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 that you're 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 let you 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, metaobjects can be associated with a Shopify resource such as a product or a collection. However, metaobjects 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 to 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 lists 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 to 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 let developers customize the backend logic that powers parts of Shopify. Developers can write code to 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 let merchants add a post-purchase page directly into the Shopify checkout. You can use these extensions to add custom content such as product 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 let merchants 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 that are built in the theme app extension framework don't edit theme code, which decreases the risk of introducing breaking changes to the theme. This makes it easier to iterate on the content of the integration and provides for a better merchant experience, such as upgrading a theme.
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, which are 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 that 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:
Storefront API
Anchor link to section titled "Storefront API"Storefront API allows you to retrieve customer-facing values with built-in contextualization, such as international pricing and translations.
Tools, APIs and resources
Anchor link to section titled "Tools, APIs and resources"You can use the following Shopify resources to build with Storefront API:
Shopify Flow
Anchor link to section titled "Shopify Flow"Shopify Flow is an app and platform that lets merchants customize their store through automation. You can integrate your app with Shopify Flow through custom triggers, actions, and templates. Triggers enable your app to start a Flow workflow. Actions enable Flow to call your app or service in a workflow to do work. Templates are example workflows that showcase your custom triggers and actions.
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 POS 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.
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 how you're 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. For app components such as the app server and embedded admin pages, the app developer manages the infrastructure. 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 UI extensions | ✓ | ||
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.