Skip to main content
By default, recommendations only include products published to your Online Store. If you also sell through other Shopify sales channels, such as Point of Sale (POS) or a headless storefront, you can ask the recommendation APIs to return only the products published on one of those channels instead. This takes two steps: enable the channels in the app, then pass their ids on the API.

1. Enable the channels you want to filter by

Open Settings → Sales channels

In the Glood.AI app, go to Settings → Sales channels. The section lists every sales channel installed on your store (Online Store, Point of Sale, Headless, Google & YouTube, and so on).

Select channels and save

Tick the channels you want to be able to filter by and click Save.
Saving a new selection re-indexes the publication ids of every product. This runs in the background and can take a few minutes on large catalogs. Requests that pass a publicationIds value for a channel that is not enabled here are rejected with 400.

2. Pass publicationIds on the API

Every product-returning endpoint accepts an optional publicationIds field:
  • Headless: /v3/headless/sections, /v3/headless/recommendations, /v3/headless/recommendations/automatic, /v3/headless/recommendations/top
  • Theme and checkout: /v3/sections, /v3/sections/paginated, /recommendations/checkout, /post-checkout, /recommendations/customer-account
The filter applies to V3 recommendations. /v3/headless/init returns no products and rejects the field with 400, and the legacy V2 widget endpoints (/widgets/template, /v2/headless/widgets, /v2/headless/recommendations) do not accept publicationIds either.
A publication id is the numeric part of a Shopify publication GID (gid://shopify/Publication/30085840999 → 30085840999). You can read it from the Shopify Admin GraphQL publications query, and POS and headless integrations can store it once per shop.
POST /api/storefront/v3/headless/sections
A single id may be sent without the array wrapper. Up to 50 ids are accepted; a product matches if it is published on any of them.

What the filter does

Every recommendation strategy honours the filter, including fallbacks such as trending and recently launched, on both the default host and Edge regions.

Good to know

  • Bundle component lookups and the email recommendation fallback are not channel-filtered.
  • Products published to a channel but not to the Online Store are not indexed yet, so a POS filter returns the products that are on both. Ask us if you need channel-only products indexed.
  • Publishing or unpublishing a product on a channel in Shopify updates the index through the normal product webhooks; no re-save is needed in the app.