Remote products and multiple merchant in checkout changes

What’s changing
Starting October 9th, products displayed on storefronts may originate from a “remote” source, such as another store. This feature is optional and available to a select group of eligible stores in the US. Enabled storefronts could include products from multiple merchants in a single cart or checkout experience. Please ensure your app or theme does not assume customers only buy from one merchant at a time.

Potential issues
Your existing code might make assumptions about single-shop checkouts that could degrade user experience in multi-merchant scenarios like:

  • Order processing without multi-merchant support

  • Theme calculations for shipping, taxes, and promotions

  • Promotional banners that include advertiser items in totals

  • Checkout UI extensions not designed for mixed-merchant flows

Recommended actions
Please review your app logic ahead of the release.

App Developers (changelog)

  • Ensure remote products are excluded when using Cart Ajax API to determine free shipping, apply cart discounts, or for features like abandoned cart recovery.
  • Checkout Extensions: Review with mixed-merchant checkouts and ensure only publisher items are affected
  • Order Management: Use the new productNetwork field to deliver better service to merchants.
  • Email: Review abandoned cart recovery workflows. Note, all sponsored products will be automatically filtered.
  • Pixel: Review event filtering of remote items, update analytics and reporting accordingly.

Theme Developers (changelog)

  • Enhance your theme’s compatibility with apps that utilize Shopify Function inputs for cart-related functionality by visually distinguishing remote products from regular products in the cart.
  • Consider creating dedicated templates for remote products
  • Verify shipping, tax, and promotional calculations with mixed-merchant carts.

Questions? Post in this thread.


This post will be updated as more technical details become available.

Hi Liam - are fulfillment service apps impacted? I would think not, since we just respond to fulfillment requests made to us from a store, for only the products that we are supposed to fulfill.

Do you have an example how a mixed-merchant order will look like? How do we differentiate between line items from different merchants? If we use GraphQL to query order detail, will we also get details from other merchants?

1 Like

Hi Liam, if I fetch all of a store’s products via the GraphQL API, that will never return any remote products, right?

2 Likes

How are these remote products reflected in order webhooks? Do they get returned the same way or will the orders stay with the fulfilling merchant?

1 Like

We just got an “action required” notification email with what I assume is a typo on the start date:

Starting October 1st, products displayed on storefronts may originate from a “remote” source, such as another store.

Since today is Oct 3rd, I assume the correct date is the one in OP’s post; Oct 9th

How can we test this?

1 Like

Thanks for you questions folks, answering them below:

Are fulfillment service apps impacted?

No, there shouldn’t be any impact. Orders are still created the same way for each merchant.

Do you have an example how a mixed-merchant order will look like? How do we differentiate between line items from different merchants? If we use GraphQL to query order detail, will we also get details from other merchants?

We added a field to order that will let you know if it was part of a multi-shop checkout. It is a field in the order object

if I fetch all of a store’s products via the GraphQL API, that will never return any remote products, right?

Correct! :slight_smile:

How are these remote products reflected in order webhooks? Do they get returned the same way or will the orders stay with the fulfilling merchant?

Shops will not have access to remote products in their Graph QL queries. The orders are created on the fulfilling merchant’s shop.

How can we test this?

At the moment, there isn’t a test mode for the Product Network App. You’ll need to work with a customer who is part of the Product Network to test the functionality. However, there shouldn’t be any work required for the vast majority of applications because remote producst are automatically filtered from the publishing shops in api and extensions.

Since you mentioned, “This feature is optional and available to a select group of eligible stores in the US,” I wanted to confirm: does this mean the feature is automatically available to all stores without any enablement from Shopify’s side, or is it limited to Shopify Plus stores?

if I fetch all of a store’s products via the GraphQL API, that will never return any remote products, right?

Correct! :slight_smile:

Is that for both products queried via the Admin GraphQL and Storefronts GraphQL APIs?