Field Mapping (Overview)
The single most-edited area of the connector. This page is the orientation; each sub-tab has its own detail page.
Where it lives
WordPress admin → UnoPim Configuration → Field Mapping.
Three sub-tabs:
| Sub-tab | What it maps |
|---|---|
| Core Fields (default) | The standard WooCommerce product fields (SKU, name, price, stock, description, status) ↔ UnoPim system attributes |
| Attributes | Your custom WooCommerce attributes ↔ UnoPim attributes (per channel and language) |
| Categories | Your WooCommerce categories ↔ UnoPim categories |
Available to administrators and shop managers.
What "mapping" means
A mapping is a pair: this WooCommerce field equals that UnoPim attribute.
| Direction | What the mapping does |
|---|---|
| Pull (UnoPim → WooCommerce) | Read this UnoPim attribute, write into this WooCommerce field |
| Push (WooCommerce → UnoPim) | Read this WooCommerce field, send into this UnoPim attribute |
The same mapping is used both ways. You don't configure pull vs. push separately for an individual mapping — that's controlled at the channel level.
Three kinds, three scopes
| Kind | Scope |
|---|---|
| Core Fields | Universal — applies to all channels and languages |
| Attributes | Per channel and language |
| Categories | Per channel |
Why the difference?
- Core fields like SKU and price are the same across channels. There's no
webSKU vsmobileSKU. - Attributes can vary. The same
colorUnoPim attribute might map topa_coloronwebbut to a plain text field onmobile(or be omitted entirely on a sub-channel). - Categories vary by channel — different channels often expose different category trees.
Auto-map
Available on the Core Fields and Attributes tabs.
The connector matches WooCommerce field codes against UnoPim attribute codes and labels:
- Exact match (
sku↔sku) - Lower-case match (
SKU↔sku) - Label match (
Product Description↔description)
Auto-map is non-destructive — it only fills empty rows and never overwrites your existing choices.
Presets
Available on the Attributes tab.
A preset is a saved snapshot of the current channel + language mapping, stored under a name. Useful for:
- Reusing the same mapping across channels (
web,mobile,b2b) - Rolling back after a risky bulk edit (save before, load if it goes sideways)
See Attribute Mapping → Presets.
Custom columns
Available on the Attributes tab.
By default, the source-side picker shows your WooCommerce built-in fields, your pa_* taxonomies, and any custom field that already has a value somewhere on your store.
If you have a custom field that's brand-new (no values stored yet), expose it via + Add custom column and type the field key. It then appears in the picker like any built-in field.
Live search
Every dropdown in the mapping tabs is a live, type-as-you-search picker. It paginates, debounces and stays responsive even with tens of thousands of attributes — just type a few characters to filter.
Save, clear, refresh
Common actions on every sub-tab:
| Button | What it does |
|---|---|
| Save mapping | Saves your current changes for the current scope |
| Clear mapping | Drops the current scope's mapping (with a confirm) |
| Refresh targets | Re-fetches the UnoPim attribute list |
Click Refresh targets after editing UnoPim attributes (renaming them, adding new ones) — the connector caches the list to avoid hammering UnoPim, so changes there don't appear in the dropdowns until you refresh.
How the connector uses your mappings
On pull (UnoPim → WooCommerce)
For each incoming UnoPim product:
- Work out the channel and language to use.
- Load the matching attribute mapping.
- For each UnoPim attribute on the product, find the matching WooCommerce field. Transform the value if needed (e.g. select term, taxonomy term, plain text, image).
- Write into WooCommerce.
On push (WooCommerce → UnoPim)
For each WooCommerce product save:
- Work out the active channel and language.
- Load the same mapping.
- For each WooCommerce field with a value, find the matching UnoPim attribute. Validate against the family schema.
- Build the payload and send it to UnoPim.
The full push pipeline is documented in Push.
The connector also exposes hooks for developers who need to extend it.
