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.
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
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.
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?
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!
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?