Webhooks

Shopify Webhook for Variant Changes

Webhooks push variant events to your system in real-time. Better than polling — near-zero latency + no API rate limits.

Last updated: July 30, 2026By the Print It My Way team

Variant-related webhook topics

Setup

  1. Admin: Settings → Notifications → Webhooks → create
  2. Or via API: webhookSubscriptionCreate mutation
  3. Verify signature with HMAC
  4. Return 200 within 5 seconds

Payload includes

Full product JSON with all variants. Compare to your database to identify what changed.

Reliability

Shopify retries failed webhooks with exponential backoff. Idempotency key in header for dedupe.

Frequently asked questions

How to receive Shopify variant change webhooks?

Register webhook for products/update. Payload includes all variants.

Inventory-specific webhook?

inventory_levels/update for stock changes.

Verify webhook signature?

HMAC-SHA256 with your app secret. Reject if mismatch.

Timeout for webhook response?

5 seconds. Queue processing async if slower.

Retry behavior on failure?

Shopify retries with exponential backoff. Up to 48 hours.

Webhook vs polling?

Webhooks: real-time, no rate limits. Polling: less reliable, uses API quota.

Test webhooks locally?

ngrok tunnel to localhost. Or Shopify CLI dev store with webhook forwarding.

Webhook payload size?

Product webhook with all variants can be large (1-5 MB). Design for this.

Related reading

Try it free on Shopify

Print It My Way's permanent Free plan includes live preview, custom options, and Cart Transform pricing.

Install Print It My Way