Variant-related webhook topics
products/create+products/update+products/deleteinventory_levels/updateinventory_items/create+inventory_items/update
Setup
- Admin: Settings → Notifications → Webhooks → create
- Or via API:
webhookSubscriptionCreatemutation - Verify signature with HMAC
- 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