Hi,
I have a question regarding tracking changes to a store’s plan in a Shopify app.
When the app is installed, I save the store’s plan information in my database using the API (version 2025-07) and the new publicDisplayName field, according to the latest update:
Currently, to detect plan changes, I’m listening to the shop/update webhook (version 2025-07), where there’s a plan_display_name field. The value I receive there is, for example, Developer Preview.
However, the value in my database (from the Shopify API) is, for example, Development.
I wanted to monitor plan changes by comparing the value from the webhook (plan_display_name) with what I have stored in the DB from the publicDisplayName field, but these values are always different—so I would always detect a “plan change,” even if nothing actually changed.
Technically, I could query the Shopify API for the latest plan info every time a webhook arrives, but that doesn’t seem efficient and would result in unnecessary API calls.
How are you handling this?
Is there a recommended way to reliably detect real plan changes, or a mapping between these values, now that publicDisplayName has been introduced?
Or is there an official best practice for tracking store plan changes on Shopify after this update?
Thanks in advance for any insights!