Product Feed
This page covers exactly what file your feed needs to be and what columns it can contain. Configure feed URLs under Site → Data source in Panel — see Connecting your product catalog for where that lives.
File format
Section titled “File format”A feed file is any delimited text file with a header row — comma-, tab-, or semicolon-separated all work, the delimiter is detected automatically. There’s no dedicated XML format: send a plain delimited file, not a Google Shopping XML feed.
- File extension doesn’t matter. Whether the file is named
.csv,.txt, or something else, it’s read the same way — what matters is the content, not the name.
- The feed URL can point to a plain HTTP(S) file, or (depending on your setup) Google Cloud Storage or FTP.
Feed and import settings
Section titled “Feed and import settings”Configured under Site → Data source:
| Setting | Meaning |
|---|---|
| Sources | One or more feed URLs. Multiple feeds are merged into a single catalog on import. |
| Import time / Schedule daily import | Runs the import automatically once a day at the time you set, on top of manual Start Import runs. |
Each feed source additionally supports (available via the API; ask support@vviinn.com if you need these exposed for your account):
| Field | Meaning |
|---|---|
entity_type |
What the feed contains: products (the default), content entities, or curated list entities. |
product_type_prefix |
Prepended to every product’s category path from this feed — useful for telling apart products from different feeds that reuse the same category names. |
id_prefix |
Prepended to every product id from this feed — useful when combining feeds whose IDs might otherwise collide. |
Import-wide settings: a locale (currently German or U.S. English — this affects text processing, not just currency) and optional caps on how many products and images get imported per run (unset or 0 means no cap).
Product columns
Section titled “Product columns”Every attribute below is one of three classes, which determines whether you can set it via your feed at all:
- Editable — you set it, and it’s never overwritten automatically.
- Predictable — vviinn’s AI can fill it in or suggest a correction if your feed leaves it empty or inconsistent (see Product Data); your feed value is still used when present.
- System — computed automatically; feed values for these columns are ignored.
Identifiers and classification
Section titled “Identifiers and classification”| Column | Type | Class | Notes |
|---|---|---|---|
id |
Identifier | System | Your product identifier. Required — see File format. |
entity_type |
Category value | Editable | Product vs. other entity kinds. |
product_type |
Category path | Predictable | Your own category taxonomy, e.g. Apparel > Shoes. |
google_product_category |
Category path | Predictable | Matched against Google’s product taxonomy. |
Content
Section titled “Content”| Column | Type | Class | Notes |
|---|---|---|---|
title |
Text | Predictable | Product name. |
description |
Text | Predictable | Full product description. |
product_highlight |
Text | Editable | Short marketing highlight shown in results. |
product_detail |
Text | Editable | Additional structured detail. |
brand |
Name | Predictable | Brand name. |
link |
Text | Editable | Canonical product page URL. |
mobile_link |
Text | Editable | Mobile-optimized product page URL. |
Images
Section titled “Images”Images aren’t a separate feed or table — they come from two columns on the product row itself:
| Column | Notes |
|---|---|
image_link |
Main product image URL. |
additional_image_link |
Extra image URLs, comma-separated. Capped by an images-per-product limit (default 5). |
Identifiers and trade data
Section titled “Identifiers and trade data”| Column | Type | Class | Notes |
|---|---|---|---|
gtin |
Identifier | Editable | GTIN / EAN / UPC / ISBN. |
mpn |
Identifier | Editable | Manufacturer part number. |
item_group_id |
Identifier | Editable | Groups product variants — see Item grouping. |
item_group_link |
Text | Editable | Canonical URL of the item group’s page. |
item_group_title |
Text | Editable | Display name of the item group. |
promotion_id |
Category value | Editable | Promotion identifier. |
Availability and condition
Section titled “Availability and condition”| Column | Type | Class | Notes |
|---|---|---|---|
condition |
Category value | Editable | Conventionally new / used / refurbished, following Google Merchant Center’s vocabulary — not strictly enforced, but sticking to it keeps filters and boosting predictable. |
availability |
Category value | Editable | Conventionally in_stock / out_of_stock / preorder, same note as above. |
availability_date |
Category value | Editable | Date a preorder item becomes available. |
adult |
Yes/No | Predictable | Whether the product is adult-only. |
is_bundle |
Yes/No | Editable | Whether the product bundles multiple items. |
multipack |
Number | Editable | Count of identical items in a multipack. |
Yes/No columns accept yes/no or true/false, case-insensitive.
Pricing
Section titled “Pricing”| Column | Type | Class | Notes |
|---|---|---|---|
price |
Number | Editable | Regular price. |
sale_price |
Number | Editable | Discounted price. |
minimum_price / maximum_price |
Number | System | Computed automatically from price and sale_price — don’t send these. |
base_price / sale_base_price |
Number | Editable | Price per base unit (e.g. per 100 g), paired with unit_pricing_measure / unit_pricing_base_measure describing the unit. |
Variant attributes
Section titled “Variant attributes”| Column | Type | Class | Notes |
|---|---|---|---|
color |
Category value | Predictable | Can be AI-predicted from images if left empty — see Product Data. |
size |
Category value | Predictable | e.g. M, 42, XL. |
size_type |
Category value | Predictable | e.g. regular, petite. |
size_system |
Category value | Predictable | e.g. EU, US, UK. |
material |
Category value | Predictable | Primary material. |
pattern |
Category value | Predictable | Pattern or print. |
gender |
Category value | Predictable | Target gender. |
age_group |
Category value | Predictable | Target age group. |
Energy efficiency
Section titled “Energy efficiency”| Column | Type | Class | Notes |
|---|---|---|---|
energy_efficiency |
Structured energy label | Editable | Class plus a min/max range, and label/data-sheet URLs. |
energy_efficiency_class, min_energy_efficiency_class, max_energy_efficiency_class |
Category value | Editable | Legacy single-value equivalents, kept for older integrations — prefer energy_efficiency for new ones. |
Custom labels
Section titled “Custom labels”| Column | Type | Class | Notes |
|---|---|---|---|
custom_label_0 – custom_label_4 |
Category value | Predictable | Your own labels, for campaign targeting and filtering. |
Dimensions
Section titled “Dimensions”| Column | Type | Class | Notes |
|---|---|---|---|
product_length, product_width, product_height, product_weight |
Text | Editable | Free-form; include units (e.g. 12cm). |
System fields
Section titled “System fields”images_last_modified and created_at are set automatically — you don’t need to (and can’t) supply them.
Category paths (product_type, google_product_category)
Section titled “Category paths (product_type, google_product_category)”Give each level of the path separated by > — for example Apparel > Shoes > Sneakers. If a category level itself contains a comma, escape it as %2C. Multiple full paths for one product can be given as a comma-separated list of paths.
Custom fields
Section titled “Custom fields”Beyond the standard columns above, define your own custom fields under Site → Data source → Fields. Once defined, any column in your feed with that exact name is picked up automatically — there’s no separate custom-field feed or format. Each field has one of these types:
| Type | Example values |
|---|---|
| Text | "premium", any free string |
| Yes/No | true / false |
| Category value | "XS", "S", "M", "L" |
| Number | 12.5, 0.9 |
| Category path | A category hierarchy, like product_type |
| Name | Matched flexibly, like brand |
| Identifier | An exact-match code, like gtin |
Custom fields are how signals like margin or a preferred-brand flag — used in Boosting — get into your catalog.
Content length limits
Section titled “Content length limits”Most columns accept generous lengths (several thousand characters for text fields like description), but a handful are capped tighter — id at 50 characters, title at 1,500, brand/mpn at 70, gtin/item_group_id at 50, color/material/pattern at 300, size at 100. A value over its column’s limit is dropped from that import rather than truncated, so keep well within these if you’re unsure.