Knowledge Base
Deviking Product feeds Pro

Standardizing Product Attribute Values for Any Feed

WooCommerce product attribute values do not always match the terminology or format required by marketplaces, advertising platforms, distributors, or other systems receiving your product feed.

For example, your store may use:

 
Small
Medium
Large
Extra Large
 

while the destination expects:

 
S
M
L
XL
 

Or your store may use:

 
Men
Women
Boys
Girls
Unisex
 

while the destination expects:

 
male
female
male
female
unisex
 

Deviking Product Feeds Pro provides two ways to standardize these values without changing the original WooCommerce product data:

  • Value Map for direct value-to-value conversions
  • Dynamic Attributes for conditional or reusable logic

The same techniques can be used for Size, Gender, Color, Material, Brand-related values, custom product attributes, and other feed fields.


Method 1: Use Value Map for Direct Conversions

When one input value simply needs to become another value, Value Map is usually the simplest solution.

For example:

 
Small → S
Medium → M
Large → L
Extra Large → XL
Extra Small → XS
 

Open:

Deviking Feeds → Feeds

Edit the required feed and go to Mapping.

Create or edit the appropriate mapping row.

For example:

 
Output Field:
size

Source:
Size

Transform:
Value Map
 

Then configure the Value Map:

 
Small=>S;
Medium=>M;
Large=>L;
Extra Large=>XL;
Extra Small=>XS
 

The generated feed will now contain the standardized values.


Example: Standardizing Size Values

Suppose your WooCommerce Size attribute contains:

 
Small
Medium
Large
Extra Large
Extra Small
 

The feed destination requires:

 
S
M
L
XL
XS
 

Configure:

 
Output Field:
size

Source:
Size

Transform:
Value Map
 

Value Map:

 
Small=>S;
Medium=>M;
Large=>L;
Extra Large=>XL;
Extra Small=>XS
 

The conversion becomes:

WooCommerce ValueFeed Value
SmallS
MediumM
LargeL
Extra LargeXL
Extra SmallXS

XML Example

WooCommerce may store:

 
Extra Large
 

while the generated XML contains:

 
<product>
    <sku>TS-BLK-XL</sku>
    <size>XL</size>
</product>
 

The original WooCommerce attribute remains unchanged.


CSV Example

The same configuration works in CSV:

 
sku,title,size
TS-BLK-S,"Black T-Shirt",S
TS-BLK-M,"Black T-Shirt",M
TS-BLK-L,"Black T-Shirt",L
TS-BLK-XL,"Black T-Shirt",XL
 

Example: Standardizing Gender Values

The same approach can be used for a Gender attribute.

Suppose WooCommerce contains:

 
Men
Women
Boys
Girls
Unisex
 

while the destination requires:

 
male
female
unisex
 

Configure:

 
Output Field:
gender

Source:
Gender

Transform:
Value Map
 

Value Map:

 
Men=>male;
Boys=>male;
Women=>female;
Girls=>female;
Unisex=>unisex
 

The resulting conversion is:

WooCommerce ValueFeed Value
Menmale
Boysmale
Womenfemale
Girlsfemale
Unisexunisex

This works with any feed destination that requires these standardized values.


Example: Standardizing Colors

Your WooCommerce catalog may contain detailed color names such as:

 
Light Blue
Dark Blue
Jet Black
Snow White
 

while the destination requires more general values:

 
Blue
Blue
Black
White
 

Use:

 
Output Field:
color

Source:
Color

Transform:
Value Map
 

with:

 
Light Blue=>Blue;
Dark Blue=>Blue;
Jet Black=>Black;
Snow White=>White
 

The generated feed will contain the simplified color terminology.


Example: Standardizing Material Values

Value Map can also normalize material descriptions.

For example:

 
100% Cotton=>Cotton;
Pure Cotton=>Cotton;
Genuine Leather=>Leather;
Stainless Steel 304=>Stainless Steel
 

A product stored as:

 
100% Cotton
 

can therefore be exported as:

 
Cotton
 

without modifying the WooCommerce product.


Using Product Attributes as Sources

The available product attribute sources are generated dynamically from your WooCommerce catalog.

Depending on your store, the Source selector may contain attributes such as:

 
Size
Color
Material
Brand
Gender
 

as well as other global or supported custom WooCommerce product attributes.

Select the attribute that contains the value you want to export.


Multi-Valued Attributes

A non-variation WooCommerce product can have more than one value assigned to the same attribute.

For example:

 
Color:
Red
Blue
Green
 

Deviking Product Feeds lets you control how these multi-valued attributes are handled.

Available behavior includes:

 
Leave empty
 

or:

 
Show all values
 

When Show all values is enabled, you can define the exact separator.

For example:

 
Values separator:
 | 
 

can produce:

 
Red | Blue | Green
 

The spaces and characters in the separator are preserved.


Attributes on Variations

Variation attributes are handled differently from multi-valued parent product attributes.

Consider:

 
T-Shirt
├── Black / Small
├── Black / Medium
└── White / Large
 

When each variation is exported as a separate feed record, its selected variation value is used automatically when available.

For example:

 
Black / Small
Size = Small
 

can pass through the Value Map:

 
Small=>S
 

and generate:

 
S
 

while:

 
White / Large
Size = Large
 

generates:

 
L
 

This makes the same mapping suitable for all variations of the product.


Method 2: Use Dynamic Attributes for Conditional Values

Value Map is ideal for direct conversions.

However, sometimes the value you need to export depends on additional conditions.

In that case, use a Dynamic Attribute.

Go to:

Deviking Feeds → Dynamic Attributes

and click:

Add Dynamic Attribute

Enter a name such as:

 
Normalized Size
 

or:

 
Feed Gender
 

A Dynamic Attribute can contain multiple IF / ELSE rules and can later be selected as a source in feed Mapping.


Example: Size with Dynamic Attributes

Create:

 
Dynamic Attribute:
Normalized Size
 

Then add rules:

 
Rule 1

IF
Size = Small

RESULT
Static value: S
 
 
Rule 2

IF
Size = Medium

RESULT
Static value: M
 
 
Rule 3

IF
Size = Large

RESULT
Static value: L
 
 
Rule 4

IF
Size = Extra Large

RESULT
Static value: XL
 

Then configure the default result.

For example:

 
ELSE

Source field:
Size
 

The result becomes:

 
Small       → S
Medium      → M
Large       → L
Extra Large → XL
42          → 42
43          → 43
 

Known values are standardized while unmatched values keep their original attribute value.


Example: Gender with Dynamic Attributes

You could also create:

 
Dynamic Attribute:
Normalized Gender
 

with:

 
Rule 1

IF
Gender = Men

RESULT
Static value: male
 
 
Rule 2

IF
Gender = Boys

RESULT
Static value: male
 
 
Rule 3

IF
Gender = Women

RESULT
Static value: female
 
 
Rule 4

IF
Gender = Girls

RESULT
Static value: female
 

and:

 
ELSE

Static value:
unisex
 

The Dynamic Attribute can then be mapped to:

 
Output Field:
gender

Source:
Normalized Gender
 

Dynamic Attribute Default Results

When no Dynamic Attribute rule matches, the ELSE / Default Result can:

 
Return empty value
 

or:

 
Return a Static value
 

or:

 
Return a Source field
 

For attribute normalization, returning the original source field is particularly useful when only selected values need to be converted.

For example:

 
Small → S
Medium → M
Large → L

ELSE
→ Original Size value
 

This prevents unknown values from being discarded unnecessarily.


Static Value vs Source Field

A Dynamic Attribute rule can return two types of values.

Static Value

Returns the configured text whenever the rule matches.

Example:

 
IF Size = Extra Large
→ XL
 

Source Field

Returns another value from the current product.

For example:

 
IF Size Is not empty
→ Source field: Size
 

The returned value therefore depends on the current product or variation.


Multiple Conditions

Dynamic Attribute rules can contain several conditions.

Conditions inside a group can use:

 
AND
 

or:

 
OR
 

For example, a value could depend on both an attribute and another product field.

The first enabled rule whose conditions match returns its result.

Later rules are not evaluated after a match.

Because of this, more specific rules should normally appear before more general ones.


Rule Order

Suppose you configure:

 
Rule 1
Size = Extra Large
→ XL

Rule 2
Size Is not empty
→ Source field: Size
 

A product with:

 
Size = Extra Large
 

matches Rule 1 first and returns:

 
XL
 

It never reaches Rule 2.

This makes rule order important whenever conditions overlap.


Reuse Dynamic Attributes Across Feeds

Dynamic Attributes are reusable sources.

For example, once you create:

 
Normalized Size
 

you can use it in several feeds:

 
Marketplace XML
Advertising CSV
Distributor Feed
Custom Product Export
 

The conversion logic is maintained in one place instead of being recreated in every feed.


Value Map or Dynamic Attribute?

For a simple conversion such as:

 
Small → S
Medium → M
Large → L
 

use:

Value Map

It is shorter and easier to configure.

For logic such as:

 
IF one or more conditions match
→ return one value

ELSE
→ return another source or value
 

use:

Dynamic Attributes

A practical rule is:

 
Direct value conversion
→ Value Map

Conditional reusable logic
→ Dynamic Attribute
 

Using the Result in Mapping

Once the value is configured, map it to whatever field name the receiving system expects.

For example:

 
Output Field:
size

Source:
Normalized Size
 

or:

 
Output Field:
gender

Source:
Normalized Gender
 

The output field is not tied to any particular marketplace.

You can use the naming and structure required by the destination receiving the feed.


Mapping Resolution

When a normal Mapping row is generated, Deviking Product Feeds processes the value in this order:

 
Source
→ Fallback Source if the primary value is empty
→ Transform
→ Prefix / Suffix
 

This means a Value Map is applied to the resolved Mapping source before any configured Prefix or Suffix is added.


Preview the Converted Values

After configuring your attribute conversion:

  1. Save the Dynamic Attribute if you created one.
  2. Open the required feed.
  3. Configure the appropriate Mapping source.
  4. Save the feed.
  5. Run Preview.
  6. Check several different attribute values.
  7. Check variations if they are exported.
  8. Check values that are not included in your conversion rules.
  9. Run Validate Feed.
  10. Use Save & Generate when the result is correct.

Recommended Approach

For straightforward attribute normalization:

 
Source:
Size

Transform:
Value Map
 

with:

 
Small=>S;
Medium=>M;
Large=>L;
Extra Large=>XL
 

For conditional or reusable logic:

 
Dynamic Attribute:
Normalized Size
 

with:

 
IF Size = Small
→ S

IF Size = Medium
→ M

IF Size = Large
→ L

IF Size = Extra Large
→ XL

ELSE
→ Source field: Size
 

The same workflow can be used for Size, Gender, Color, Material and other WooCommerce attributes, allowing every feed to use the terminology required by its destination without changing the original WooCommerce catalog.