By default exclude new products from a certain (non-primary) market

Topic summary

Goal: prevent newly added products from appearing in specific secondary Markets by default (ideally keeping some Markets “empty”).

Current behavior: when a product is created via UI or API, it’s automatically included in all Markets (primary and secondary). No built-in UI option was identified to change this default.

Proposed direction: control automatic publication via the Admin GraphQL API. Use Publication.autoPublish (on stable API versions) and explore related objects (Market, MarketCatalog, Catalog) to manage which Markets receive new products by default.

Workarounds:

  • Use Shopify GraphiQL to mutate publication booleans for Markets, effectively disabling auto-publish where needed. Note: no REST API equivalent was mentioned.
  • Implement automation with the Mechanic app to unpublish/depublish products from selected Markets after creation; an example task exists (for out-of-stock) that can be repurposed.

Key terms:

  • Markets: regional/market-specific storefront configurations.
  • autoPublish: flag controlling whether new resources are automatically published to a publication.
  • GraphQL: Shopify’s Admin API query/mutation interface.

Status: No confirmed native UI setting; feasible solutions require GraphQL configuration or an automation app. Discussion remains open without a definitive, tested implementation reported.

Summarized with AI on January 13. AI used: gpt-5.

Is this possible?

If not, how to work around it?

Alright, it was late last night… let me elaborate: When adding a product to the shop, via the UI or API, it appears to be added to (included in) all markets, the primary one and all secondary ones.

We would like to change that behaviour and exclude new products from specific markets. Ideally, this would be an option on the market page/object to “exclude new products by default”.

Since I haven’t found anything like that, I suspect that this is not possible. Can anyone confirm this? Or has anyone found a workaround for this?

Cheers
Will

Or asked differently: “Is it possible to create empty markets?” (…that stay empty…)

autoPublish looks promising! I don’t have an experience with the GraphQL API, but this looks like I should be able to manipulate this, even though there are no controls to do so in the UI?

https://shopify.dev/docs/api/admin-graphql/unstable/objects/publication

Hi @Wilhelm_Uschtr1 change the api to latest not unstable.

https://shopify.dev/docs/api/admin-graphql/2023-10/objects/publication#field-publication-autopublish

And be sure to go up some levels to root around:

https://shopify.dev/docs/api/admin-graphql/2024-01/objects/market

https://shopify.dev/docs/api/admin-graphql/2024-01/objects/MarketCatalog

https://shopify.dev/docs/api/admin-graphql/2024-01/interfaces/Catalog

If you don’t know app development , hypothetically if you know basic programming concepts you may be able to at least put together some automation using an automation app like mechanic to script de-publishing products form certain markets.

Example task possibly repurposable https://tasks.mechanic.dev/unpublish-products-from-markets-when-locations-are-out-of-stock

If you did have graphQL experience could be possibly use the shopify GraphiQL app to mutate the markets publication booleans directly. AFAIK there’s no REST api equivalent.

If you need this automation explored/created then contact me by mail for services.
ALWAYS please provide context, examples: store url, theme name, post url(s) , or any further detail in ALL correspondence.
Contact info in signature.