Field reference
Required and optional feed fields across seven ad channels — Meta, Google, Snap, Pinterest, TikTok, Axon, Reddit.
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.
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.
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.
| Field | Meta | Google | Snap | Pin | TikTok | Axon | Reddit |
|---|---|---|---|---|---|---|---|
| id | R | R | R | R | R | R | R |
| title | R | R | R | R | R | R | R |
| description | R | R | R | R | R | R | R |
| link | R | R | R | R | R | R | R |
| image_link | R | R | R | R | R | R | R |
| price | R | R | R | R | R | R | R |
| availability | R | R | R | R | R | R | R |
| condition | R | R | R | — | R | — | — |
| brand | R | C | R | C | R | — | — |
| gtin / mpn | — | C | — | C | — | — | — |
| item_group_id | C | C | C | C | C | C | C |
| currency | R | R | R | R | R | R | R |
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.
19.99 without a currency code fails Google ingestion, so it does not count as present.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.
| Field | Meta | Google | Snap | Pin | TikTok | Axon | Reddit |
|---|---|---|---|---|---|---|---|
| Categorization & taxonomy | |||||||
| google_product_category | H | H | H | H | H | — | H |
| product_type | H | H | S | S | S | — | S |
| Variants & merchandising | |||||||
| item_group_id | H | H | H | H | H | H | H |
| color | H | H | S | S | S | S | S |
| size / size_system | H | H | S | S | S | S | S |
| gender | H | H | S | S | S | — | S |
| age_group | H | H | S | S | S | — | S |
| material / pattern | S | S | S | S | S | — | S |
| Pricing & promotion | |||||||
| sale_price | H | H | H | H | H | H | H |
| sale_price_effective_date | H | H | S | H | H | H | S |
| cost_of_goods_sold | — | H | — | — | — | — | — |
| Media & creative | |||||||
| additional_image_link | H | H | H | H | H | S | H |
| lifestyle_image_link | S | H | — | — | — | — | — |
| video_link | S | S | S | S | H | — | — |
| Identifiers | |||||||
| gtin | S | H | S | H | S | — | S |
| mpn | S | H | S | S | S | — | S |
| Campaign segmentation | |||||||
| custom_label_0–4 | H | H | S | H | H | — | S |
| product_highlight | — | H | — | — | — | — | — |
| short_title | — | H | — | — | — | — | — |
| Shipping & inventory | |||||||
| shipping | S | H | S | S | S | — | S |
| inventory / quantity | S | S | S | S | H | — | S |
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_pricewithout 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
- 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_titlefor compact surfaces, and accurateshippingdata, which Google rewards heavily.
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.
rich_text_description — HTML-formatted description for Shops surfaces. Also quantity_to_sell_on_facebook for Checkout.
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.