Sales channel apps let Shopify merchants sell their products directly on a specific platform or marketplace, such as Facebook or Pinterest. You can use the Sales Channel SDK to build a sales channel app that merchants will use to sell their products through your channel platform.

Merchants use the Shopify admin to select specific products to sync with your channel. You can use the ProductListing API to read the products that are meant for your channel. You can use the Checkout API to deliver a fully customizable checkout experience.

This diagram shows the high-level architecture of a sales channel app:

Sales channel architecture grey 2
  • Merchants publish products to your platform using the Shopify admin.
  • The ProductListing API is used to surface merchant products on your platform.
  • Customers add products and follow the checkout flow to purchase. Your app uses the Checkout API to enable this experience.


Sales channel apps require the Embedded App SDK, which helps to structure the merchant experience when managing channel-specific settings in the Shopify admin.

Your app also must meet the best practices and design guidelines that are set out in the components library and Shopify Polaris design system. The library includes all the resources that you will need to build apps that are in keeping with Shopify and other sales channels.

Usage guidelines

Before you consider building a sales channel, there are a few things you should know:

  • Sales channels must be marketplaces or platforms on which merchants can sell their products outside of their own branded channels (like Shopify's online store, Buy Button, or Shopify POS).
  • A channel app and integration must be built directly by the channel partner, or a single affiliated integration partner approved by the channel partner (for example, a third-party developer or services agency).
  • Channels must be built through the Shopify platform using the Sales Channel SDK.

Key resource types

ProductListing - A product listing is a subset of products that merchants have chosen to publish in your channel. You can read this subset of products for display on your platform and stay in sync using webhooks.

CollectionListing - A collection is a subset of products that can be surfaced and viewed together for convenience.

Checkout - A checkout is an object used to manage a user’s cart as it transitions to a paid checkout. This includes calculating taxes and shipping rates, attaching a shipping address, and associating one or more payments.

Sales channel use cases

There are a variety of different use cases for sales channel apps.

Reading products and staying in sync

Merchants select specific products and collections to publish on your channel. You can use the ProductListing and CollectionListing APIs to read products and collections. The product_listings and collection_listings webhooks provide a convenient way to keep your channel in sync as merchants update their products.

Creating checkouts

Users of your platform can purchase a merchant's products through your sales channel app, powered by the Checkout API. Using the Checkout API, your app can programmatically create a Shopify cart, reserve inventory, retrieve shipping rates, calculate taxes and process payments for a Shopify merchant.

Attributing carts

Rather than using the Checkout API, you might find it preferable to leverage Shopify’s online store checkout experience using cart permalinks.

All Shopify stores come with a beautiful, responsive web checkout. Cart permalinks allow you to link to a pre-filled web checkout containing product variants of your choosing. You can make sure that the resulting checkout will be attributed to your application by adding the access_token URL parameter to the cart permalink. The access_token param is a valid Storefront Access Token.


You can pass other marketing attribution data to Shopify using utm URL parameters. Learn more.

Next Steps

Getting started

Product Listings API

Collection Listings API

Checkout API