Shopify signals integration

Shopify signals is on the map, not in the product yet.

Product and inventory changes in your store trigger content refreshes, so pages never describe last month's catalog.

Not connectable yet

We read from this source rather than publish to it, which means our webhook is no substitute: it delivers outward. This needs an inbound OAuth connection we have not built yet, so there is nothing here to connect today.

How it works

Shopify signals connects as an app through Shopify OAuth and subscribes to HMAC-verified webhooks on products/update and inventory_levels/update. When a product is renamed, a price changes, or stock runs out, the event reaches us within moments, and SearchHandled refreshes the published pages that reference that product, then re-pings IndexNow and queues Search Console verification so engines see the corrected page quickly. This is distinct from our Shopify publishing integration, which writes articles into your store's blog; signals is the read side that keeps published content true to the catalog.

In the loop, this wires the crawl and publish steps to your store's reality. Content about products goes stale the moment the catalog moves, and a page recommending an out-of-stock product at an old price erodes exactly the trust content is meant to build. With signals connected, catalog changes propagate to content automatically, and the refreshed pages re-enter the measure step as updated URLs rather than quietly rotting.

Best forShopify stores whose published content references products, prices, or availability that change.

Setup, step by step

  1. Click Connect on the Shopify signals card and approve the app install for your store.
  2. We register webhook subscriptions for products/update and inventory_levels/update automatically.
  3. Confirm the mapping between your products and the published pages that mention them, which we detect and show for review.
  4. Send a test change, such as editing a product title, and watch the refresh appear in your pipeline.

Best practices

Review the product-to-page mapping

Refreshes are only as good as the mapping between products and the pages that mention them. We build the mapping automatically and show it in your dashboard; a quick review catches pages we should watch that slipped through.

Let stock-outs demote, not delete

When a product goes out of stock, the refresh adjusts how pages present it rather than erasing the content. Products come back in stock, and the page updates again when they do.

Expect occasional duplicate events

Shopify delivers webhooks at least once, so the same change can arrive twice. We deduplicate by event ID before acting, so a duplicate never causes a double refresh or a spurious ping.

Keep the app installed through theme changes

Webhook subscriptions belong to the app install, not your theme, so redesigns do not affect them. Uninstalling the app removes the subscriptions, and reconnecting restores the signal.

Known issues

What practitioners actually report, from official docs, issue trackers, and community forums.

At-least-once delivery with retries

Shopify webhooks can deliver the same event more than once, retrying for up to 48 hours, so naive handling would process duplicate changes.

How we handle itEvery incoming event is deduplicated by its event ID before it triggers anything, so retries and duplicates collapse into a single refresh per real change.

shopify.dev

Failing subscriptions get deleted

If Shopify cannot deliver to a webhook endpoint 19 consecutive times, it deletes the subscription entirely, and the signal goes silent without an error on your side.

How we handle itWe monitor subscription health against Shopify's API and re-register any subscription that drops, so a transient outage on our side never turns into a permanently silent connection.

shopify.dev

Webhook authenticity must be verified

A webhook endpoint that skips verification would act on any request that reaches the URL, trusted or not.

How we handle itEvery delivery is verified against Shopify's HMAC signature before processing, and unsigned or mis-signed requests are dropped without side effects.

shopify.dev

Questions teams ask

Is this the same as publishing articles to our Shopify blog?

No. Publishing into Shopify's blog is its own integration. Signals is the reverse direction: your store's product and inventory changes flowing to us, so published content stays accurate about the catalog.

What happens when a price changes?

The products/update webhook fires, we identify published pages referencing that product, refresh the affected content, and re-ping IndexNow while queueing Search Console verification for the updated URLs.

Will this spam engines with pings on every tiny edit?

No. Events are deduplicated, and refreshes fire on meaningful changes to referenced products. Pages that do not mention a changed product are never touched, and unchanged pages are never re-pinged.

Not connectable yet

Start with the plan, not the connector.

Build a Growth Map from your site to see the work itself. Approved pages can leave through the export or the webhook today, and telling us Shopify signals matters moves it up the rollout.

Build my Growth Map