Markland Hill Get in touch
Devlog

The tags no app can read

· Bakehouse Collect

Scope a quantity-break rule to a product tag in Wix’s own checkout and it works perfectly. Scope the same rule in an app and it matches nothing.

Wix Stores creates every product tag as PRIVATE. The UI offers no choice. A product read returns only tags.publicTags, so a product tagged solely with private tags arrives as tags: {} — identical to an untagged product, with no error anywhere.

That last part is what makes it expensive. There is no permission to request, no scope to add, no failure to catch. There is a scope that lists tag definitions, which is enough to show names in a dashboard and makes you think you are nearly there. No scope makes the catalogue return private tag assignments.

So every layer reports success and the page simply shows nothing.

The answer is categories. A category works where a tag does not, and needs no ongoing upkeep: put the products in one, and adding a product to the range later is a drag rather than a rule edit. Better still, a category can be hidden from the site — it keeps its id and its members either way, so grouping products for pricing does not force a menu onto the storefront that exists only for pricing.

One trap inside the fix: the category query excludes hidden categories by default, so the one kind most likely to be wanted was the one kind missing. There is a flag to turn them back on, and finding it took longer than it should have.

The app still honours a tag id on a stored rule, so nothing breaks the day Wix exposes them. But a rule saved today carries a category id, and the dashboard marks any tag “will not match” rather than letting someone find out the slow way.

← All posts