Fitment data
Metafields & specs
Per-product specs for facets and spec matching.
Metafields do two jobs in WySync. They power filters on the collection page for every category, and — for wheels and tires with the Fitment Data add-on — they are what spec matching judges.
Mapping your metafields#
Every store spells its metafields differently, so the app asks you once. Under Search & filters → Filters, each mapping declares:
- Namespace and key
- e.g.
custom.wheel_diameter - Display name
- what the shopper sees
- Type
- decimal, integer, single-value text, multi-value text, or boolean
- Role
- filter only, or filter plus spec matching
Types matter because they decide the index field and the filter control:
| Type | Index prefix | Filter control | Example |
|---|---|---|---|
| Decimal | spec_num_ | Range slider | spec_num_wheel_diameter |
| Integer | spec_int_ | Range slider | spec_int_offset |
| Text, single value | spec_str_ | Dropdown or radio | spec_str_finish |
| Text, multi value | spec_strs_ | Checkboxes | spec_strs_bolt_pattern |
| Boolean | spec_bool_ | Toggle | spec_bool_run_flat |
Examples across categories#
Types matter more than names. A few real mappings:
| Category | Metafield | Type | Becomes |
|---|---|---|---|
| Suspension | custom.lift_height | Decimal | spec_num_lift_height, range slider |
| Brakes | custom.rotor_diameter | Decimal | spec_num_rotor_diameter, range |
| Brakes | custom.pad_compound | Text, single | spec_str_pad_compound, dropdown |
| Lighting | custom.beam_pattern | Text, multi | spec_strs_beam_pattern, checkboxes |
| Towing | custom.hitch_class | Text, single | spec_str_hitch_class, dropdown |
| Wipers | custom.blade_length | Integer | spec_int_blade_length, range |
| Exhaust | custom.cat_back | Boolean | spec_bool_cat_back, toggle |
The well-known wheel and tire keys#
Wheels and tires get a shortcut because the add-on needs to read them. If your metafields use these custom.* keys, the indexer recognises them with no mapping at all:
custom.wheel_diameter custom.wheel_width
custom.wheel_offset custom.wheel_bolt_pattern
custom.wheel_hub_bore custom.tire_size
custom.load_index custom.speed_rating
Everything else — every category above — works fine; it just needs the mapping step. The full list lives in data formats.
Units and formatting#
For wheel and tire values specifically, the indexer canonicalises on the way in:
- Bolt patterns —
5x114.3,5×114.3mm,5-114.3and5x4.5"all become one canonical value. Imperial equivalences are physics, so they ship in code rather than as your configuration. - Diameter and width — inches, decimal.
20,20.0and20"are the same. - Offset — millimetres, signed integer.
+18,18and18mmare the same;-12stays negative. - Hub bore — millimetres, decimal.
Values the indexer cannot parse are reported per product under Indexing rather than silently dropped, so a supplier's 20 X 9 shows up as a fixable error instead of a missing filter.
Filters hide themselves#
If no product in the current result set has a value for a mapped field, that filter disappears from the sidebar for that query. Browsing tires does not show a Bolt Pattern filter with zero options.
Specs describe the product. Fitment needs something that also describes the vehicle. For most categories, that means metafields give you excellent filters and your mappings give you verdicts. Wheels and tires are the exception: with the add-on, our vehicle data supplies the other half and the specs alone produce a verdict.
Support is answered by the people who wrote this code — not a ticket queue.