Attribute Mapping
Attribute mapping translates raw supplier column names into your canonical attribute schema. You define this once per supplier (or once globally), and every future import applies the same mapping automatically.
The canonical attribute schema
Section titled “The canonical attribute schema”Your catalogue attributes are the attributes that matter to your business — delivery time, weight, colour, material, warranty period, etc. You define them once:
- Go to Data Mapping → Attributes → Manage catalogue attributes
- Click Add attribute
- Enter:
- Code: a lowercase slug (e.g.
delivery_days) — immutable after first use - Label: the display name shown in the UI (e.g. “Delivery Days”)
- Type: text, number, boolean, or list
- Code: a lowercase slug (e.g.
The code is what CatalogRelay uses internally and in export field mappings. The label is just for display.
Creating attribute mappings
Section titled “Creating attribute mappings”When a new feed is imported, CatalogRelay extracts all column names from the feed. Go to Data Mapping → Attributes → Supplier mappings to see unmapped columns.
For each raw column you want to use:
- Click Map
- Select the target catalogue attribute (or create a new one)
- Optionally configure a transform (see below)
- Click Save
Global vs. supplier-specific mappings
Section titled “Global vs. supplier-specific mappings”- Global mapping (supplier = none): applies to all suppliers that have a column with that name
- Supplier-specific mapping: applies only to a specific supplier, overriding any global mapping for that column name
If Supplier A and Supplier B both have a column called price but it means different things, create supplier-specific mappings.
Transforms
Section titled “Transforms”Transforms clean or reshape raw values before they’re stored. Available transforms:
| Transform | Description | Config |
|---|---|---|
trim | Remove leading/trailing whitespace | — |
regex_extract | Extract a substring using a regex | { "pattern": "^(\\d+).*", "replacement": "$1" } |
number_format | Parse number from string (removes commas, currency symbols) | — |
prepend | Add a prefix | { "value": "Supplier: " } |
append | Add a suffix | { "value": " days" } |
Example: A supplier sends delivery time as "3-5 Werktage". You want just the number:
- Transform:
regex_extract - Pattern:
^(\d+).* - Replacement:
$1 - Result:
"3"
Reserved fields
Section titled “Reserved fields”Some fields are always mapped automatically and do not appear in the attribute mapping UI:
| Feed column | Stored as |
|---|---|
sku, article_number, id | product_variants.sku |
ean, gtin, barcode | products.gtin (validated) |
price, cost_price | product_variants.price |
stock, quantity | product_variants.stock |
availability | product_variants.availability |
name, title | products.name |
description, long_description | products.description |
brand, manufacturer | linked to brand mapping |
category, categories | linked to category mapping |
image_url, main_image | stored as attribute |
These are recognized by common column names. If your supplier uses a different name (e.g. artikel_nr for SKU), map it to the appropriate reserved field or contact support.
Attribute completeness
Section titled “Attribute completeness”After mapping, CatalogRelay computes an attribute completeness score per product (0–100%). This measures what percentage of your catalogue attributes have a non-null value for that product. You can see this on the Product quality dashboard.
Products with low attribute completeness may be missing data that export destinations expect (e.g. weight for shipping calculations). Use this score to identify which supplier feeds need better attribute coverage.