Product catalog

Field reference

Required and optional feed fields across seven ad channels — Meta, Google, Snap, Pinterest, TikTok, Axon, Reddit.

Purpose

A working reference for which product feed fields each ad channel requires, which optional fields drive performance, and where the requirements overlap. Built to inform the Marpipe Feed Auditor's scoring model and to serve as a general guide for catalog setup conversations with customers.

How to read the matrices

Each channel is scored per field. Required fields use R (required) and C (conditional — required only in certain situations such as variant products or branded goods). Optional fields use H (highly recommended — materially affects performance) and S (supported — accepted but lower leverage). means the field is not used by that channel.

Note: channel specifications change frequently. Reflects published specs as of May 2026.

Section 1

Required fields

These are the fields a channel needs to ingest a product at all. A feed missing required fields will have items rejected or silently dropped. The seven fields at the top of the matrix are required by every channel — they form the universal core.

RRequired
CConditional
Not required
Field
Meta
Google
Snap
Pin
TikTok
Axon
Reddit
idRRRRRRR
titleRRRRRRR
descriptionRRRRRRR
linkRRRRRRR
image_linkRRRRRRR
priceRRRRRRR
availabilityRRRRRRR
conditionRRRR
brandRCRCR
gtin / mpnCC
item_group_idCCCCCCC
currencyRRRRRRR

The universal core

Every channel requires the same seven fields at minimum: id, title, description, link, image_link, price (with currency), and availability. A feed that cleanly satisfies these seven can pass base ingestion on all seven platforms. This is why the Google Shopping spec has become the de facto standard — Pinterest, TikTok, Snap, and Reddit all mirror it, and Axon's feed is a slim variant of the same shape.

Conditional fields explained

  • condition — required by Meta, Google, Snap, and TikTok. Optional for Pinterest, Axon, Reddit. Values: new, refurbished, used.
  • brand — required by Meta and TikTok. Conditional for Google and Pinterest (required for most products that have a real brand; exempt for handmade or generic goods).
  • gtin / mpn — conditional for Google and Pinterest. Required for products with a manufacturer barcode; exempt for custom, handmade, vintage, or one-off goods. When present, Google strongly prefers a valid GTIN over an MPN.
  • item_group_id — conditional everywhere. Required the moment a product has variants (size, color, etc). Without it, channels treat each variant as a separate unrelated product.
Marpipe noteThe Marpipe Feed Auditor scores required coverage as the percentage of SKUs with a non-null, format-valid value. Format validity matters — a price of 19.99 without a currency code fails Google ingestion, so it does not count as present.
Section 2

Optional & recommended fields

Required fields only get a product ingested. Optional fields are what drive performance — better matching, richer ad rendering, sale annotations, and campaign segmentation. The matrix below marks each field as highly recommended or merely supported, per channel.

HHighly recommended
SSupported
Not used
Field
Meta
Google
Snap
Pin
TikTok
Axon
Reddit
Categorization & taxonomy
google_product_categoryHHHHHH
product_typeHHSSSS
Variants & merchandising
item_group_idHHHHHHH
colorHHSSSSS
size / size_systemHHSSSSS
genderHHSSSS
age_groupHHSSSS
material / patternSSSSSS
Pricing & promotion
sale_priceHHHHHHH
sale_price_effective_dateHHSHHHS
cost_of_goods_soldH
Media & creative
additional_image_linkHHHHHSH
lifestyle_image_linkSH
video_linkSSSSH
Identifiers
gtinSHSHSS
mpnSHSSSS
Campaign segmentation
custom_label_0–4HHSHHS
product_highlightH
short_titleH
Shipping & inventory
shippingSHSSSS
inventory / quantitySSSSHS

High-leverage everywhere

  • item_group_id — the single most important optional field. Tells every platform that variants belong to one product. Without it: no variant pickers, broken retargeting, and ad rotation that cannibalizes itself. Treat as required the moment a catalog has variants.
  • additional_image_link — universally high-impact. Drives richer ad rendering — lifestyle shots, alternate angles, scale shots. On TikTok this is also where vertical 9:16 imagery goes.
  • sale_price + sale_price_effective_date — the pair that unlocks the “was $X, now $Y” treatment on Google, Meta, Pinterest, and TikTok. A sale_price without effective dates is often ignored or causes disapprovals.
  • custom_label_0–4 — the campaign-segmentation backbone. Originated by Google, adopted by Meta, Pinterest, and TikTok. Standard plays: margin tier, seasonality, bestseller status, price band, promo flag. Never shown to users — purely for campaign structure.
  • color, size, gender, age_group — required-when-applicable on Google and Meta for apparel and regulated categories; recommended elsewhere. Apparel feeds without these cannot match category-level audiences.

Channel-specific high-leverage fields

Google
  • product_highlight — 4–6 benefit bullets shown under the description in free listings. Strong signal, widely underused.
  • cost_of_goods_sold — feeds profit-based bidding for tROAS / Performance Max campaigns.
  • lifestyle_image_link — required for Performance Max creative quality. Also: short_title for compact surfaces, and accurate shipping data, which Google rewards heavily.
TikTok

video_link — the big one. Products with video see materially higher engagement on catalog ads. Optional on paper, effectively required to make the channel perform. MP4, ideally 9:16, under 60 seconds.

Meta

rich_text_description — HTML-formatted description for Shops surfaces. Also quantity_to_sell_on_facebook for Checkout.

Pinterest

Pinterest weights gtin and brand much more heavily than other channels — its search algorithm uses them for product-to-query matching. Both are worth treating as high-leverage even though they are technically optional.