Our checkout and customer account extensions are very customizable, with controls that aren’t yet available in the extensions’ settings schema (think color pickers, AI assisted writing, etc).
So we have to remind merchants to open our app to change these settings.
Considering adding a small informational banner to the top of our block but ONLY in editor mode. My concern is that merchants might think this banner is permanent on their live store experience.
Has another else tried this pattern? Any other better ways to tackle this UX problem of settings outside of the block?
Also, not a fan of the block settings because there’s no visibility for app devs to the actual block config values. We cannot help troubleshoot because we cannot see what the actual settings are without a collaboration request and inspecting manually.
Just confirming the editor-only banner is a totally reasonable pattern, and I would say that it’s fair to use shopify.extension.editor for this.
On the “merchants might think it’s permanent” concern, I’d lean on the copy to do the work. Something like an info s-banner with a heading along the lines of “Editor preview only” and body text that says buyers won’t see it, plus the link to your app. Once it says that explicitly it tends to stop being a question.
I definitely get the frustration on block settings. The supported types are limited (boolean, text, numbers, dates, variant reference), and there’s no API to read back what a merchant configured in the editor, so troubleshooting without a collab request is not super ideal.
If you’re not doing this already, one possible approach that might work would be to make your app the source of truth and write the config to shop-level app-owned metafields ($app namespace). Your extension reads them with useAppMetafields({ namespace: '$app', key: 'your-key', type: 'shop' }), you get to build whatever controls you want in the app (color pickers, AI-assisted copy, etc.), and you can always see exactly what a merchant has set.
Let me know if I can pass along any feedback/feature requests on our end though - happy to do that as always