Hi everyone,
This looks related to Store is spamming shop_update webhook, anyway to stop?, but we’ve narrowed it down a bit further, so I’m starting a new thread.
What we see
- On a public app subscribed to
shop/update(app-scoped viashopify.app.toml, API version 2026-07, delivered through Google Pub/Sub), a few stores sendshop/updateabout once a minute, around the clock. The busiest one sent about 42,000 in 30 days. - These aren’t retries or duplicate subscriptions:
- Nearly every delivery has its own
X-Shopify-Webhook-IdandX-Shopify-Event-Id. X-Shopify-Triggered-Atis within a minute of when we receive it.
- Nearly every delivery has its own
- We compared consecutive payloads from one of these stores. Across 9 deliveries, the only field that changed was
updated_at. Every other field in the payload was identical. - Our app doesn’t write to the Shop on these deliveries. Our handler only reads the Shop.
Questions
- What kinds of changes cause
shop/updateto fire when no field in the payload changes exceptupdated_at? For example, does writing a shop-owned metafield (by another app, viametafieldsSet) bump the Shop’supdated_atand fireshop/update? Are there other Shop-level writes not visible in the payload that do the same? - If we set
include_fieldswithoutupdated_at, how long is the window in which identical payloads are debounced? Would deliveries about a minute apart be dropped? - Is there a supported way to get
shop/updateonly when specific fields change (for exampleplan_name)? Events doesn’t seem to support a Shop topic yet.
Thanks!