Skip to content
vviinn DocsDocs Beta

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.

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.

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).

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.
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.
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 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).
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.
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.

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.
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.
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.
Column Type Class Notes
custom_label_0 – custom_label_4 Category value Predictable Your own labels, for campaign targeting and filtering.
Column Type Class Notes
product_length, product_width, product_height, product_weight Text Editable Free-form; include units (e.g. 12cm).

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.

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.

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.