| id |
Required |
Your unique product or variant identifier. For variable products, use the variant-level ID (Shopify variant ID, WooCommerce variation ID) not the parent product ID. Max 50 characters. Must be stable — changing a product's id creates a new listing and deletes the old one. |
shopify_GB_12345_67890 |
| item_group_id |
Required for variants |
Groups product variants together. All sizes and colours of the same product share this value. Typically the parent product ID. Without this, variants appear as separate products instead of a grouped listing. |
shopify_GB_12345 |
| title |
Required |
Product title — primary Shopping query matching signal. Max 150 chars. Include brand, product name, and key variant attributes (colour, size). First 70 chars visible on mobile before truncation. |
Barbour Beaufort Jacket Men Navy XL |
| description |
Required |
Plain text product description. No HTML. Max 5,000 chars. For ChatGPT, must also be free of non-ASCII characters (curly quotes, em dashes). Google: keyword-rich. ChatGPT: factual and specific. |
Heavyweight waxed cotton jacket. 100% waxed cotton outer. Corduroy collar. Zip-out inner lining... |
| link |
Required |
Product page URL. Must return HTTP 200. Must exactly match the canonical URL on your website. Redirects (301) are followed but flagged. |
https://example.com/products/barbour-beaufort |
| image_link |
Required |
Primary product image URL. HTTPS only. Minimum 100x100px (250x250 for apparel). Recommended 800x800px. No promotional overlays, watermarks, or borders. |
https://cdn.example.com/images/barbour-beaufort-navy.jpg |
| price |
Required |
VAT-inclusive selling price for UK merchants. Format: numeric value + space + GBP. Never use £ symbol. |
279.00 GBP |
| sale_price |
Optional |
Active sale price when lower than regular price. Same format as price. Must match website sale price exactly. |
209.00 GBP |
| availability |
Required |
in_stock / out_of_stock / preorder / backorder. Must match website availability. Most common disapproval cause after price mismatch. |
in_stock |
| brand |
Required (branded) |
Manufacturer or brand name. Required for all branded products. Set identifier_exists: no and omit brand only for genuinely unbranded products. |
Barbour |
| gtin |
Recommended |
EAN-13 barcode (13 digits) for UK products. UPC-A (12 digits) also accepted. ISBN-13 for books. Required for branded products. Use identifier_exists: no for own-brand. |
5055329871234 |
| google_product_category |
Recommended |
Google's product taxonomy ID or text path. Use most specific applicable category. Numeric IDs are preferred (more stable across taxonomy updates). |
5697 |
| product_type |
Recommended |
Your own category hierarchy. Pipe-separated levels. Used for Shopping campaign product group segmentation. |
Mens > Jackets > Waxed Jackets |
| color |
Required (apparel) |
Product colour. Must exactly match colour shown on product page. Each colour variant = separate feed row with unique id sharing item_group_id. |
Navy |
| size |
Required (apparel) |
Product size in UK notation. Include size_type and size_system for best results. |
UK 12 |
| gender |
Required (apparel) |
male / female / unisex |
male |
| age_group |
Required (apparel) |
adult / kids / infant / toddler / newborn |
adult |
| custom_label_0 |
Optional |
Free-format label for Shopping campaign segmentation. Five available (0-4). Set via feed rules in Trajekt. |
high-margin |
| identifier_exists |
Conditional |
Set to 'no' for products with no GTIN, MPN, or brand. Required when these identifiers genuinely don't exist (handmade, custom, vintage). Never use for branded products. |
no |