Shopware properties and custom fields: keeping them clean at scale
Properties are what make Shopware filters work — and the first thing that degrades when product data comes from many suppliers. Here's how to keep them clean.
- ✓Properties power filters and variants; custom fields hold additional information.
- ✓Messy property lists come from inconsistent supplier values, not from Shopware itself.
- ✓Cleaning up only lasts if the inbound mapping is fixed too.
- ✓Normalizing values before they reach the shop keeps filters usable and pages complete.
Shopware gives you two places to put product information beyond the basics: properties and custom fields. Used well, properties are what make a shop browsable — the filters on the left, the variants a customer picks. Used carelessly, they are the first thing that quietly degrades as the assortment grows.
Properties vs. custom fields — the practical rule
Properties are structured values organised into property groups. They drive filters and can define variants. Custom fields are fields you define yourself to hold additional information on a product.
The rule of thumb is simple: if a customer should be able to filter by it, or it creates a variant, it belongs in properties. Everything else — internal notes, extra specs that don't need filtering — can live in custom fields.
Why property lists get messy
Not because of Shopware. Because of the inbound data. One supplier writes “rot”, the next “Rot”, a third “rubinrot”, and a fourth puts the colour in the product title instead of a field at all. Each value arrives and is stored as delivered. Three months later the colour filter offers a dozen options for what customers experience as four colours.
The same happens with units — “50 cm”, “0,5 m”, “500mm” — and with material or fit descriptions that every brand words differently.
Cleaning up — and making it stick
- Define canonical values. One value per meaning, per property group. This is a business decision, not a technical one.
- Map the variants onto it. Every spelling a supplier uses points to your canonical value.
- Apply the mapping on import. This is the step that's usually skipped — and the reason cleanups don't last.
- Check completeness before publishing. A property group that's empty for half your assortment makes a filter that hides products.
Steps 1 and 2 are a one-off. Step 3 is what determines whether the mess returns with the next supplier update.
Where a PIM takes over
Normalization on import is exactly what a PIM does: incoming supplier values are mapped onto your canonical property values, missing attributes are filled with AI enrichment and reviewed, and only clean, complete data is handed on to Shopware. The shop stops being the place where inconsistent data gets stored — and becomes the place where consistent data gets sold.