Skip to main content
By default, search returns products that are 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 search 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 Search & Merchandising 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. The Jobs page shows its progress. 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 headless search endpoint accepts an optional publicationIds field: init, config, instant-search, filters, filter-aggregations, search and image-search. The theme storefront endpoints accept the same field. 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/v1/headless/search
GET /api/storefront/instant/results
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

Facet counts, filter aggregations, trending products and the semantic search fallbacks all honour the same filter, on both the default host and Edge Delivery regions.

Good to know

  • The filter applies to products. Collections, pages and articles in instant search 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.