Initial product feed sync returns no products after channel creation and webhook subscription

Hi everyone,

We’re building a Shopify Sales Channel using contextual product feeds with automatic feed management on Admin API 2026-07.

Our development store has 13 products and 24 variants published to the channel, and Channel.productsCount reports 13. However, immediately after channelCreate, both Shopify’s automatic initial sync and our manually requested channelFullSync completed with count: 0.

We received PRODUCT_FEEDS_FULL_SYNC_FINISH for both syncs, but received zero PRODUCT_FEEDS_FULL_SYNC webhooks containing products. About 11 minutes later, we requested the same sync again and received all 13 products and 24 variants.

Nothing changed between the unsuccessful and successful attempts.

We did not change:

  • Channel, feed, market, or catalog configuration
  • Product publication or product data
  • Webhook subscriptions
  • API version, scopes, application code, or database state

The 11-minute delay was simply time spent auditing our implementation - not an intentional retry interval. Our ingestion system also appears to be working correctly: when Shopify eventually sent the 13 product webhooks, all 13 products and 24 variants were persisted.

Our provisioning follows Shopify’s documented channel-connection flow:

  1. Call channelCreate.
  2. Confirm the channel was returned without user errors.
  3. Register and verify PRODUCT_FEEDS_FULL_SYNC, PRODUCT_FEEDS_FULL_SYNC_FINISH, and PRODUCT_FEEDS_INCREMENTAL_SYNC.
  4. Call channelFullSync.
  5. Process deliveries idempotently using the webhook and full-sync IDs.

Shopify documents that product feeds immediately begin emitting events after channelCreate, that a full sync is triggered by default when a feed is created, and that a requested full sync emits one product webhook per published product followed by a finish webhook.

Our timeline, in UTC:

23:25:32.423  Automatic sync finishes with count: 0
23:25:35.156  Requested channelFullSync finishes with count: 0
23:25–23:36   We audit the setup; no configuration or code changes
23:36:35      Same channelFullSync requested again
23:36:38      13 product webhooks arrive; finish count is 13

Diagnostic identifiers:

API version: 2026-07

Development store:
https://linkdrop-dev.myshopify.com

Channel: gid://shopify/Channel/176225910868
Feed: gid://shopify/ProductFeed/8675033172

Successful operation:
gid://shopify/ProductFullSync/8675033172839633453236474966871788219395

Successful PRODUCT_FEEDS_FULL_SYNC_FINISH webhook delivery ID:
047373c4-7c9a-5299-b6e3-0487ad715255

Our questions are:

  1. Is there an expected eventual-consistency period after channelCreate before the published catalog becomes available to channelFullSync?
  2. Is there a readiness signal we should wait for?
  3. Should we compare PRODUCT_FEEDS_FULL_SYNC_FINISH.count with Channel.productsCount to detect an incomplete sync?
  4. If a zero-count result should be retried, what interval, backoff, and attempt limit does Shopify recommend?
  5. Is this expected behavior, or something Shopify needs to investigate?

Support suggested retrying after 30–60 seconds with exponential backoff, but we haven’t found that delay or a readiness signal documented. We’re looking for the production-safe synchronization flow Shopify recommends, and ideally we’d like something faster than waiting 30 seconds to sync our users products.