Event consumers need a new fields_changed shape
Shopify changed fields_changed from one flat array into an object with added, updated, and removed arrays on September 16. Code that still expects the old array can misread or reject the event.
The new shape gives the consumer more detail, but that benefit starts only after parsing and tests are updated. Store raw sample payloads before changing production handling.
The next deployment enforces trigger changes
Parent triggers now use a terminal wildcard, such as product.variants.*. Existing subscriptions keep working, but the syntax must be updated the next time shopify.app.toml is deployed.
Update subscriptions also require at least one trigger. Shopify removed the shopify-event-id and shopify-resource-id delivery headers, so custom validation or deduplication code must not depend on them.
Test the merchant outcome after the handler
A passing event parser does not prove the connected workflow still completes. Test the action that follows the event, such as catalog sync, inventory work, automation, or reporting.
Our recommendation: deploy to a development store first, replay representative events, and trace each one through the final stored or customer-facing result.
For your next work session
What to check next
- Search event code for fields_changed array handling.
- Add tests for added, updated, and removed path arrays.
- Update parent triggers and required update-subscription triggers.
- Remove dependencies on the two retired delivery headers.
- Replay events through the complete downstream workflow.
Sources and scope
Shopify marked the change action required. Existing subscriptions continue to work, but parent trigger syntax must change on the next shopify.app.toml deployment. Classic webhook subscriptions are outside this change.
The announcement is confirmed by the source below. Practical checks in this article are Stan Consulting's recommendations.
Need help applying this to your business? Shopify marketing support.
